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.
This commit is contained in:
@@ -77,6 +77,14 @@ struct preloaded_elf64_image : public preloaded_image {
|
||||
FixedWidthPointer<Elf64_Sym> debug_symbols;
|
||||
} _PACKED;
|
||||
|
||||
|
||||
#if B_HAIKU_64_BIT
|
||||
typedef preloaded_elf64_image preloaded_elf_image;
|
||||
#else
|
||||
typedef preloaded_elf32_image preloaded_elf_image;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef _BOOT_MODE
|
||||
extern status_t boot_elf_resolve_symbol(preloaded_elf32_image* image,
|
||||
struct Elf32_Sym* symbol, Elf32_Addr* symbolAddress);
|
||||
|
||||
Reference in New Issue
Block a user