1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/tools/dsymutil/basic-linking.test
Jonas Devlieghere 4f0a9f4024 [dsymutil] Improve verbose output (NFC)
The verbose output for finding relocations assumed that we'd always dump
the DIE after (which starts with a newline) and therefore didn't include
one itself. However, this isn't always true, leading to garbled output.

This patch adds a newline to the verbose output and adds a line that
says that the DIE is being kept (which isn't obvious otherwise). It also
adds a 0x prefix to the relocations.

llvm-svn: 374123
2019-10-08 22:03:13 +00:00

178 lines
7.6 KiB
Plaintext

RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 | FileCheck %s
RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHECK-LTO
RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK-ARCHIVE
RUN: dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 %p/Inputs/basic-lto.macho.x86_64 %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-LTO --check-prefix=CHECK-ARCHIVE
This test check the basic Dwarf linking process through the debug dumps.
================================= Simple link ================================
CHECK: DEBUG MAP OBJECT: {{.*}}basic1.macho.x86_64.o
CHECK: Input compilation unit:
CHECK-NEXT: TAG_compile_unit
CHECK-NOT: TAG
CHECK: AT_name {{.*}}basic1.c
CHECK: DEBUG MAP OBJECT: {{.*}}basic2.macho.x86_64.o
CHECK: Input compilation unit:
CHECK-NEXT: TAG_compile_unit
CHECK-NOT: TAG
CHECK: AT_name {{.*}}basic2.c
CHECK: DEBUG MAP OBJECT: {{.*}}basic3.macho.x86_64.o
CHECK: Input compilation unit:
CHECK-NEXT: TAG_compile_unit
CHECK-NOT: TAG
CHECK: AT_name {{.*}}basic3.c
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _main 0x0000000000000000 => 0x0000000100000ea0
CHECK-NEXT: Keeping subprogram DIE:
CHECK-NEXT: DW_TAG_subprogram
CHECK-NEXT: DW_AT_name{{.*}}"main"
CHECK: Found valid debug map entry: _private_int 0x0000000000000560 => 0x0000000100001008
CHECK-NEXT: Keeping variable DIE:
CHECK-NEXT: DW_TAG_variable
CHECK-NEXT: DW_AT_name {{.*}}"private_int"
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _baz 0x0000000000000310 => 0x0000000100001000
CHECK-NEXT: Keeping variable DIE:
CHECK-NEXT: DW_TAG_variable
CHECK-NEXT: DW_AT_name {{.*}}"baz"
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _foo 0x0000000000000020 => 0x0000000100000ed0
CHECK-NEXT: Keeping subprogram DIE:
CHECK-NEXT: DW_TAG_subprogram
CHECK-NEXT: DW_AT_name {{.*}}"foo"
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _inc 0x0000000000000070 => 0x0000000100000f20
CHECK-NEXT: Keeping subprogram DIE:
CHECK-NEXT: DW_TAG_subprogram
CHECK-NEXT: DW_AT_name {{.*}}"inc"
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _val 0xffffffffffffffff => 0x0000000100001004
CHECK-NEXT: Keeping variable DIE:
CHECK-NEXT: DW_TAG_variable
CHECK-NEXT: DW_AT_name {{.*}}"val"
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _bar 0x0000000000000020 => 0x0000000100000f40
CHECK-NEXT: Keeping subprogram DIE:
CHECK-NEXT: DW_TAG_subprogram
CHECK-NEXT: DW_AT_name {{.*}}"bar"
CHECK-NOT: Found valid debug map entry
CHECK: Found valid debug map entry: _inc 0x0000000000000070 => 0x0000000100000f90
CHECK-NEXT: Keeping subprogram DIE:
CHECK-NEXT: DW_TAG_subprogram
CHECK-NEXT: DW_AT_name {{.*}}"inc")
================================= LTO link ================================
CHECK-LTO: DEBUG MAP OBJECT: {{.*}}basic-lto.macho.x86_64.o
CHECK-LTO: Input compilation unit:
CHECK-LTO-NEXT: TAG_compile_unit
CHECK-LTO-NOT: TAG
CHECK-LTO: AT_name {{.*}}basic1.c
CHECK-LTO: Input compilation unit:
CHECK-LTO-NEXT: TAG_compile_unit
CHECK-LTO-NOT: TAG
CHECK-LTO: AT_name {{.*}}basic2.c
CHECK-LTO: Input compilation unit:
CHECK-LTO-NEXT: TAG_compile_unit
CHECK-LTO-NOT: TAG
CHECK-LTO: AT_name {{.*}}basic3.c
CHECK-LTO-NOT: Found valid debug map entry
CHECK-LTO: Found valid debug map entry: _main 0x0000000000000000 => 0x0000000100000f40
CHECK-LTO-NEXT: Keeping subprogram DIE:
CHECK-LTO-NEXT: DW_TAG_subprogram
CHECK-LTO-NEXT: DW_AT_name {{.*}}"main"
CHECK-LTO-NOT: Found valid debug map entry
CHECK-LTO: Found valid debug map entry: _private_int 0x00000000000008e8 => 0x0000000100001008
CHECK-LTO-NEXT: Keeping variable DIE:
CHECK-LTO-NEXT: DW_TAG_variable
CHECK-LTO-NEXT: DW_AT_name {{.*}}"private_int"
CHECK-LTO-NOT: Found valid debug map entry
CHECK-LTO: Found valid debug map entry: _baz 0x0000000000000658 => 0x0000000100001000
CHECK-LTO-NEXT: Keeping variable DIE:
CHECK-LTO-NEXT: DW_TAG_variable
CHECK-LTO-NEXT: DW_AT_name {{.*}} "baz"
CHECK-LTO-NOT: Found valid debug map entry
CHECK-LTO: Found valid debug map entry: _foo 0x0000000000000010 => 0x0000000100000f50
CHECK-LTO-NEXT: Keeping subprogram DIE:
CHECK-LTO-NEXT: DW_TAG_subprogram
CHECK-LTO-NEXT: DW_AT_name {{.*}}"foo"
CHECK-LTO-NOT: Found valid debug map entry
CHECK-LTO: Found valid debug map entry: _val 0x00000000000008ec => 0x0000000100001004
CHECK-LTO-NEXT: Keeping variable DIE:
CHECK-LTO-NEXT: DW_TAG_variable
CHECK-LTO-NEXT: DW_AT_name {{.*}}"val"
CHECK-LTO-NOT: Found valid debug map entry
CHECK-LTO: Found valid debug map entry: _bar 0x0000000000000050 => 0x0000000100000f90
CHECK-LTO-NEXT: Keeping subprogram DIE:
CHECK-LTO-NEXT: DW_TAG_subprogram
CHECK-LTO-NEXT: DW_AT_name {{.*}}"bar"
================================= Archive link ================================
CHECK-ARCHIVE: DEBUG MAP OBJECT: {{.*}}basic1.macho.x86_64.o
CHECK-ARCHIVE: Input compilation unit:
CHECK-ARCHIVE-NEXT: TAG_compile_unit
CHECK-ARCHIVE-NOT: TAG
CHECK-ARCHIVE: AT_name {{.*}}basic1.c
CHECK-ARCHIVE: DEBUG MAP OBJECT: {{.*}}libbasic.a(basic2.macho.x86_64.o)
CHECK-ARCHIVE: Input compilation unit:
CHECK-ARCHIVE-NEXT: TAG_compile_unit
CHECK-ARCHIVE-NOT: TAG
CHECK-ARCHIVE: AT_name {{.*}}basic2.c
CHECK-ARCHIVE: DEBUG MAP OBJECT: {{.*}}libbasic.a(basic3.macho.x86_64.o)
CHECK-ARCHIVE: Input compilation unit:
CHECK-ARCHIVE-NEXT: TAG_compile_unit
CHECK-ARCHIVE-NOT: TAG
CHECK-ARCHIVE: AT_name {{.*}}basic3.c
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _main 0x0000000000000000 => 0x0000000100000ea0
CHECK-ARCHIVE-NEXT: Keeping subprogram DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_subprogram
CHECK-ARCHIVE-NEXT: DW_AT_name{{.*}}"main"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _private_int 0x0000000000000560 => 0x0000000100001004
CHECK-ARCHIVE-NEXT: Keeping variable DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_variable
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"private_int"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _baz 0x0000000000000310 => 0x0000000100001000
CHECK-ARCHIVE-NEXT: Keeping variable DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_variable
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"baz"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _foo 0x0000000000000020 => 0x0000000100000ed0
CHECK-ARCHIVE-NEXT: Keeping subprogram DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_subprogram
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"foo"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _inc 0x0000000000000070 => 0x0000000100000f20
CHECK-ARCHIVE-NEXT: Keeping subprogram DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_subprogram
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"inc"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _val 0xffffffffffffffff => 0x0000000100001008
CHECK-ARCHIVE-NEXT: Keeping variable DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_variable
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"val"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _bar 0x0000000000000020 => 0x0000000100000f40
CHECK-ARCHIVE-NEXT: Keeping subprogram DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_subprogram
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"bar"
CHECK-ARCHIVE-NOT: Found valid debug map entry
CHECK-ARCHIVE: Found valid debug map entry: _inc 0x0000000000000070 => 0x0000000100000f90
CHECK-ARCHIVE-NEXT: Keeping subprogram DIE:
CHECK-ARCHIVE-NEXT: DW_TAG_subprogram
CHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"inc")