39 Commits

Author SHA1 Message Date
Marvin Häuser
a54d495da6 BaseTools/C: Consume UefiImageLib and ImageToolEmit 2023-05-10 10:22:22 +03:00
Marvin Häuser
5976987671 ImageTool: Make IR canonical and compare input/output IRs 2023-05-10 10:22:22 +03:00
Marvin Häuser
1edfc1f6b7 ImageTool: Make ELF SymbolsPath optional 2023-05-10 10:22:22 +03:00
Marvin Häuser
942e747a91 ImageTool: Append .hii during PE generation 2023-05-10 10:22:22 +03:00
Marvin Häuser
75662ff41a ImageTool: Relocate using the IR 2023-05-10 10:22:22 +03:00
Marvin Häuser
3a4c288fd3 ImageTool: Always store the full image segment data, including padding 2023-05-10 10:22:22 +03:00
Marvin Häuser
85a3942525 ImageTool: Unify 32-bit and 64-bit tool variants 2023-05-10 10:22:22 +03:00
Marvin Häuser
fef57dfc27 ImageTool: Don't output errors for ElfScan() RETURN_UNSUPPORTED 2023-05-10 10:22:22 +03:00
Marvin Häuser
8ed1fada2d ImageTool: Remove ImageInfo global state 2023-05-10 10:22:22 +03:00
Marvin Häuser
b2de62e37f ImageTool: Remove global state from ELF scanning 2023-05-10 10:22:22 +03:00
Marvin Häuser
92bb32130b ImageTool: Prefer ELF PIE over object file relocations 2023-04-17 12:08:02 +02:00
Marvin Häuser
dac1ed6cb9 ImageTool: Translate all loadable ELF sections 2023-04-17 12:08:02 +02:00
Marvin Häuser
3f691ba5eb ImageTool: Determine PE section characteristics based on permissions 2023-04-17 12:08:02 +02:00
Marvin Häuser
b4bcef3681 ImageTool: Properly handle ELF base address 2023-04-17 12:08:02 +02:00
Marvin Häuser
fa34c0e0bc ImageTool: Remove unused functions 2023-04-17 12:08:02 +02:00
Mikhail Krichanov
511f3b2637 ImageTool: Fixed Amaranth boot. Stack canaries' relocations are stored in .rela section, relocations of which are applicable to the whole file (sh_info == 0) and must be kept. 2023-04-14 11:17:47 +03:00
Mikhail Krichanov
b58fc72d8a ImageTool: Dropped MOVW/T relocs. 2023-04-12 16:46:40 +03:00
Mikhail Krichanov
19978560ba BaseTools: Cleaned up ARM relocs calculation in ImageTool and removed several relocation types' definitions as according to ARM ABI (aaelf32.pdf) 177-255 codes are reserved for future allocation. 2023-04-12 16:46:40 +03:00
Marvin Häuser
c497d51928 ImageTool: Only translate ELF relocs targeting translated sections 2023-04-11 09:27:39 +02:00
Marvin Häuser
016a079008 ImageTool: Support R_ARM_NONE relocation type 2023-04-11 09:27:39 +02:00
Marvin Häuser
6623dd8671 ImageTool: Error when encountering unknown ELF SHF_ALLOC sections 2023-04-11 09:27:39 +02:00
Marvin Häuser
08778e2a3d ImageTool: Abstract executable generation 2023-04-11 09:27:35 +02:00
Marvin Häuser
75fcd420f6 ImageTool: Distinguish between non-ELF/PE and incompatible ELF/PE 2023-04-10 22:40:52 +02:00
Mikhail Krichanov
d58d5c1bc3 ImageTool: Extended debug printings. 2023-04-10 10:31:53 +02:00
Mikhail Krichanov
7abc3faeec ImageTool: Made compilation of EFI_IMAGE_MACHINE selection conditional. 2023-04-10 10:31:53 +02:00
Marvin Häuser
373bb081ee ImageTool: Fix ARM image generation 2023-04-10 10:31:53 +02:00
Marvin Häuser
0cd5908c7f BaseTools/ImageTool: Rename PreferredAddress to BaseAddress 2023-03-30 00:18:28 +02:00
Marvin Häuser
ea97361c29 ImageTool: Fix SymbolsPathLen inconsistencies 2023-03-28 23:52:27 +02:00
Mikhail Krichanov
aba1c68ac1 ImageTool: Fixed compilation for AARCH64. 2023-03-16 15:33:03 +03:00
Mikhail Krichanov
75fcf75121 BaseTools: Added draft of ARM, AARCH64 support. 2023-03-16 15:33:03 +03:00
Mikhail Krichanov
526c4b13ab ImageTool: Refactored out Pointer. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
2bb2e22db8 BaseTools: Reduced minimal alignment to 32 bytes. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
76d8185b5c ImageTool: Fixed "Blue Screen" problem for CLANGDWARF. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
0212a1af87 ImageTool: Refactored relocs calculation. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
4a7bcc4251 ImageTool: Fixed GOTPCREL relocations for GCC5. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
8e421ef0e3 BaseTools: Fixed sh_addralign field in ELF files, removed useless checks in ImageTool. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
8e6e4d1be4 ImageTool: Removed recalculation of virtual addresses, asssuming they are the same both in ELF and PE files. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
464cf15edb BaseTools: United GCC and CLANG linker scripts, set default 4K alignment for all toolchains. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
cf92e9f7d7 BaseTools: Replaced GenFw with ImageTool and MicroTool. 2022-12-28 17:21:20 +03:00