[sanitizer] Improve FreeBSD ASLR detection
[llvm-project.git] / llvm / test / tools / llvm-objcopy / ELF / binary-no-paddr.test
blob3914ff88e355ce7e2da5a969f1f88deebbb11bda
1 # RUN: yaml2obj -D PADDR=1 %s -o %t1
2 # RUN: llvm-objcopy -O binary %t1 %t1.out
3 # RUN: od -t x2 -v %t1.out | FileCheck %s --ignore-case
4 # RUN: wc -c < %t1.out | FileCheck %s --check-prefix=SIZE
6 ## When all p_paddr fields are 0, GNU objcopy resets LMA to VMA
7 ## and gives a different output.
8 ## https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=6ffd79000b45e77b3625143932ffbf781b6aecab
9 ## We don't implement this special rule. The p_paddr=0 output is the same as
10 ## the p_paddr=1 case.
11 # RUN: yaml2obj -D PADDR=0 %s -o %t0
12 # RUN: llvm-objcopy -O binary %t0 %t0.out
13 # RUN: cmp %t1.out %t0.out
15 !ELF
16 FileHeader:
17   Class:           ELFCLASS64
18   Data:            ELFDATA2LSB
19   Type:            ET_EXEC
20   Machine:         EM_X86_64
21 Sections:
22   - Name:            .text
23     Type:            SHT_PROGBITS
24     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
25     Address:         0x1000
26     AddressAlign:    0x0000000000001000
27     Content:         "c3c3c3c3"
28   - Name:            .data
29     Type:            SHT_PROGBITS
30     Flags:           [ SHF_ALLOC ]
31     Address:         0x1004
32     AddressAlign:    0x0000000000000004
33     Content:         "3232"
34 ProgramHeaders:
35   - Type:     PT_LOAD
36     Flags:    [ PF_X, PF_R ]
37     VAddr:    0x1000
38     PAddr:    [[PADDR]]
39     FirstSec: .text
40     LastSec:  .text
41   - Type:     PT_LOAD
42     Flags:    [ PF_R, PF_W ]
43     VAddr:    0x1004
44     PAddr:    [[PADDR]]
45     FirstSec: .data
46     LastSec:  .data
48 # CHECK: 0000000 3232 c3c3
49 # SIZE:  4