llvm/test/DebugInfo/dwarfdump-macho-relocs.test
Frederic Riss d2681e8812 [dwarfdump] Do not apply relocations in mach-o files if there is no LoadedObjectInfo.
Not only do we not need to do anything to read correct values from the
object files, but the current logic actually wrongly applies twice the
section base address when there is no LoadedObjectInfo passed to the
DWARFContext creation (as the added test shows).

Simply do not apply any relocations on the mach-o debug info if there is
no load offset to apply.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245807 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-23 04:44:21 +00:00

28 lines
889 B
Plaintext

// RUN: llvm-dwarfdump -debug-dump=info %p/Inputs/dwarfdump-macho-relocs.macho.x86_64.o | FileCheck %s
// The dumped file has 2 functions in different sections of the __TEXT segment.
// Check that the addresses are are dumped correctly
// Compiled with: clang -x c -g -c -o dwarfdump-macho-relocs.macho.x86_64.o dwarfdump-macho-relocs.test
__attribute__((section("__TEXT,__blah")))
int foo() {
return 42;
}
// CHECK: DW_TAG_subprogram
// CHECK-NEXT: DW_AT_low_pc{{.*}}0x0000000000000020
// CHECK-NEXT: DW_AT_high_pc{{.*}}0x000000000000002b
// CHECK-NEXT: DW_AT_frame_base
// CHECK-NEXT: DW_AT_name{{.*}}"foo"
int main() {
return foo();
}
// CHECK: DW_TAG_subprogram
// CHECK-NEXT: DW_AT_low_pc{{.*}}0x0000000000000000
// CHECK-NEXT: DW_AT_high_pc{{.*}}0x000000000000001a
// CHECK-NEXT: DW_AT_frame_base
// CHECK-NEXT: DW_AT_name{{.*}}"main"