CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
119 lines
4.7 KiB
Plaintext
119 lines
4.7 KiB
Plaintext
## When the offset of a non-PT_LOAD segment (e.g. PT_INTERP) equals the offset
|
|
## of a PT_LOAD segment, set the parent of the segment with a smaller alignment
|
|
## to the segment with a larger alignment, ensuring that the offset is correctly
|
|
## aligned.
|
|
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-objcopy %t %t2
|
|
# RUN: llvm-readelf -Sl %t2 | FileCheck %s
|
|
|
|
# CHECK: [Nr] Name Type Address Off Size ES Flg Lk Inf Al
|
|
# CHECK-NEXT: [ 0] NULL 0000000000000000 000000 000000 00 0 0 0
|
|
# CHECK-NEXT: [ 1] .text PROGBITS 0000000000201000 001000 000001 00 0 0 4
|
|
# CHECK-NEXT: [ 2] .interp PROGBITS 0000000000202000 002000 00001c 00 0 0 1
|
|
# CHECK-NEXT: [ 3] .rodata PROGBITS 0000000000202020 002020 000001 00 0 0 1
|
|
# CHECK-NEXT: [ 4] .tdata PROGBITS 0000000000203000 003000 000001 00 0 0 4096
|
|
# CHECK-NEXT: [ 5] .relro_padding NOBITS 0000000000203001 003001 000fff 00 0 0 1
|
|
# CHECK-NEXT: [ 6] .strtab STRTAB 0000000000000000 003001 000001 00 0 0 1
|
|
# CHECK-NEXT: [ 7] .shstrtab STRTAB 0000000000000000 003002 00003f 00 0 0 1
|
|
|
|
# CHECK: Program Headers:
|
|
# CHECK-NEXT: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
|
|
# CHECK-NEXT: PHDR 0x000040 0x0000000000200040 0x0000000000200040 0x0001c0 0x0001c0 0x8
|
|
# CHECK-NEXT: INTERP 0x002000 0x0000000000202000 0x0000000000202000 0x00001c 0x00001c 0x1
|
|
# CHECK-NEXT: [Requesting program interpreter: ]
|
|
# CHECK-NEXT: LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000200 0x000200 0x1000
|
|
# CHECK-NEXT: LOAD 0x001000 0x0000000000201000 0x0000000000201000 0x000001 0x000001 0x1000
|
|
# CHECK-NEXT: LOAD 0x002000 0x0000000000202000 0x0000000000202000 0x000021 0x000021 0x1000
|
|
# CHECK-NEXT: TLS 0x003000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 0x1000
|
|
# CHECK-NEXT: GNU_RELRO 0x003000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 0x1000
|
|
# CHECK-NEXT: LOAD 0x003000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 0x1000
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_EXEC
|
|
Machine: EM_X86_64
|
|
ProgramHeaders:
|
|
- Type: PT_PHDR
|
|
VAddr: 0x200040
|
|
Align: 0x8
|
|
Offset: 0x40
|
|
FileSize: 0x1c0
|
|
MemSize: 0x1c0
|
|
- Type: PT_INTERP
|
|
FirstSec: .interp
|
|
LastSec: .interp
|
|
## The address equals the address of its containing PT_LOAD.
|
|
VAddr: 0x202000
|
|
Offset: 0x2000
|
|
- Type: PT_LOAD
|
|
VAddr: 0x200000
|
|
Align: 0x1000
|
|
Offset: 0x0
|
|
FileSize: 0x200
|
|
MemSize: 0x200
|
|
- Type: PT_LOAD
|
|
FirstSec: .text
|
|
LastSec: .text
|
|
VAddr: 0x201000
|
|
Align: 0x1000
|
|
Offset: 0x1000
|
|
- Type: PT_LOAD
|
|
FirstSec: .interp
|
|
LastSec: .rodata
|
|
VAddr: 0x202000
|
|
Align: 0x1000
|
|
Offset: 0x2000
|
|
## Intentionally place PT_TLS/PT_GNU_RELRO before PT_LOAD to test that we
|
|
## correctly set parent segments.
|
|
- Type: PT_TLS
|
|
FirstSec: .tdata
|
|
LastSec: .relro_padding
|
|
VAddr: 0x203000
|
|
Align: 0x1000
|
|
Offset: 0x3000
|
|
- Type: PT_GNU_RELRO
|
|
FirstSec: .tdata
|
|
LastSec: .relro_padding
|
|
VAddr: 0x203000
|
|
Align: 0x1000
|
|
Offset: 0x3000
|
|
- Type: PT_LOAD
|
|
FirstSec: .tdata
|
|
LastSec: .relro_padding
|
|
VAddr: 0x203000
|
|
Align: 0x1000
|
|
Offset: 0x3000
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Address: 0x201000
|
|
AddressAlign: 0x4
|
|
Offset: 0x1000
|
|
Content: C3
|
|
- Name: .interp
|
|
Type: SHT_PROGBITS
|
|
Address: 0x202000
|
|
AddressAlign: 0x1
|
|
Offset: 0x2000
|
|
Size: 0x1C
|
|
- Name: .rodata
|
|
Type: SHT_PROGBITS
|
|
Address: 0x202020
|
|
AddressAlign: 0x1
|
|
Offset: 0x2020
|
|
Size: 1
|
|
- Name: .tdata
|
|
Type: SHT_PROGBITS
|
|
Address: 0x203000
|
|
AddressAlign: 0x1000
|
|
Offset: 0x3000
|
|
Size: 1
|
|
- Name: .relro_padding
|
|
Type: SHT_NOBITS
|
|
Address: 0x203001
|
|
AddressAlign: 0x1
|
|
Size: 0xFFF
|