xref: /llvm-project/llvm/test/tools/llvm-objcopy/COFF/weak-external.test (revision 55c81d4282c5da0189711261a11537bc8a7fe85c)
1*55c81d42SFangrui Song# RUN: yaml2obj %s -o %t.in.o
29ec18a37SMartin Storsjo
39ec18a37SMartin Storsjo# RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
49ec18a37SMartin Storsjo
59ec18a37SMartin Storsjo# RUN: llvm-objcopy -N func %t.in.o %t.out.o
69ec18a37SMartin Storsjo# RUN: llvm-objdump -t %t.out.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-POST
79ec18a37SMartin Storsjo
89ec18a37SMartin Storsjo# RUN: not llvm-objcopy -N .weak.foobar.file1 %t.in.o %t.err.o 2>&1 | FileCheck %s --check-prefix=ERROR
99ec18a37SMartin Storsjo
109ec18a37SMartin Storsjo# SYMBOLS: SYMBOL TABLE:
119ec18a37SMartin Storsjo# SYMBOLS-PRE-NEXT: func
129ec18a37SMartin Storsjo# SYMBOLS-NEXT: .weak.foobar.file1
139ec18a37SMartin Storsjo# SYMBOLS-NEXT: foobar
149ec18a37SMartin Storsjo# SYMBOLS-PRE-NEXT: AUX indx 1
159ec18a37SMartin Storsjo# SYMBOLS-POST-NEXT: AUX indx 0
169ec18a37SMartin Storsjo# SYMBOLS-EMPTY:
179ec18a37SMartin Storsjo
185316a0d2SJames Henderson# ERROR: symbol 'foobar' is missing its weak target
199ec18a37SMartin Storsjo
209ec18a37SMartin Storsjo--- !COFF
219ec18a37SMartin Storsjoheader:
229ec18a37SMartin Storsjo  Machine:         IMAGE_FILE_MACHINE_AMD64
239ec18a37SMartin Storsjo  Characteristics: [  ]
249ec18a37SMartin Storsjosections:
259ec18a37SMartin Storsjo  - Name:            .text
269ec18a37SMartin Storsjo    Characteristics: [  ]
279ec18a37SMartin Storsjosymbols:
289ec18a37SMartin Storsjo  - Name:            func
299ec18a37SMartin Storsjo    Value:           0
309ec18a37SMartin Storsjo    SectionNumber:   1
319ec18a37SMartin Storsjo    SimpleType:      IMAGE_SYM_TYPE_NULL
329ec18a37SMartin Storsjo    ComplexType:     IMAGE_SYM_DTYPE_NULL
339ec18a37SMartin Storsjo    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
349ec18a37SMartin Storsjo  - Name:            .weak.foobar.file1
359ec18a37SMartin Storsjo    Value:           1
369ec18a37SMartin Storsjo    SectionNumber:   1
379ec18a37SMartin Storsjo    SimpleType:      IMAGE_SYM_TYPE_NULL
389ec18a37SMartin Storsjo    ComplexType:     IMAGE_SYM_DTYPE_NULL
399ec18a37SMartin Storsjo    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
409ec18a37SMartin Storsjo  - Name:            foobar
419ec18a37SMartin Storsjo    Value:           0
429ec18a37SMartin Storsjo    SectionNumber:   0
439ec18a37SMartin Storsjo    SimpleType:      IMAGE_SYM_TYPE_NULL
449ec18a37SMartin Storsjo    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
459ec18a37SMartin Storsjo    StorageClass:    IMAGE_SYM_CLASS_WEAK_EXTERNAL
469ec18a37SMartin Storsjo    WeakExternal:
479ec18a37SMartin Storsjo      TagIndex:        1
489ec18a37SMartin Storsjo      Characteristics: IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY
499ec18a37SMartin Storsjo...
50