67 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t3 4# RUN: ld.lld -z max-page-size=0x4000 %t -o %t25# RUN: llvm-readobj -l %t2 | FileCheck %s6 7# CHECK: ProgramHeaders [8# CHECK: ProgramHeader {9# CHECK: Type: PT_LOAD10# CHECK-NEXT: Offset: 0x011# CHECK-NEXT: VirtualAddress: 0x20000012# CHECK-NEXT: PhysicalAddress: 0x20000013# CHECK-NEXT: FileSize: 34414# CHECK-NEXT: MemSize: 34415# CHECK-NEXT: Flags [16# CHECK-NEXT: PF_R17# CHECK-NEXT: ]18# CHECK-NEXT: Alignment: 1638419# CHECK-NEXT: }20# CHECK-NEXT: ProgramHeader {21# CHECK-NEXT: Type: PT_LOAD22# CHECK-NEXT: Offset: 0x15823# CHECK-NEXT: VirtualAddress: 0x20415824# CHECK-NEXT: PhysicalAddress: 0x20415825# CHECK-NEXT: FileSize: 126# CHECK-NEXT: MemSize: 127# CHECK-NEXT: Flags [28# CHECK-NEXT: PF_R29# CHECK-NEXT: PF_X30# CHECK-NEXT: ]31# CHECK-NEXT: Alignment: 1638432# CHECK-NEXT: }33# CHECK-NEXT: ProgramHeader {34# CHECK-NEXT: Type: PT_LOAD35# CHECK-NEXT: Offset: 0x15936# CHECK-NEXT: VirtualAddress: 0x20815937# CHECK-NEXT: PhysicalAddress: 0x20815938# CHECK-NEXT: FileSize: 839# CHECK-NEXT: MemSize: 840# CHECK-NEXT: Flags [41# CHECK-NEXT: PF_R42# CHECK-NEXT: PF_W43# CHECK-NEXT: ]44# CHECK-NEXT: Alignment: 1638445# CHECK-NEXT: }46 47# RUN: echo "SECTIONS { symbol = CONSTANT(MAXPAGESIZE); }" > %t.script48# RUN: ld.lld -z max-page-size=0x4000 -o %t1 --script %t.script %t49# RUN: llvm-readelf -s %t1 | FileCheck -check-prefix CHECK-SCRIPT %s50 51# CHECK-SCRIPT: 0000000000004000 0 NOTYPE GLOBAL DEFAULT ABS symbol52 53# RUN: not ld.lld -z max-page-size=0x1001 -o /dev/null --script %t.script %t 2>&1 \54# RUN: | FileCheck -check-prefix=ERR1 %s55# ERR1: max-page-size: value isn't a power of 256 57# RUN: not ld.lld -z max-page-size=-0x1000 -o /dev/null --script %t.script %t 2>&1 \58# RUN: | FileCheck -check-prefix=ERR2 %s59# ERR2: invalid max-page-size: -0x100060 61.global _start62_start:63 nop64 65.section .a, "aw"66.quad 067