mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
65d4f1a00e
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. llvm-svn: 245807
28 lines
889 B
Plaintext
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"
|