mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Add ELF program header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165316 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d875533b7f
commit
a06fd99054
@ -412,6 +412,35 @@ struct Elf_Ehdr_Impl {
|
||||
unsigned char getDataEncoding() const { return e_ident[ELF::EI_DATA]; }
|
||||
};
|
||||
|
||||
template<support::endianness target_endianness, bool is64Bits>
|
||||
struct Elf_Phdr;
|
||||
|
||||
template<support::endianness target_endianness>
|
||||
struct Elf_Phdr<target_endianness, false> {
|
||||
LLVM_ELF_IMPORT_TYPES(target_endianness, false)
|
||||
Elf_Word p_type; // Type of segment
|
||||
Elf_Off p_offset; // FileOffset where segment is located, in bytes
|
||||
Elf_Addr p_vaddr; // Virtual Address of beginning of segment
|
||||
Elf_Addr p_paddr; // Physical address of beginning of segment (OS-specific)
|
||||
Elf_Word p_filesz; // Num. of bytes in file image of segment (may be zero)
|
||||
Elf_Word p_memsz; // Num. of bytes in mem image of segment (may be zero)
|
||||
Elf_Word p_flags; // Segment flags
|
||||
Elf_Word p_align; // Segment alignment constraint
|
||||
};
|
||||
|
||||
template<support::endianness target_endianness>
|
||||
struct Elf_Phdr<target_endianness, true> {
|
||||
LLVM_ELF_IMPORT_TYPES(target_endianness, true)
|
||||
Elf_Word p_type; // Type of segment
|
||||
Elf_Word p_flags; // Segment flags
|
||||
Elf_Off p_offset; // FileOffset where segment is located, in bytes
|
||||
Elf_Addr p_vaddr; // Virtual Address of beginning of segment
|
||||
Elf_Addr p_paddr; // Physical address of beginning of segment (OS-specific)
|
||||
Elf_Word p_filesz; // Num. of bytes in file image of segment (may be zero)
|
||||
Elf_Word p_memsz; // Num. of bytes in mem image of segment (may be zero)
|
||||
Elf_Word p_align; // Segment alignment constraint
|
||||
};
|
||||
|
||||
template<support::endianness target_endianness, bool is64Bits>
|
||||
class ELFObjectFile : public ObjectFile {
|
||||
LLVM_ELF_IMPORT_TYPES(target_endianness, is64Bits)
|
||||
|
Loading…
x
Reference in New Issue
Block a user