diff options
Diffstat (limited to 'test/ELF/weak-undef-export.s')
-rw-r--r-- | test/ELF/weak-undef-export.s | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/ELF/weak-undef-export.s b/test/ELF/weak-undef-export.s new file mode 100644 index 000000000000..164bc1730832 --- /dev/null +++ b/test/ELF/weak-undef-export.s @@ -0,0 +1,31 @@ +# REQUIRES: x86 + +# Test that we don't fail with foo being undefined. + +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o +# RUN: ld.lld --export-dynamic %t.o -o %t +# RUN: llvm-readobj -dyn-symbols %t | FileCheck %s + +# CHECK: DynamicSymbols [ +# CHECK-NEXT: Symbol { +# CHECK-NEXT: Name: @ (0) +# CHECK-NEXT: Value: 0x0 +# CHECK-NEXT: Size: 0 +# CHECK-NEXT: Binding: Local (0x0) +# CHECK-NEXT: Type: None (0x0) +# CHECK-NEXT: Other: 0 +# CHECK-NEXT: Section: Undefined (0x0) +# CHECK-NEXT: } +# CHECK-NEXT: Symbol { +# CHECK-NEXT: Name: foo@ (1) +# CHECK-NEXT: Value: 0x0 +# CHECK-NEXT: Size: 0 +# CHECK-NEXT: Binding: Weak (0x2) +# CHECK-NEXT: Type: None (0x0) +# CHECK-NEXT: Other: 0 +# CHECK-NEXT: Section: Undefined (0x0) +# CHECK-NEXT: } +# CHECK-NEXT: ] + + .weak foo + .quad foo |