2 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%p
/Inputs
/shared.s
-o
%t.o
3 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%p
/Inputs
/copy-in-shared.s
-o
%t2.o
4 // RUN
: ld.lld
-shared
-soname
=t.so
%t.o
%t2.o
-z separate-code
-o
%t.so
6 // A linker script that will map
.bss.rel.ro into .bss.
7 // RUN
: echo
"SECTIONS { \
8 // RUN: .bss : { *(.bss) *(.bss.*) } \
9 // RUN: } " > %t.script
11 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%s
-o
%t3.o
12 // RUN
: ld.lld
%t3.o
%t.so
-z relro
-z separate-code
-o
%t --script
=%t.script
2>&1
13 // RUN
: llvm-readelf
-l %t | FileCheck
%s
14 .section .text, "ax", @progbits
20 // Will produce
.bss.rel.ro that will match in .bss, this will lose
21 // the relro property of the copy relocation.
26 // make large enough to affect PT_GNU_RELRO MemSize if this was marked
30 // CHECK
: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
31 // CHECK
: GNU_RELRO
0x002150 0x0000000000000150 0x0000000000000150 0x000100 0x000100 R
0x1