#
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.
|
#
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.
|
#
c07db2ec |
|
26-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* elf_find_symbol(): Skip undefined symbols and symbols with the wrong binding. * Implemented missing handling of symbolically linked images and of weak symbols. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9bf61a0e |
|
21-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added GNU style ELF symbol versioning support in the kernel, too. * Fixed memory leak in insert_preloaded_image() in error case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30820 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a1e04b1 |
|
13-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Symbol resolution functions in the kernel: Removed the unused parameter allowing optional prepending of a string to the symbol names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30750 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
80f54692 |
|
06-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* struct vnode is an opaque type now, removed void* where it was used incorrectly. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22461 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c14a34a6 |
|
26-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved kernel ELF loader (and made it more similar to the one from the boot loader): it now supports holes between segments, and accepts any segment order. * Renamed elf.c to elf.cpp and fixed warnings. * Renamed elf_image_info::dynamic_ptr and eheader to dynamic_section and elf_header. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16878 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2705fb7d |
|
08-Jun-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Replaced the regions array with the nicer text_region and data_region members. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7877 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ecfed6a7 |
|
31-May-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added fields to hold debug symbol information. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7696 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b6b9a5a |
|
11-May-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added a comment (now that we're using a hash table). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7523 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
337d1d1b |
|
27-Apr-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Made C++ safe. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7328 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e1a6f46d |
|
20-Apr-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Removed ktypes.h dependency; replaced "addr" with "addr_t", some other minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7261 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e44d4929 |
|
16-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Made it independent. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
29164895 |
|
12-Jan-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Must now include image.h directly. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2422 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7fae0705 |
|
30-Dec-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Included NewOS change 1674. Moved private elf structures to elf_priv.h. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2320 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
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.
|
#
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.
|
#
c07db2ec3f246a20402116d8ac23a8d2f43039e6 |
|
26-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* elf_find_symbol(): Skip undefined symbols and symbols with the wrong binding. * Implemented missing handling of symbolically linked images and of weak symbols. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9bf61a0eccc21ebe33d90186064ee70c195abab9 |
|
21-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added GNU style ELF symbol versioning support in the kernel, too. * Fixed memory leak in insert_preloaded_image() in error case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30820 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a1e04b121921344eec3e7314fafa8796e14cfaf |
|
13-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Symbol resolution functions in the kernel: Removed the unused parameter allowing optional prepending of a string to the symbol names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30750 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
80f54692912d728f5780e9d78d7643828edaaa2a |
|
06-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* struct vnode is an opaque type now, removed void* where it was used incorrectly. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22461 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c14a34a65f69bbccfca75a0c9cd44bab21ab25d5 |
|
26-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved kernel ELF loader (and made it more similar to the one from the boot loader): it now supports holes between segments, and accepts any segment order. * Renamed elf.c to elf.cpp and fixed warnings. * Renamed elf_image_info::dynamic_ptr and eheader to dynamic_section and elf_header. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16878 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2705fb7df0c1ae936e90aa77ce7bf71dc755538e |
|
08-Jun-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Replaced the regions array with the nicer text_region and data_region members. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7877 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ecfed6a7189334c3029bc58ecc24a2e899f3394d |
|
31-May-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added fields to hold debug symbol information. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7696 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b6b9a5afb75ffaef6421c5cefc302eefc6a6a80 |
|
11-May-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added a comment (now that we're using a hash table). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7523 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
337d1d1bab969b812081c0f7744968b8c9a2f687 |
|
27-Apr-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Made C++ safe. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7328 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e1a6f46dc9b3c92e0441c587a17293180adb3e57 |
|
20-Apr-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Removed ktypes.h dependency; replaced "addr" with "addr_t", some other minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7261 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e44d4929cef636eb25dfc961778bae845ecefce3 |
|
16-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Made it independent. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
29164895ac245e237a7d85192fe2929cf5e0baa6 |
|
12-Jan-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Must now include image.h directly. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2422 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7fae0705848dc9c33a32f0e3083354eebe71130f |
|
30-Dec-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Included NewOS change 1674. Moved private elf structures to elf_priv.h. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2320 a95241bf-73f2-0310-859d-f6bbb57e9c96
|