51 lines · plain
1# REQUIRES: x862# RUN: rm -rf %t && split-file %s %t && cd %t3# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-openbsd randomdata.s -o randomdata.o4# RUN: ld.lld randomdata.o -o randomdata5# RUN: llvm-readelf -S -l randomdata | FileCheck %s --check-prefix=RANDOMDATA6 7# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-openbsd /dev/null -o empty.o8# RUN: ld.lld -z nobtcfi empty.o -o nobtcfi9# RUN: llvm-readelf -l nobtcfi | FileCheck %s --check-prefix=NOBTCFI10 11# RUN: ld.lld -z wxneeded empty.o -o wxneeded12# RUN: llvm-readelf -l wxneeded | FileCheck %s --check-prefix=WXNEEDED13 14# RUN: ld.lld -T lds randomdata.o -o out15# RUN: llvm-readelf -S -l out | FileCheck %s --check-prefixes=RANDOMDATA,CHECK16 17# RANDOMDATA: Name Type Address Off Size ES Flg Lk Inf Al18# RANDOMDATA: .openbsd.randomdata PROGBITS [[ADDR:[0-9a-f]+]] [[O:[0-9a-f]+]] 000008 00 A 0 0 119 20# NOBTCFI: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align21# NOBTCFI: OPENBSD_NOBTCFI 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 E 022 23# WXNEEDED: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align24# WXNEEDED: OPENBSD_WXNEEDED 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 E 025 26# RANDOMDATA: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align27# RANDOMDATA: OPENBSD_RANDOMIZE 0x[[O]] 0x[[ADDR]] 0x[[ADDR]] 0x000008 0x000008 R 0x128# CHECK-NEXT: OPENBSD_BOOTDATA 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 R 029# CHECK-NEXT: OPENBSD_MUTABLE 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 R 030# CHECK-NEXT: OPENBSD_SYSCALLS 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 R 031# CHECK-NEXT: OPENBSD_WXNEEDED 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 R 032 33#--- randomdata.s34.section .openbsd.randomdata, "a"35.quad 036 37#--- lds38PHDRS {39 text PT_LOAD FILEHDR PHDRS;40 rand PT_OPENBSD_RANDOMIZE;41 boot PT_OPENBSD_BOOTDATA;42 mutable PT_OPENBSD_MUTABLE;43 syscalls PT_OPENBSD_SYSCALLS;44 wxneeded PT_OPENBSD_WXNEEDED;45}46SECTIONS {47 . = SIZEOF_HEADERS;48 .text : { *(.text) }49 .openbsd.randomdata : { *(.openbsd.randomdata) } : rand50}51