forked from OSchip/llvm-project
parent
53363b53db
commit
a131bdb77e
|
@ -1,35 +1,37 @@
|
|||
# This tests functionality of --start-group, --end-group
|
||||
|
||||
# This link should fail with unresolve symbol
|
||||
RUN: not lld -flavor gnu -target x86_64 %p/Inputs/group/1.o %p/Inputs/group/libfn.a \
|
||||
RUN: %p/Inputs/group/libfn1.a -o x 2> %t.err
|
||||
RUN: not lld -flavor gnu -target x86_64 %p/Inputs/group/1.o \
|
||||
RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a -o x 2> %t.err
|
||||
|
||||
# Test group
|
||||
RUN: lld -flavor gnu -target x86_64 %p/Inputs/group/1.o --start-group \
|
||||
RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a --end-group -o %t1
|
||||
RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a --end-group -o %t1
|
||||
|
||||
# Mix object files in group
|
||||
RUN: lld -flavor gnu -target x86_64 %p/Inputs/group/1.o --start-group \
|
||||
RUN: %p/Inputs/group/fn.o %p/Inputs/group/fn2.o \
|
||||
RUN: %p/Inputs/group/fn1.o --end-group -o %t2
|
||||
RUN: %p/Inputs/group/fn.o %p/Inputs/group/fn2.o \
|
||||
RUN: %p/Inputs/group/fn1.o --end-group -o %t2
|
||||
|
||||
# Mix Whole archive input, the group should not iterate the file libfn.a
|
||||
RUN: lld -flavor gnu -target x86_64 %p/Inputs/group/1.o --start-group \
|
||||
RUN: --whole-archive %p/Inputs/group/libfn.a --no-whole-archive %p/Inputs/group/libfn1.a --end-group -o %t3
|
||||
RUN: --whole-archive %p/Inputs/group/libfn.a --no-whole-archive \
|
||||
RUN: %p/Inputs/group/libfn1.a --end-group -o %t3
|
||||
|
||||
# Test alias options too, as they are more widely used
|
||||
# Test group
|
||||
RUN: lld -flavor gnu -target x86_64 %p/Inputs/group/1.o '-(' \
|
||||
RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a '-)' -o %t1.alias
|
||||
RUN: %p/Inputs/group/libfn.a %p/Inputs/group/libfn1.a '-)' -o %t1.alias
|
||||
|
||||
# Mix object files in group
|
||||
RUN: lld -flavor gnu -target x86_64 %p/Inputs/group/1.o '-(' \
|
||||
RUN: %p/Inputs/group/fn.o %p/Inputs/group/fn2.o \
|
||||
RUN: %p/Inputs/group/fn1.o '-)' -o %t2.alias
|
||||
RUN: %p/Inputs/group/fn.o %p/Inputs/group/fn2.o \
|
||||
RUN: %p/Inputs/group/fn1.o '-)' -o %t2.alias
|
||||
|
||||
# Mix Whole archive input, the group should not iterate the file libfn.a
|
||||
RUN: lld -flavor gnu -target x86_64 %p/Inputs/group/1.o '-(' \
|
||||
RUN: --whole-archive %p/Inputs/group/libfn.a --no-whole-archive %p/Inputs/group/libfn1.a '-)' -o %t3.alias
|
||||
RUN: --whole-archive %p/Inputs/group/libfn.a --no-whole-archive \
|
||||
RUN: %p/Inputs/group/libfn1.a '-)' -o %t3.alias
|
||||
|
||||
RUN: llvm-nm %t1 | FileCheck -check-prefix=RESOLVEDEXTERNAL %s
|
||||
RUN: llvm-nm %t2 | FileCheck -check-prefix=RESOLVEDEXTERNAL %s
|
||||
|
|
Loading…
Reference in New Issue