brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · f85241b Raw
80 lines · plain
1# REQUIRES: ppc2# RUN: rm -rf %t && split-file %s %t3# RUN: llvm-mc -filetype=obj -triple=powerpc64le %t/a.s -o %t/a.o4# RUN: llvm-mc -filetype=obj -triple=powerpc64le %p/Inputs/shared.s -o %t/b.o5# RUN: ld.lld -shared -soname=b %t/b.o -o %t/b.so6 7# RUN: ld.lld -z max-page-size=65536 -z norelro %t/a.o %t/b.so -T %t/1.t -o %t/a18# RN: llvm-readelf -S -l %t/a1 | FileCheck %s --check-prefixes=CHECK19 10# RUN: ld.lld -z max-page-size=65536 -z relro %t/a.o %t/b.so -T %t/1.t -o %t/a211# RUN: llvm-readelf -S -l %t/a2 | FileCheck %s --check-prefixes=CHECK212 13## -z norelro suppresses the .relro_padding section.14# CHECK1:      Name           Type     Address          Off      Size ES Flg15# CHECK1:      .foo           PROGBITS16# CHECK1-NEXT: .orphan.rw     PROGBITS17# CHECK1-NEXT: .branch_lt     PROGBITS18# CHECK1-NEXT: .got           PROGBITS19# CHECK1-NEXT: .data          PROGBITS20# CHECK1-NEXT: .bss           NOBITS21 22# CHECK2:      Name           Type     Address          Off      Size ES Flg23# CHECK2-NEXT:                NULL     {{.*}}24# CHECK2:      .orphan.ro     PROGBITS {{.*}}                              A25# CHECK2:      .dynamic       DYNAMIC  {{.*}}                             WA26# CHECK2-NEXT: .branch_lt     PROGBITS {{.*}}                             WA27# CHECK2-NEXT: .got           PROGBITS {{.*}}                             WA28# CHECK2-NEXT: .relro_padding NOBITS   00000000000100f0 0100f0 000f10 00  WA29# CHECK2-NEXT: .data          PROGBITS {{.*}}                             WA30# CHECK2-NEXT: .foo           PROGBITS {{.*}}                             WA31# CHECK2-NEXT: .orphan.rw     PROGBITS {{.*}}                             WA32# CHECK2-NEXT: .bss           NOBITS   {{.*}}                             WA33 34#--- a.s35.global _start36_start:37  addis 3, 2, bar2@toc@ha38  ld 12, bar2@toc@l(3)39  mtctr 1240  bctrl41  b bar42  nop43 44.section .data,"aw"45.quad 046 47.zero 448.section .foo,"aw"49.section .bss,"",@nobits50 51.section .orphan.ro,"a",@progbits52.dc.a 053 54.section .orphan.rw,"aw",@progbits55.dc.a .orphan.rw56 57#--- 1.t58SECTIONS {59  . = SIZEOF_HEADERS;60 61  .plt  : { *(.plt) }62  .text : { *(.text) }63 64  . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));65 66  .dynamic : { *(.dynamic) }67  .branch_lt : { *(.branch_lt) }68  .got : { *(.got) }69 70  . = DATA_SEGMENT_RELRO_END (0, .);71 72  .plt : { *(.plt) }73  .data : { *(.data) }74  .bss : { *(.bss) }75 76  . = DATA_SEGMENT_END (.);77 78  .comment 0 : { *(.comment) }79}80