#
47320dd0 |
|
06-Oct-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
configure & build: Rework legacy GCC detection to parse versions outside of Jam. Jam comparison logic is string-based, and so was detecting GCC >= 10 as being < 2. This rectifies that by removing the GCC version parsing from Jam logic entirely, and setting various BuildConfig variables instead. Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
936e89e1 |
|
04-Apr-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
libroot/os: Reshuffle stack_trace.cpp a little more. * Add missing "generic" inclusion on x86; fixes the build there. * Name the file the same way as the other files in its directory.
|
#
2f2d56e2 |
|
01-Apr-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
Move stack_trace.cpp to generic directory. 4 architectures are using it, so it is generic enough. Make it error out for platforms where the stack grows in the other direction. Another implementation can be added for them. Change-Id: Ia52b5dd34da7b5ebcca0782af079c43d72ba3a8e Reviewed-on: https://review.haiku-os.org/c/1340 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
c012e7e9 |
|
11-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
libroot: Add private __arch_get_stack_trace(). It can be used to get a stack trace of the current thread. Note that this works by walking frame pointers and will not produce anything useful if an application is compiled with the frame pointers omitted. The stack base and end addresses have to be provided as arguments and are used to check that the frame pointers fall within that range. These values are thread specific and can be retrieved with get_thread_info(). No other sanity checks (like checking for loops in the linked list) are done. This is a simplified rewrite of the stack trace code from the kernel debugger. As this code is common to x86 and x86_64 but is not generic across architectures I introduced x86_common as a directory to put such sources.
|
#
b0944c78 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
5774b5af |
|
11-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
C++ified remaining C users of arch_cpu.h.
|
#
58e784df |
|
14-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't build compatibility.c for non-gcc2 anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6b202f4e |
|
13-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are <util/*> headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e55e1a0e |
|
03-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the PPC specific RTC support. We search for an "rtc" device in the Open Firmware implementation of boot loader and pass its path to the kernel, where it's opened and used for getting/setting the real time. The expensive atomic_*64() on PPC 32-bit make things a bit more complicated. Moreover, missing 64 bit multiplication and division instructions won't really allow system_time() to be anywhere near as fast as on x86. :-/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15837 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
353d20c0 |
|
27-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* libroot and the runtime loader are no longer built with kernel rules. * New rule Ld, analogously to KernelLd. * Added StaticLibrary parameter for supplying additional objects. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc3 |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bad54f6f |
|
22-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added symbol exports for _kset_mon_limit_() and _kset_fd_limit_(). Don't do anything yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12768 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
718b5114 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
This should fix the build after all the kernel/system renaming. If anything is still broken (and was not before :)), please shout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e75 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c012e7e9305fa8acbf3ead9f8b1ca19b7c677b06 |
|
11-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
libroot: Add private __arch_get_stack_trace(). It can be used to get a stack trace of the current thread. Note that this works by walking frame pointers and will not produce anything useful if an application is compiled with the frame pointers omitted. The stack base and end addresses have to be provided as arguments and are used to check that the frame pointers fall within that range. These values are thread specific and can be retrieved with get_thread_info(). No other sanity checks (like checking for loops in the linked list) are done. This is a simplified rewrite of the stack trace code from the kernel debugger. As this code is common to x86 and x86_64 but is not generic across architectures I introduced x86_common as a directory to put such sources.
|
#
b0944c78b074a8110bd98e060415d0e8f38a7f65 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
5774b5afa4f73fb010a7b7af03a9aa5f6deaec93 |
|
11-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
C++ified remaining C users of arch_cpu.h.
|
#
58e784dfe67ff7c9c14df9ec63785d1e667b533e |
|
14-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't build compatibility.c for non-gcc2 anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6b202f4e3da73d4c131355fcd82b792d153f84f6 |
|
13-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are <util/*> headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e55e1a0e666da61eb901533dae4af2ec44d216d8 |
|
03-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the PPC specific RTC support. We search for an "rtc" device in the Open Firmware implementation of boot loader and pass its path to the kernel, where it's opened and used for getting/setting the real time. The expensive atomic_*64() on PPC 32-bit make things a bit more complicated. Moreover, missing 64 bit multiplication and division instructions won't really allow system_time() to be anywhere near as fast as on x86. :-/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15837 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
353d20c0c5f19d1120a8acb0f4f7f3b266da730f |
|
27-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* libroot and the runtime loader are no longer built with kernel rules. * New rule Ld, analogously to KernelLd. * Added StaticLibrary parameter for supplying additional objects. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc301721b1f472e8297a898d4eaa2f2ee3a |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bad54f6fa49a13b6dc21d303ce1d5d35b2242b89 |
|
22-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added symbol exports for _kset_mon_limit_() and _kset_fd_limit_(). Don't do anything yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12768 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
718b5114e0613a5602d5d6296afeaa7f3ee4b576 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
This should fix the build after all the kernel/system renaming. If anything is still broken (and was not before :)), please shout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e752606778be5dd7379f319fe43cb3f6b8c |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|