#
820db870 |
|
24-Sep-2022 |
David Karoly <karolyd577@gmail.com> |
kernel/x86: fix build for 32-bit ELF loader on 64-bit arch Change-Id: I7c9e8cb7a3d03d40167f7924c17e95f5ad646afe Reviewed-on: https://review.haiku-os.org/c/haiku/+/5695 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
98dea602 |
|
17-Sep-2022 |
David Karoly <karolyd577@gmail.com> |
kernel/x86/elf: fix build with TRACE enabled Change-Id: Ibed0d5e628500b0c5e2f999d95587490079519d3 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5671 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
6117e0c2 |
|
18-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
boot/loader: relocate kernel to virtual address space on 32-bit architectures Change-Id: Ic86ca6874f358df8755a0c691cccb155d145e06c Reviewed-on: https://review.haiku-os.org/c/haiku/+/4675 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
b9a0a023 |
|
17-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
arch/x86: select between 32-bit and 64-bit ELF based on arch and platform arch_elf is reused between the kernel and boot loader No change for kernel mode compilation. How to select 32-bit or 64-bit when building boot loader: * build both when building BIOS loader * build only 32-bit when building 32-bit EFI loader * build only 64-bit when building 64-bit EFI loader Change-Id: I9caa1248c7eb24318911a0c369137cedb638e4e4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4817 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
ee692b38 |
|
06-Aug-2018 |
Jérôme Duval <jerome.duval@gmail.com> |
x86_64: R_X86_64_PC32 and R_X86_64_DTPOFF32 are 32-bit wide relocations. Change-Id: I9c4e6c5ae77f4c17c2b6901f2b133db4b9dc48e3 Reviewed-on: https://review.haiku-os.org/445 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
a553e95d |
|
04-May-2018 |
Jérôme Duval <jerome.duval@gmail.com> |
kernel: support elf32 on x86_64. * define ELF32_COMPAT to enable ELF32 macros. * add a flag ELF_LOAD_USER_IMAGE_TEST_EXECUTABLE to only check the format. It will be used by load_image_internal() to check which mode to use when loading an image. * in arch_elf_relocate_rel(), switch to elf_addr instead of addr_t, which would be the wrong size for elf32 on x86_64. * the ELF compat loader reuses the relevant parts of elf.cpp and arch_elf.cpp, excluding for instance load_kernel_add_on() or dump functions. Change-Id: Ifa47334e5adefd45405a823a3accbd12eee5b116
|
#
211483cb |
|
14-Apr-2016 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
EFI: Initial test EFI application * Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined * Add gnuefi build feature * Introduce BOOT_LDFLAGS, and move options for passing to linker into ArchitectureSetup * x86_64 compile fixes for warnings in boot loader * loader/elf.cpp: don't include ELF32 support when targeting EFI * relocation_func.cpp: copy of the relocation code from gnuefi to make _relocate extern "C", and avoid including <efilib.h> * boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds, modified to include support for C++ constructors, etc. Keep in sync with the gnuefi package Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
|
#
75c31ae2 |
|
26-Oct-2015 |
Simon South <ssouth@simonsouth.com> |
system: Build using public elf.h header Reduce duplication of code by * Removing from elf_common.h definitions available in os/kernel/elf.h * Deleting elf32.h and elf64.h * Renaming elf_common.h to elf_private.h * Updating source to build using public and private ELF header files together Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
|
#
6e06fa6f |
|
12-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added missing validity check on relocation address.
|
#
3b802628 |
|
09-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Support ELF64 in the kernel. This has been done by adding typedefs in elf_common.h to the correct ELF structures for the architecture, and changing all Elf32_* uses to those types. I don't know whether image loading works as I cannot test it yet, there may be some 64-bit safety issues around. However, symbol lookup for the kernel is working correctly.
|
#
90907c35 |
|
03-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Moved ELF64 relocation functions to x86 arch_elf.cpp.
|
#
f6a34444 |
|
24-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added x86_64 ELF64 relocation functions for the bootloader. All that's left to do now is handle the 64-bit load address properly.
|
#
f1244978 |
|
22-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added an ELF64 version of preloaded_image. * There is now 2 structures, preloaded_elf32_image and preloaded_elf64_image, which both inherit from preloaded_image. * For now I've just hardcoded in use of preloaded_elf32_image, but the bootloader ELF code will shortly be converted to use templates which use the appropriate structure. The kernel will be changed later when I add ELF64 support to it. * All kernel_args data is now compatible between 32-bit and 64-bit kernels.
|
#
bd185b41 |
|
01-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
*.c -> *.cpp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6e06fa6f7ea099cec5247fa2e8409c9c8ab3c983 |
|
12-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added missing validity check on relocation address.
|
#
3b802628b8e2aa14eb4c674d0a8cf900f522baa1 |
|
09-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Support ELF64 in the kernel. This has been done by adding typedefs in elf_common.h to the correct ELF structures for the architecture, and changing all Elf32_* uses to those types. I don't know whether image loading works as I cannot test it yet, there may be some 64-bit safety issues around. However, symbol lookup for the kernel is working correctly.
|
#
90907c35ac51e760221470563fdcd90a9232cc51 |
|
03-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Moved ELF64 relocation functions to x86 arch_elf.cpp.
|
#
f6a3444449c452a63e0e0d91e8480f39bca81aed |
|
24-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added x86_64 ELF64 relocation functions for the bootloader. All that's left to do now is handle the 64-bit load address properly.
|
#
f1244978152350f9cc010e766d09c2e9ad34dfce |
|
22-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added an ELF64 version of preloaded_image. * There is now 2 structures, preloaded_elf32_image and preloaded_elf64_image, which both inherit from preloaded_image. * For now I've just hardcoded in use of preloaded_elf32_image, but the bootloader ELF code will shortly be converted to use templates which use the appropriate structure. The kernel will be changed later when I add ELF64 support to it. * All kernel_args data is now compatible between 32-bit and 64-bit kernels.
|
#
bd185b4117e06c1674c4d214abc3917acedc560d |
|
01-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
*.c -> *.cpp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|