History log of /haiku-fatelf/headers/private/kernel/elf.h
Revision Date Author Comments
# e7ffd312 26-Nov-2012 Landon Fuller <landonf@plausible.coop>

Minor style fix


# 60dcdd13 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Minor API cleanup for elf_find_* APIs.


# 79a3b81a 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Move elf_image_arch to elf_common.h


# 798f97cb 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Use new arch_elf_arch_compat() API to find compatible runtime_loader.


# abb1201d 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Remove the FATELF_MATCH_ defines from the public fatelf header.


# cbbca595 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Clean up the multiple methods of describing an ELF binary arch.


# 7313aafd 24-Nov-2012 Landon Fuller <landonf@plausible.coop>

Add support for loading FatELF kernel add-ons


# 0e476e50 22-Nov-2012 Landon Fuller <landonf@plausible.coop>

Implement an experimental fix for cwd handling

This could use the eyes of someone more familiar with the kernel and
coding style.


# f30ea778 22-Nov-2012 Landon Fuller <landonf@plausible.coop>

Add kernel-level FatELF user image loading.

Additional work is required to correctly handle relative paths, symbol lookup
in userspace binaries, and kernel-level loading of FatELF kernel
add-ons.


# c3338d91 21-Nov-2012 Landon Fuller <landonf@plausible.coop>

Implement elf_find_best_fat_arch()

Uses the scoring ABI to find the preferred ELF data.


# 8a190335 07-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Implemented user debugging support for x86_64.

Reused x86 arch_user_debugger.cpp, with a few minor changes to make
the code work for both 32 and 64 bit. Something isn't quite working
right, if a breakpoint is hit the kernel will hang. Other than that
everything appears to work correctly.


# 24df6592 11-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged signals-merge branch into trunk with the following changes:
* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
handlers have been moved to teams. Fixes #5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
of the real-time signal range. Closes #1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes #6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
[set]itimer(). Closes #5682.
* Implemented support for thread cancellation. Closes #5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554.
* Lots over smaller more or less related changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4535495d 10-Jan-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged the signals branch into trunk, with these changes:
* The team and thread kernel structures have been renamed to Team and Thread
respectively and moved into the new BKernel namespace.
* Several (kernel add-on) sources have been converted from C to C++ since
private kernel headers are included that are no longer C compatible.

Changes after merging:
* Fixed gcc 2 build (warnings mainly in the scary firewire bus manager).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40196 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0aad96f 22-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Allow to use symbols as variables (prefixed with '@'). Now only tab completion
for variable names is missing B-}


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33723 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b36c8ba2 08-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added elf_get_kernel_image() returning the image for the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30036 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fec47a57 24-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added functions elf_create_memory_image() and
elf_add_memory_image_symbol(). The former creates and registers a new
image that has not been loaded from a file. The latter adds a symbol to
its symbol table. This is mainly a debug feature, allowing to name code
or data in memory regions that aren't associated with loaded ELF
objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27721 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8839d592 22-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added syscall _kern_read_kernel_image_symbols() for reading a kernel
image's symbol and string tables.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27687 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd1c278d 03-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added elf_get_image_info_for_address() to get an image info for a kernel
image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27300 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2477bce5 19-Jan-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for userland symbol lookup in "sc" and "call". Having
used it for an hour or so, I really wonder how we could live without it.
:-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23640 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5793da1e 22-Aug-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed elf_lookup_symbol_address() to elf_debug_lookup_symbol_address() and
removed the locking it did, as that doesn't work anymore in the kernel debugger.
The function was not thought to be used outside the debugger, anyway.
Improved usage message from debugger command "ls".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14050 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 74b043d9 17-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Removed execute property that was set accidently (since CVS days).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11896 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dca26362 20-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Improved headers, updated license, made C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10909 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6fccd3b7 31-May-2004 Axel Dörfler <axeld@pinc-software.de>

Changed elf_lookup_symbol_address() prototype - due to the way it now returns
its information, it's no longer safe to call this function outside the debugger.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d81a053b 11-May-2004 Axel Dörfler <axeld@pinc-software.de>

Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7529 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eaa91326 27-Apr-2004 Axel Dörfler <axeld@pinc-software.de>

Changed some function return codes to return a status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7330 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50ba16fc 17-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Made C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5075 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9f956562 13-Jan-2003 Axel Dörfler <axeld@pinc-software.de>

Missed that one, obviously.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2451 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ca8da7a 13-Aug-2002 Axel Dörfler <axeld@pinc-software.de>

Backported the new stack crawl command ("sc", not "bt" like in NewOS) from
NewOS. Untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@750 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3cfbecf1 02-Aug-2002 lillo <lillo@nowhere.fake>

First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7ffd31285f81641fcdf718cd4d1f09742611e63 26-Nov-2012 Landon Fuller <landonf@plausible.coop>

Minor style fix


# 60dcdd1339759f12fb892dddda6db177bde891cc 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Minor API cleanup for elf_find_* APIs.


# 79a3b81aa340ac3b28aa599d17150b61ed8b689b 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Move elf_image_arch to elf_common.h


# 798f97cb59bf9475f41c359992bc238872fa4427 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Use new arch_elf_arch_compat() API to find compatible runtime_loader.


# abb1201d294cc5fdb0b29696d89100dc5f29a279 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Remove the FATELF_MATCH_ defines from the public fatelf header.


# cbbca595b2d6bc8aea824f072765880571637e51 25-Nov-2012 Landon Fuller <landonf@plausible.coop>

Clean up the multiple methods of describing an ELF binary arch.


# 7313aafdde593582f96ebe5b304941fac47e1a77 24-Nov-2012 Landon Fuller <landonf@plausible.coop>

Add support for loading FatELF kernel add-ons


# 0e476e50dde8bf8b34b45a4b5a9a0569f5daf371 22-Nov-2012 Landon Fuller <landonf@plausible.coop>

Implement an experimental fix for cwd handling

This could use the eyes of someone more familiar with the kernel and
coding style.


# f30ea778102367f17fb2df2b1b340242763719ff 22-Nov-2012 Landon Fuller <landonf@plausible.coop>

Add kernel-level FatELF user image loading.

Additional work is required to correctly handle relative paths, symbol lookup
in userspace binaries, and kernel-level loading of FatELF kernel
add-ons.


# c3338d918c8e00f2871893930c9804ca174848c6 21-Nov-2012 Landon Fuller <landonf@plausible.coop>

Implement elf_find_best_fat_arch()

Uses the scoring ABI to find the preferred ELF data.


# 8a1903353eedd95266c7241aada3a314c5d35a55 07-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Implemented user debugging support for x86_64.

Reused x86 arch_user_debugger.cpp, with a few minor changes to make
the code work for both 32 and 64 bit. Something isn't quite working
right, if a breakpoint is hit the kernel will hang. Other than that
everything appears to work correctly.


# 24df65921befcd0ad0c5c7866118f922da61cb96 11-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged signals-merge branch into trunk with the following changes:
* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
handlers have been moved to teams. Fixes #5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
of the real-time signal range. Closes #1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes #6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
[set]itimer(). Closes #5682.
* Implemented support for thread cancellation. Closes #5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554.
* Lots over smaller more or less related changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4535495d80c86e19e2610e7444a4fcefe3e0f8e6 10-Jan-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged the signals branch into trunk, with these changes:
* The team and thread kernel structures have been renamed to Team and Thread
respectively and moved into the new BKernel namespace.
* Several (kernel add-on) sources have been converted from C to C++ since
private kernel headers are included that are no longer C compatible.

Changes after merging:
* Fixed gcc 2 build (warnings mainly in the scary firewire bus manager).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40196 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0aad96f945323bdabadd6a91a2cddd5985bbe5f 22-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Allow to use symbols as variables (prefixed with '@'). Now only tab completion
for variable names is missing B-}


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33723 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b36c8ba26ad642c712987f68e7b8ca9bccaa19bb 08-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added elf_get_kernel_image() returning the image for the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30036 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fec47a570239d9505c56b680fb3c2564c9988c14 24-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added functions elf_create_memory_image() and
elf_add_memory_image_symbol(). The former creates and registers a new
image that has not been loaded from a file. The latter adds a symbol to
its symbol table. This is mainly a debug feature, allowing to name code
or data in memory regions that aren't associated with loaded ELF
objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27721 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8839d592bce4b8ffebdb440ed50085fbf397975b 22-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added syscall _kern_read_kernel_image_symbols() for reading a kernel
image's symbol and string tables.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27687 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd1c278d4b64ef9c143903384a85d4c5aabc2770 03-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added elf_get_image_info_for_address() to get an image info for a kernel
image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27300 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2477bce5046dba76204a8c8b75ea773be4ae9748 19-Jan-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for userland symbol lookup in "sc" and "call". Having
used it for an hour or so, I really wonder how we could live without it.
:-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23640 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5793da1edcbf2e1fe0fefbdd45f7d6cefc6524c9 22-Aug-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed elf_lookup_symbol_address() to elf_debug_lookup_symbol_address() and
removed the locking it did, as that doesn't work anymore in the kernel debugger.
The function was not thought to be used outside the debugger, anyway.
Improved usage message from debugger command "ls".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14050 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 74b043d98d35652a6892fc430537a02f5f9d9f76 17-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Removed execute property that was set accidently (since CVS days).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11896 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dca263620a1237a1b79b19805d9ea64dabdede12 20-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Improved headers, updated license, made C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10909 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6fccd3b78824414ba256a77fd083d5ed0ac28248 31-May-2004 Axel Dörfler <axeld@pinc-software.de>

Changed elf_lookup_symbol_address() prototype - due to the way it now returns
its information, it's no longer safe to call this function outside the debugger.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d81a053b902bfb7292384c4da88a8e87e7accaa2 11-May-2004 Axel Dörfler <axeld@pinc-software.de>

Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7529 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eaa9132647e70f179aa8489d23f039fe72c0d016 27-Apr-2004 Axel Dörfler <axeld@pinc-software.de>

Changed some function return codes to return a status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7330 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50ba16fccf29cbdb05ce68d65a2440e796e430ac 17-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Made C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5075 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9f956562e531023a72dcaae90a8525c02aa26f7b 13-Jan-2003 Axel Dörfler <axeld@pinc-software.de>

Missed that one, obviously.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2451 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ca8da7a4b46342b22fa985c7813b558f831484f 13-Aug-2002 Axel Dörfler <axeld@pinc-software.de>

Backported the new stack crawl command ("sc", not "bt" like in NewOS) from
NewOS. Untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@750 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3cfbecf1a6bfb811556eed42284ad75f9568a9fe 02-Aug-2002 lillo <lillo@nowhere.fake>

First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96