|
12 | 12 | # RUN: %t.o 2>&1 -verbose -error-limit=0 | FileCheck %s --check-prefix=DEFAULT
|
13 | 13 |
|
14 | 14 | ## Check --orphan-handling=error reports errors about orphans.
|
15 |
| -# RUN: not ld.lld -shared --orphan-handling=error -o /dev/null --script %t.script \ |
16 |
| -# RUN: %t.o 2>&1 -verbose -error-limit=0 | FileCheck %s --check-prefix=REPORT |
17 |
| -# REPORT: {{.*}}.o:(.text) is being placed in '.text' |
18 |
| -# REPORT-NEXT: {{.*}}.o:(.text.2) is being placed in '.text' |
19 |
| -# REPORT-NEXT: <internal>:(.comment) is being placed in '.comment' |
20 |
| -# REPORT-NEXT: <internal>:(.bss) is being placed in '.bss' |
21 |
| -# REPORT-NEXT: <internal>:(.bss.rel.ro) is being placed in '.bss.rel.ro' |
22 |
| -# REPORT-NEXT: <internal>:(.dynsym) is being placed in '.dynsym' |
23 |
| -# REPORT-NEXT: <internal>:(.gnu.version) is being placed in '.gnu.version' |
24 |
| -# REPORT-NEXT: <internal>:(.gnu.version_r) is being placed in '.gnu.version_r' |
25 |
| -# REPORT-NEXT: <internal>:(.gnu.hash) is being placed in '.gnu.hash' |
26 |
| -# REPORT-NEXT: <internal>:(.hash) is being placed in '.hash' |
27 |
| -# REPORT-NEXT: <internal>:(.dynamic) is being placed in '.dynamic' |
28 |
| -# REPORT-NEXT: <internal>:(.dynstr) is being placed in '.dynstr' |
29 |
| -# REPORT-NEXT: <internal>:(.rela.dyn) is being placed in '.rela.dyn' |
30 |
| -# REPORT-NEXT: <internal>:(.eh_frame) is being placed in '.eh_frame' |
31 |
| -# REPORT-NEXT: <internal>:(.got) is being placed in '.got' |
32 |
| -# REPORT-NEXT: <internal>:(.got.plt) is being placed in '.got.plt' |
33 |
| -# REPORT-NEXT: <internal>:(.got.plt) is being placed in '.got.plt' |
34 |
| -# REPORT-NEXT: <internal>:(.rela.plt) is being placed in '.rela.plt' |
35 |
| -# REPORT-NEXT: <internal>:(.rela.dyn) is being placed in '.rela.dyn' |
36 |
| -# REPORT-NEXT: <internal>:(.plt) is being placed in '.plt' |
37 |
| -# REPORT-NEXT: <internal>:(.iplt) is being placed in '.iplt' |
38 |
| -# REPORT-NEXT: <internal>:(.symtab) is being placed in '.symtab' |
39 |
| -# REPORT-NEXT: <internal>:(.symtab_shndx) is being placed in '.symtab_shndx' |
40 |
| -# REPORT-NEXT: <internal>:(.shstrtab) is being placed in '.shstrtab' |
41 |
| -# REPORT-NEXT: <internal>:(.strtab) is being placed in '.strtab' |
| 15 | +# RUN: not ld.lld --orphan-handling=error -o /dev/null -T %t.script \ |
| 16 | +# RUN: %t.o 2>&1 | FileCheck %s --check-prefixes=COMMON,SYMTAB |
| 17 | + |
| 18 | +## --strip-all discards .strtab and .symtab sections. Don't error about them. |
| 19 | +# RUN: not ld.lld --orphan-handling=error --strip-all -o /dev/null -T %t.script \ |
| 20 | +# RUN: %t.o 2>&1 | FileCheck %s --check-prefix=COMMON |
| 21 | + |
| 22 | +## -shared enables some .dynsym related sections. |
| 23 | +# RUN: not ld.lld -shared --orphan-handling=error -o /dev/null -T %t.script \ |
| 24 | +# RUN: %t.o 2>&1 | FileCheck %s --check-prefixes=COMMON,DYNSYM,SYMTAB |
| 25 | + |
| 26 | +# COMMON: {{.*}}.o:(.text) is being placed in '.text' |
| 27 | +# COMMON-NEXT: {{.*}}.o:(.text.2) is being placed in '.text' |
| 28 | +# COMMON-NEXT: <internal>:(.comment) is being placed in '.comment' |
| 29 | +# DYNSYM-NEXT: <internal>:(.dynsym) is being placed in '.dynsym' |
| 30 | +# DYNSYM-NEXT: <internal>:(.gnu.hash) is being placed in '.gnu.hash' |
| 31 | +# DYNSYM-NEXT: <internal>:(.hash) is being placed in '.hash' |
| 32 | +# DYNSYM-NEXT: <internal>:(.dynamic) is being placed in '.dynamic' |
| 33 | +# DYNSYM-NEXT: <internal>:(.dynstr) is being placed in '.dynstr' |
| 34 | +# SYMTAB-NEXT: <internal>:(.symtab) is being placed in '.symtab' |
| 35 | +# COMMON-NEXT: <internal>:(.shstrtab) is being placed in '.shstrtab' |
| 36 | +# SYMTAB-NEXT: <internal>:(.strtab) is being placed in '.strtab' |
| 37 | +# COMMON-NOT: <internal> |
42 | 38 |
|
43 | 39 | ## Check --orphan-handling=warn reports warnings about orphans.
|
44 |
| -# RUN: ld.lld -shared --orphan-handling=warn -o %t.out --script %t.script \ |
45 |
| -# RUN: %t.o 2>&1 -verbose | FileCheck %s --check-prefix=REPORT |
| 40 | +# RUN: ld.lld --orphan-handling=warn -o /dev/null -T %t.script \ |
| 41 | +# RUN: %t.o 2>&1 | FileCheck %s --check-prefixes=COMMON,SYMTAB |
46 | 42 |
|
47 | 43 | # RUN: not ld.lld --orphan-handling=foo -o /dev/null --script %t.script %t.o 2>&1 \
|
48 | 44 | # RUN: | FileCheck %s --check-prefix=UNKNOWN
|
|
0 commit comments