# Tests that a reference from a DSO to a regular object # forces the final executable to export the symbol. #RUN: yaml2obj -format=elf %p/Inputs/undef2-so.o.yaml -o=%t.o.so #RUN: lld -flavor old-gnu -target x86_64 -shared %t.o.so -o %T/libundef2.so #RUN: yaml2obj -format=elf %s -o=%t.o #RUN: lld -flavor old-gnu -target x86_64 %t.o -L%T -lundef2 -o %t1 #RUN: llvm-readobj -dyn-symbols %t1 | FileCheck -check-prefix CHECKSYMS %s --- FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] AddressAlign: 0x0000000000000001 Content: C3 - Name: .data Type: SHT_PROGBITS Flags: [ SHF_WRITE, SHF_ALLOC ] AddressAlign: 0x0000000000000001 Content: '' - Name: .bss Type: SHT_NOBITS Flags: [ SHF_WRITE, SHF_ALLOC ] AddressAlign: 0x0000000000000004 Size: 4 Symbols: Local: - Name: .text Type: STT_SECTION Section: .text - Name: .data Type: STT_SECTION Section: .data - Name: .bss Type: STT_SECTION Section: .bss Global: - Name: myexportedsymbol Type: STT_OBJECT Section: .bss Size: 0x0000000000000004 - Name: _start Section: .text Size: 0x0000000000000001 #CHECKSYMS: myexportedsymbol