# REQUIRES: x86 # --allow-shlib-undefined and --no-allow-shlib-undefined are fully # ignored in linker implementation. # --allow-shlib-undefined is set by default # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux \ # RUN: %p/Inputs/allow-shlib-undefined.s -o %t # RUN: ld.lld -shared %t -o %t.so # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1 # Executable: should link with DSO containing undefined symbols in any case. # RUN: ld.lld %t1 %t.so -o %t2 # RUN: ld.lld --no-allow-shlib-undefined %t1 %t.so -o %t2 # RUN: ld.lld --allow-shlib-undefined %t1 %t.so -o %t2 # DSO with undefines: # should link with or without any of these options. # RUN: ld.lld -shared %t -o %t.so # RUN: ld.lld -shared --allow-shlib-undefined %t -o %t.so # RUN: ld.lld -shared --no-allow-shlib-undefined %t -o %t.so # Executable still should not link when have undefines inside. # RUN: not ld.lld %t -o %t.so .globl _start _start: callq _shared@PLT