29 lines · c
1// REQUIRES: system-darwin2// RUN: dsymutil -oso-prepend-path %p/.. -dump-debug-map \3// RUN: %p/../Inputs/global_downgraded_to_static.x86_64 2>&1 | FileCheck %s4//5// RUN: dsymutil --linker parallel -oso-prepend-path %p/.. -dump-debug-map \6// RUN: %p/../Inputs/global_downgraded_to_static.x86_64 2>&1 | FileCheck %s7//8// To build:9// clang -g -c -DFILE1 global_downgraded_to_static.c -o 1.o10// clang -g -c -DFILE2 global_downgraded_to_static.c -o 2.o11// ld -r -exported_symbol _foo 1.o -o 1.r.o12// clang 1.r.o 2.o -o global_downgraded_to_static.x86_6413 14#if defined(FILE1)15int global_to_become_static = 42;16// CHECK: sym: _global_to_become_static,17// CHECK-SAME: binAddr: 0x10000100018int foo() {19 return global_to_become_static;20}21#elif defined(FILE2)22int foo(void);23int main() {24 return foo();25}26#else27#error Define FILE1 or FILE228#endif29