diff options
Diffstat (limited to 'test/ELF/relro-non-contiguous-script-data.s')
-rw-r--r-- | test/ELF/relro-non-contiguous-script-data.s | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/ELF/relro-non-contiguous-script-data.s b/test/ELF/relro-non-contiguous-script-data.s new file mode 100644 index 000000000000..c2332d14a982 --- /dev/null +++ b/test/ELF/relro-non-contiguous-script-data.s @@ -0,0 +1,25 @@ +// REQUIRES: x86 + +// RUN: echo "SECTIONS { \ +// RUN: .dynamic : { *(.dynamic) } \ +// RUN: .non_ro : { . += 1; } \ +// RUN: .jcr : { *(.jcr) } \ +// RUN: } " > %t.script +// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o +// RUN: not ld.lld --export-dynamic %t.o -o %t --script=%t.script 2>&1 | FileCheck %s + +// RUN: echo "SECTIONS { \ +// RUN: .dynamic : { *(.dynamic) } \ +// RUN: .non_ro : { BYTE(1); } \ +// RUN: .jcr : { *(.jcr) } \ +// RUN: } " > %t2.script +// RUN: not ld.lld --export-dynamic %t.o -o %t --script=%t2.script 2>&1 | FileCheck %s + +// CHECK: error: section: .jcr is not contiguous with other relro sections + +.global _start +_start: + + // non-empty relro section + .section .jcr, "aw", @progbits + .quad 0 |