brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 9a12e0c Raw
60 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o3 4## Default is no PIE.5# RUN: ld.lld %t1.o -o %t6# RUN: llvm-readobj --file-headers --sections -l --symbols -r %t \7# RUN:   | FileCheck %s --check-prefix=NOPIE8 9## Check -pie.10# RUN: ld.lld -pie %t1.o -o %t11# RUN: llvm-readobj --file-headers --sections -l -d --symbols -r %t | FileCheck %s12 13## Test --pic-executable alias14# RUN: ld.lld --pic-executable %t1.o -o %t15# RUN: llvm-readobj --file-headers --sections -l -d --symbols -r %t | FileCheck %s16 17# CHECK:      ElfHeader {18# CHECK-NEXT:  Ident {19# CHECK-NEXT:    Magic: (7F 45 4C 46)20# CHECK-NEXT:    Class: 64-bit21# CHECK-NEXT:    DataEncoding: LittleEndian22# CHECK-NEXT:    FileVersion: 123# CHECK-NEXT:    OS/ABI: SystemV24# CHECK-NEXT:    ABIVersion: 025# CHECK-NEXT:    Unused: (00 00 00 00 00 00 00)26# CHECK-NEXT:  }27# CHECK-NEXT:  Type: SharedObject28 29# CHECK:      ProgramHeaders [30# CHECK-NEXT:  ProgramHeader {31# CHECK-NEXT:    Type: PT_PHDR32# CHECK-NEXT:    Offset: 0x4033# CHECK-NEXT:    VirtualAddress: 0x4034# CHECK-NEXT:    PhysicalAddress: 0x4035# CHECK-NEXT:    FileSize:36# CHECK-NEXT:    MemSize:37# CHECK-NEXT:    Flags [38# CHECK-NEXT:      PF_R39# CHECK-NEXT:    ]40# CHECK-NEXT:    Alignment: 841# CHECK-NEXT:  }42# CHECK-NEXT:  ProgramHeader {43# CHECK-NEXT:    Type: PT_LOAD44# CHECK-NEXT:    Offset: 0x045# CHECK-NEXT:    VirtualAddress: 0x046# CHECK-NEXT:    PhysicalAddress: 0x047 48# CHECK:         Type: PT_DYNAMIC49 50# CHECK:      DynamicSection [51# CHECK:        0x000000006FFFFFFB FLAGS_1 PIE52 53## Check -nopie54# RUN: ld.lld -no-pie %t1.o -o %t255# RUN: llvm-readobj --file-headers -r %t2 | FileCheck %s --check-prefix=NOPIE56# NOPIE-NOT: Type: SharedObject57 58.globl _start59_start:60