From a892c0e49e8de6daf141af23b396cf21b4471299 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sat, 25 Sep 2021 11:57:54 -0700 Subject: [PATCH] [ELF][test] Improve test coverage --- lld/test/ELF/common-page.s | 5 +++++ lld/test/ELF/linkerscript/memory-err.s | 3 +++ lld/test/ELF/start-group.s | 13 +++++++++++++ lld/test/ELF/warn-backrefs.s | 1 + 4 files changed, 22 insertions(+) create mode 100644 lld/test/ELF/start-group.s diff --git a/lld/test/ELF/common-page.s b/lld/test/ELF/common-page.s index bdde23feecfb..a11b6993d360 100644 --- a/lld/test/ELF/common-page.s +++ b/lld/test/ELF/common-page.s @@ -221,3 +221,8 @@ _start: # CHECK-COMMON-NEXT: PF_W (0x2) # CHECK-COMMON-NEXT: ] # CHECK-COMMON-NEXT: Alignment: 0 + +# RUN: not ld.lld -z max-page-size=0x10001 -z common-page-size=0x1001 %t -o /dev/null 2>&1 | FileCheck %s --check-prefix=INVALID + +# INVALID: error: max-page-size: value isn't a power of 2 +# INVALID-NEXT: error: common-page-size: value isn't a power of 2 diff --git a/lld/test/ELF/linkerscript/memory-err.s b/lld/test/ELF/linkerscript/memory-err.s index 214b618f4ec0..0b1a077176ad 100644 --- a/lld/test/ELF/linkerscript/memory-err.s +++ b/lld/test/ELF/linkerscript/memory-err.s @@ -35,6 +35,9 @@ # RUN: not ld.lld -o /dev/null -T %t.script %t.o 2>&1 | FileCheck --check-prefix=ERR5 %s # ERR5: error: memory region 'ram' not declared +# RUN: echo 'SECTIONS { .text : { *(.text) } AT> ram }' > %t.script +# RUN: not ld.lld -o /dev/null -T %t.script %t.o 2>&1 | FileCheck --check-prefix=ERR5 %s + ## Check region overflow. # RUN: echo 'MEMORY { ram (rwx) : ORIGIN = 0, LENGTH = 2K } \ diff --git a/lld/test/ELF/start-group.s b/lld/test/ELF/start-group.s new file mode 100644 index 000000000000..724ca16c6045 --- /dev/null +++ b/lld/test/ELF/start-group.s @@ -0,0 +1,13 @@ +# REQUIRES: x86 + +# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o + +# RUN: not ld.lld --start-group --start-group %t.o 2>&1 | FileCheck %s --check-prefix=NESTED +# NESTED: nested --start-group + +# RUN: not ld.lld --end-group 2>&1 | FileCheck %s --check-prefix=END +# RUN: not ld.lld '-)' 2>&1 | FileCheck %s --check-prefix=END +# END: stray --end-group + +.globl _start +_start: diff --git a/lld/test/ELF/warn-backrefs.s b/lld/test/ELF/warn-backrefs.s index b34f1d67edd6..a6866869054a 100644 --- a/lld/test/ELF/warn-backrefs.s +++ b/lld/test/ELF/warn-backrefs.s @@ -31,6 +31,7 @@ # RUN: echo 'GROUP("%t2.a" "%t1.o")' > %t2.lds # RUN: ld.lld --fatal-warnings --warn-backrefs %t2.lds -o /dev/null # RUN: ld.lld --fatal-warnings --warn-backrefs '-(' %t2.a %t1.o '-)' -o /dev/null +# RUN: ld.lld --fatal-warnings --warn-backrefs --start-group %t2.a %t1.o --end-group -o /dev/null ## A backward reference from %t1.o to %t2.a (added by %t3.lds). # RUN: echo 'GROUP("%t2.a")' > %t3.lds -- 2.34.1