53 lines
1.2 KiB
YAML
53 lines
1.2 KiB
YAML
|
## Test the p_align field of a program header can be set explicitly or inferred
|
||
|
## from the maximum alignment of contained sections.
|
||
|
|
||
|
## Explicit Align has priority over section alignments.
|
||
|
|
||
|
# RUN: yaml2obj --docnum=1 %s -o %t
|
||
|
# RUN: llvm-readobj -l %t | FileCheck %s
|
||
|
# CHECK: ProgramHeader {
|
||
|
# CHECK-NOT: ProgramHeader {
|
||
|
# CHECK: Alignment: 16
|
||
|
# CHECK-NEXT: }
|
||
|
|
||
|
--- !ELF
|
||
|
FileHeader:
|
||
|
Class: ELFCLASS64
|
||
|
Data: ELFDATA2LSB
|
||
|
Type: ET_EXEC
|
||
|
Sections:
|
||
|
- Name: .tdata
|
||
|
Type: SHT_PROGBITS
|
||
|
AddressAlign: 4
|
||
|
- Name: .tbss
|
||
|
Type: SHT_NOBITS
|
||
|
AddressAlign: 64
|
||
|
ProgramHeaders:
|
||
|
- Type: PT_TLS
|
||
|
Align: 16
|
||
|
FirstSec: .tdata
|
||
|
LastSec: .tbss
|
||
|
|
||
|
## If Align is not specified, p_align is inferred from the maximum alignment
|
||
|
## of contained sections.
|
||
|
|
||
|
# RUN: yaml2obj --docnum=2 %s -o %t
|
||
|
# RUN: llvm-readobj -l %t | FileCheck %s
|
||
|
|
||
|
--- !ELF
|
||
|
FileHeader:
|
||
|
Class: ELFCLASS64
|
||
|
Data: ELFDATA2LSB
|
||
|
Type: ET_EXEC
|
||
|
Sections:
|
||
|
- Name: .text
|
||
|
Type: SHT_PROGBITS
|
||
|
AddressAlign: 4
|
||
|
- Name: .text.hot
|
||
|
Type: SHT_PROGBITS
|
||
|
AddressAlign: 16
|
||
|
ProgramHeaders:
|
||
|
- Type: PT_LOAD
|
||
|
FirstSec: .text
|
||
|
LastSec: .text.hot
|