File: sysroot.s

package info (click to toggle)
llvm-toolchain-11 1%3A11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 995,808 kB
  • sloc: cpp: 4,767,656; ansic: 760,916; asm: 477,436; python: 170,940; objc: 69,804; lisp: 29,914; sh: 23,855; f90: 18,173; pascal: 7,551; perl: 7,471; ml: 5,603; awk: 3,489; makefile: 2,573; xml: 915; cs: 573; fortran: 503; javascript: 452
file content (40 lines) | stat: -rw-r--r-- 1,528 bytes parent folder | download | duplicates (21)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// REQUIRES: x86
// RUN: mkdir -p %t/lib
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t/m.o
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux \
// RUN:     %p/Inputs/libsearch-st.s -o %t/st.o
// RUN: rm -f %t/lib/libls.a
// RUN: llvm-ar rcs %t/lib/libls.a %t/st.o

// Should not link because of undefined symbol _bar
// RUN: not ld.lld -o /dev/null %t/m.o 2>&1 \
// RUN:     | FileCheck --check-prefix=UNDEFINED %s
// UNDEFINED: error: undefined symbol: _bar
// UNDEFINED: >>> referenced by {{.*}}:(.text+0x1)

// We need to be sure that there is no suitable library in the /lib directory
// RUN: not ld.lld -o /dev/null %t/m.o -L/lib -l:libls.a 2>&1 \
// RUN:     | FileCheck --check-prefix=NOLIB %s
// NOLIB: unable to find library -l:libls.a

// Should just remove the '=' symbol if --sysroot is not specified.
// Case 1: relative path
// RUN: cd %t && ld.lld -o %t/r %t/m.o -L=lib -l:libls.a
// Case 2: absolute path
// RUN: cd %p && ld.lld -o %t/r %t/m.o -L=%t/lib -l:libls.a

// RUN: cd %p

// Should substitute SysRoot if specified
// RUN: ld.lld -o %t/r %t/m.o --sysroot=%t -L=lib -l:libls.a
// RUN: ld.lld -o %t/r %t/m.o --sysroot=%t -L=/lib -l:libls.a
// Check alias.
// RUN: ld.lld -o %t/r %t/m.o --sysroot %t -L=lib -l:libls.a

// Should not substitute SysRoot if the directory name does not start with '='
// RUN: not ld.lld -o /dev/null %r/m.o --sysroot=%t -Llib -l:libls.a
// RUN: not ld.lld -o /dev/null %r/m.o --sysroot=%t -L/lib -l:libls.a

.globl _start,_bar
_start:
  call _bar