1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
llvm-mirror/test/tools/yaml2obj/ELF/program-header-align.yaml
Fangrui Song 053d07b664 [yaml2obj][test] Move tests to binary format specific subdirectories
Create COFF/, ELF/, and Minidump and move tests there.

Also

* Rename `*.test` to `*.yaml`
* For yaml2obj RUN lines, use `-o %t` instead of `> %t` for consistency.
  We still have tests that check stdout is the default output, e.g.
  multi-doc.test
* Update tests to consistently use `##` for comments.
  `#` is for RUN and CHECK lines.
* Merge symboless-relocation.yaml and invalid-symboless-relocation.yaml to ELF/relocation-implicit-symbol-index.test

Reviewed By: grimar, jhenderson

Differential Revision: https://reviews.llvm.org/D70264
2019-11-18 09:06:14 -08:00

57 lines
1.3 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
Machine: EM_NONE
Sections:
- Name: .tdata
Type: SHT_PROGBITS
AddressAlign: 4
- Name: .tbss
Type: SHT_NOBITS
AddressAlign: 64
ProgramHeaders:
- Type: PT_TLS
Align: 16
Sections:
- Section: .tdata
- Section: .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
Machine: EM_NONE
Sections:
- Name: .text
Type: SHT_PROGBITS
AddressAlign: 4
- Name: .text.hot
Type: SHT_PROGBITS
AddressAlign: 16
ProgramHeaders:
- Type: PT_LOAD
Sections:
- Section: .text
- Section: .text.hot