50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
# REQUIRES: x86
|
|
# RUN: rm -rf %t && split-file %s %t && cd %t
|
|
# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o 0.o
|
|
|
|
#--- 1.lds
|
|
SECTIONS {
|
|
.text + { *(.text) }
|
|
.keep : { *(.keep) } /*
|
|
comment line 1
|
|
comment line 2 */
|
|
.temp : { *(.temp) }
|
|
}
|
|
|
|
# RUN: not ld.lld -shared 0.o -T 1.lds 2>&1 | FileCheck %s --check-prefix=CHECK1 --match-full-lines --strict-whitespace
|
|
# CHECK1:{{.*}}:2: malformed number: +
|
|
# CHECK1-NEXT:>>> .text + { *(.text) }
|
|
# CHECK1-NEXT:>>> ^
|
|
|
|
#--- 2.lds
|
|
|
|
UNKNOWN_TAG {
|
|
.text : { *(.text) }
|
|
.keep : { *(.keep) }
|
|
.temp : { *(.temp) }
|
|
}
|
|
|
|
# RUN: not ld.lld -shared 0.o -T 2.lds 2>&1 | FileCheck %s --check-prefix=CHECK2 --match-full-lines --strict-whitespace
|
|
# CHECK2:{{.*}}:2: unknown directive: UNKNOWN_TAG
|
|
# CHECK2-NEXT:>>> UNKNOWN_TAG {
|
|
# CHECK2-NEXT:>>> ^
|
|
|
|
#--- 3.lds
|
|
SECTIONS {
|
|
.text : { *(.text) }
|
|
.keep : { *(.keep) }
|
|
boom ^temp : { *(.temp) }
|
|
}
|
|
#--- 3a.lds
|
|
INCLUDE "3.lds"
|
|
#--- 3b.lds
|
|
foo = 3;
|
|
INCLUDE "3a.lds"
|
|
|
|
# RUN: not ld.lld -shared 0.o -T 3.lds 2>&1 | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace
|
|
# RUN: not ld.lld -shared 0.o -T 3a.lds 2>&1 | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace
|
|
# RUN: not ld.lld -shared 0.o -T 3b.lds 2>&1 | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace
|
|
# CHECK3:{{.*}}3.lds:4: malformed number: ^
|
|
# CHECK3-NEXT:>>> boom ^temp : { *(.temp) }
|
|
# CHECK3-NEXT:>>> ^
|