#
97739603 |
|
12-Oct-2022 |
Axel Dörfler <axeld@pinc-software.de> |
kernel: Added operator delete(ptr, nothrow_t) * This seems to be required when building the DriveEncryption kernel driver with gcc 11.2 on x86-64, at least. Change-Id: Ie1ae09435dd912021957e64d4b9a3e7b05913c33 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5742 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
47472aae |
|
29-Oct-2020 |
Jérôme Duval <jerome.duval@gmail.com> |
kernel: fix gcc2 build
|
#
d56df58f |
|
14-Oct-2020 |
Murai Takashi <tmurai01@gmail.com> |
kernel: Fix -Wformat-security Change-Id: Ie07933315c055ba1e6896e0bf69b12bb6bec62f9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3343 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
d0e1eb7a |
|
03-May-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
mark abort() function as noreturn. It was not specified as such before C11, but that's only because there was no C standard way to do it until then. Fixes #15955. Change-Id: Ied7b7fd94988ed7724460917aebc859b74eaa585 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2558 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
46bca9bd |
|
15-Jun-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
kernel: Make exit() stub truly non-returning.
|
#
edb6d3b1 |
|
01-Aug-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
kernel_cpp: Move the C++14 operator delete out of the header. It seems not all of the kernel includes this, but some use new/delete anyway. Further, operator delete[] was not implemented at all. Possibly fixes the ARM build.
|
#
9ac30627 |
|
18-Jun-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
kernel: Small fixes for Clang.
|
#
9e75e900 |
|
28-May-2018 |
Jérôme Duval <jerome.duval@gmail.com> |
kernel: use non-deprecated signatures for new/delete operators. add posix_memalign(), needed for c++17.
|
#
172c944a |
|
20-May-2018 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
kernel/kernel_cpp: Change nothrow_t syntax for gcc6+ * Fix for explicit constructor change. https://github.com/gcc-mirror/gcc/commit/a3f25f0f Change-Id: I330ad9c3bff1d7f3e0284f3dcda86e17d974c57d
|
#
71e03249 |
|
07-Nov-2015 |
Jonathan Schleifer <js@webkeks.org> |
Move new / delete kernel_cpp.h -> kernel_cpp.cpp new and delete may not be defined as inline, as Clang loudly complains. The same is true for static.
|
#
586995da |
|
30-Aug-2014 |
Ithamar R. Adema <ithamar@upgrade-android.com> |
ARM: make ARM C++ unwind stubs panic As suggested by Francois, thanks for paying attention!
|
#
cbe5cf64 |
|
30-Aug-2014 |
Ithamar R. Adema <ithamar@upgrade-android.com> |
ARM: add a couple of ARM specific stubs These are ARM EABI specific exception handling functions, referenced from the gcc c++ libraries.
|
#
e81d40a7 |
|
17-Aug-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Fix debug build. * Restore missing definitions of std::nothrow and mynothrow that are required for the debug build. * Additionally, cleanup function overrides provided by kernel_cpp, such that any exceptions in kernel, bootloader or runtime_loader will trigger a panic.
|
#
220d0402 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
ffd53936 |
|
01-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Make exit() available in bootloader as well
|
#
7aecb0b2 |
|
01-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Make exit() available in kernel mode Since we are using libraries originally intendent for user mode in kernel mode providing them with some userland functions is inevitable. This particular patch is to make zlib happy and able to call exit() when its debug assertions fails.
|
#
fb8e0889 |
|
04-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added dummy __cxa_atexit() and __cxa_finalize() to the kernel. We might actually implement those, if we decide to support global constructors/destructors in kernel add-ons. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39300 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
74a36670 |
|
25-Jan-2009 |
Michael Lotz <mmlr@mlotz.ch> |
When linking against libgcc already don't include these symbols. Otherwise we get multiple definitions of them when building with GCC4 on a GCC4 host. With that we can now build completely on a GCC4 host with native GCC 4.3.3. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29020 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
56eb43e3 |
|
03-Nov-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made kernel_cpp.h usable in the runtime loader. * Added new(mynothrow) operators which avoid clashes when also linking against libgcc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28474 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
71ec907e |
|
28-Jul-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Build fix for GCC 4 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21731 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
74c0424a |
|
26-Jul-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a mechanism to retrieve a BMessage with eventual error descriptions for _kern_load_image(). * Added KMessage to the runtime_loader (a bit hacky, though) - it will use it to deliver the above mentioned functionality. * load_dependencies() did return the wrong status code in case a library was missing; now it returns B_MISSING_LIBRARY. * load_dependencies() will now try to load all dependencies when a report message is requested; therefore, all missing libraries are listed. * Renamed uspace_program_args to user_space_program_args. * The kernel filled in various members of the user_space_program_args structure unsafely, ie. was not using user_memcpy(). * Renamed some local variables in team.c to better fit our style guide (ie. uargs to userArgs). * Changed Tracker to use the new _kern_load_image() variant on Haiku to retrieve and report all missing libraries. This fixes bug #1324. * Adapted kernel_cpp.cpp to the runtime loader as well; the latter will now compile with _LOADER_MODE defined. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0de38aa0 |
|
23-Sep-2006 |
Jérôme Duval <korli@users.berlios.de> |
added needed symbols for gcc4 linking git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18910 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
20e1d3e5 |
|
16-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added _Unwind_* to make the gcc 4 linker happy, but I'm not sure if this is the correct way. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18870 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aeef8a10 |
|
16-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reverted to the previous version. I was too quick; the boot loader doesn't link against libsupc++ and still needs the symbol. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9b2e7612 |
|
16-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
No need to define __cxa_pure_virtual. We're linking against libsupc++ anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14967 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6d865282 |
|
16-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Link the kernel against libsupc++.a -- we're using RTTI after all. Added missing symbols to kernel_cpp.cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14965 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
758b1d0e |
|
12-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixes that make Haiku build with gcc 4. Mainly out of the following categories: * Missing includes (like <stdlib.h> and <string.h>). * Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so. * Local variables shadowing parameters. * Default parameters in function definitions (as opposed to function declarations). * All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported explicitly from the std:: namespace now. * "new (sometype)[...]" must read "new sometype[...]", even if sometype is something like "const char *". * __FUNCTION__ is no longer a string literal (but a string expression), i.e. 'printf(__FUNCTION__ ": ...\n")' is invalid code. * A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes" is an invalid expression. * "friend class SomeClass" only works when SomeClass is known before. Otherwise the an inner class with that name is considered as friend. gcc 4 is much pickier about scopes. * gcc 4 is generally stricter with respect to type conversions in C. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d690920 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed system/core to system/kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12360 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
586995da4728f10831c45615b43139c0d7b36a24 |
|
30-Aug-2014 |
Ithamar R. Adema <ithamar@upgrade-android.com> |
ARM: make ARM C++ unwind stubs panic As suggested by Francois, thanks for paying attention!
|
#
cbe5cf641defde6be1dfa2a173e071958b0edbf5 |
|
30-Aug-2014 |
Ithamar R. Adema <ithamar@upgrade-android.com> |
ARM: add a couple of ARM specific stubs These are ARM EABI specific exception handling functions, referenced from the gcc c++ libraries.
|
#
e81d40a7c85f19ac767c347a326a316348b7144e |
|
17-Aug-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Fix debug build. * Restore missing definitions of std::nothrow and mynothrow that are required for the debug build. * Additionally, cleanup function overrides provided by kernel_cpp, such that any exceptions in kernel, bootloader or runtime_loader will trigger a panic.
|
#
220d04022750f40f8bac8f01fa551211e28d04f2 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
ffd539362046a9ba5922cf234be872fd7278212a |
|
01-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Make exit() available in bootloader as well
|
#
7aecb0b276462f84b4fa6ef94357b9bef74a6e21 |
|
01-Oct-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel/util: Make exit() available in kernel mode Since we are using libraries originally intendent for user mode in kernel mode providing them with some userland functions is inevitable. This particular patch is to make zlib happy and able to call exit() when its debug assertions fails.
|
#
fb8e088927324a570475577fac5041883f0045a6 |
|
04-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added dummy __cxa_atexit() and __cxa_finalize() to the kernel. We might actually implement those, if we decide to support global constructors/destructors in kernel add-ons. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39300 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
74a366707fd27fa6590d0e6e22aebfa339b4b5c7 |
|
25-Jan-2009 |
Michael Lotz <mmlr@mlotz.ch> |
When linking against libgcc already don't include these symbols. Otherwise we get multiple definitions of them when building with GCC4 on a GCC4 host. With that we can now build completely on a GCC4 host with native GCC 4.3.3. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29020 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
56eb43e3ca9e1274a5b39bf4e2bd266bd8cb525a |
|
03-Nov-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made kernel_cpp.h usable in the runtime loader. * Added new(mynothrow) operators which avoid clashes when also linking against libgcc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28474 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
71ec907eaa172992c819c58fd547980054dd84b3 |
|
28-Jul-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Build fix for GCC 4 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21731 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
74c0424a43b550536d4b55b8fc13631ca4edfcb0 |
|
26-Jul-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a mechanism to retrieve a BMessage with eventual error descriptions for _kern_load_image(). * Added KMessage to the runtime_loader (a bit hacky, though) - it will use it to deliver the above mentioned functionality. * load_dependencies() did return the wrong status code in case a library was missing; now it returns B_MISSING_LIBRARY. * load_dependencies() will now try to load all dependencies when a report message is requested; therefore, all missing libraries are listed. * Renamed uspace_program_args to user_space_program_args. * The kernel filled in various members of the user_space_program_args structure unsafely, ie. was not using user_memcpy(). * Renamed some local variables in team.c to better fit our style guide (ie. uargs to userArgs). * Changed Tracker to use the new _kern_load_image() variant on Haiku to retrieve and report all missing libraries. This fixes bug #1324. * Adapted kernel_cpp.cpp to the runtime loader as well; the latter will now compile with _LOADER_MODE defined. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0de38aa00b83748c5dba477404abd233fb3339f2 |
|
23-Sep-2006 |
Jérôme Duval <korli@users.berlios.de> |
added needed symbols for gcc4 linking git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18910 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
20e1d3e5e2006a4039814ff1da3274006a491d8f |
|
16-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added _Unwind_* to make the gcc 4 linker happy, but I'm not sure if this is the correct way. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18870 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aeef8a1098ad83bd5e5dda658cccfc7105e4b8af |
|
16-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reverted to the previous version. I was too quick; the boot loader doesn't link against libsupc++ and still needs the symbol. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9b2e76121bb49112dfeae279669792ae24970902 |
|
16-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
No need to define __cxa_pure_virtual. We're linking against libsupc++ anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14967 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6d865282d4c0348555ab6a2402caea72f8895b2e |
|
16-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Link the kernel against libsupc++.a -- we're using RTTI after all. Added missing symbols to kernel_cpp.cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14965 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
758b1d0e05fe1042cce6e00d194a147802d4f9be |
|
12-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixes that make Haiku build with gcc 4. Mainly out of the following categories: * Missing includes (like <stdlib.h> and <string.h>). * Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so. * Local variables shadowing parameters. * Default parameters in function definitions (as opposed to function declarations). * All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported explicitly from the std:: namespace now. * "new (sometype)[...]" must read "new sometype[...]", even if sometype is something like "const char *". * __FUNCTION__ is no longer a string literal (but a string expression), i.e. 'printf(__FUNCTION__ ": ...\n")' is invalid code. * A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes" is an invalid expression. * "friend class SomeClass" only works when SomeClass is known before. Otherwise the an inner class with that name is considered as friend. gcc 4 is much pickier about scopes. * gcc 4 is generally stricter with respect to type conversions in C. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d690920ac4d0cd27eb3c118fb2b0862615869e0 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed system/core to system/kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12360 a95241bf-73f2-0310-859d-f6bbb57e9c96
|