41 lines · plain
1// REQUIRES: arm2 3// RUN: rm -rf %t && mkdir %t && cd %t4// RUN: llvm-mc --triple=armv7 --filetype=obj %s -o a.o5 6// RUN: ld.lld --defsym absolute=0xf0000000 -z execute-only-report=none --fatal-warnings a.o7 8// RUN: ld.lld --defsym absolute=0xf0000000 -z execute-only-report=warning a.o 2>&1 | \9// RUN: FileCheck --check-prefix=WARNING %s10 11// WARNING-NOT: warning: -z execute-only-report: a.o:(.text) does not have SHF_ARM_PURECODE flag set12// WARNING-NOT: warning: -z execute-only-report: a.o:(.text.foo) does not have SHF_ARM_PURECODE flag set13// WARNING: warning: -z execute-only-report: a.o:(.text.bar) does not have SHF_ARM_PURECODE flag set14// WARNING-NOT: warning: -z execute-only-report: <internal>:({{.*}}) does not have SHF_ARM_PURECODE flag set15 16// RUN: not ld.lld --defsym absolute=0xf0000000 -z execute-only-report=error a.o 2>&1 | \17// RUN: FileCheck --check-prefix=ERROR %s18 19// ERROR-NOT: error: -z execute-only-report: a.o:(.text) does not have SHF_ARM_PURECODE flag set20// ERROR-NOT: error: -z execute-only-report: a.o:(.text.foo) does not have SHF_ARM_PURECODE flag set21// ERROR: error: -z execute-only-report: a.o:(.text.bar) does not have SHF_ARM_PURECODE flag set22// ERROR-NOT: error: -z execute-only-report: <internal>:({{.*}}) does not have SHF_ARM_PURECODE flag set23 24.section .text,"axy",%progbits,unique,025.globl _start26_start:27 bl foo28 bl bar29 bl absolute30 bx lr31 32.section .text.foo,"axy",%progbits,unique,033.globl foo34foo:35 bx lr36 37.section .text.bar,"ax",%progbits,unique,038.globl bar39bar:40 bx lr41