## 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