#
46a6070b |
|
31-Aug-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
libroot: Replace strcspn and strchrnul with musl versions. Removes the last BSD advertising clause from the "string" directory.
|
#
092b6d4a |
|
09-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
libroot: Replace custom ffs implementation with musl's. It already has a per-arch implementation or a fallback in musl's own arch_atomic.h, which we already imported so we might as well leverage it.
|
#
5e36a367 |
|
23-May-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Convert strdup.c to C++.
|
#
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).
|
#
e5b4a167 |
|
25-Apr-2012 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Since we are patching strncpy.c change it over to strncpy.cpp.
|
#
87dfde44 |
|
29-Dec-2011 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Stop using glibc's asm strlen and use our own. Mostly done because olta want less dependency on glibc. It should also make porting a tiny bit simpler. Testresults, mean values on Haiku from libMicro: * with glibc: strlen_10: 0.03859S, strlen_1k: 1.67075S. * with strlen.cpp: strlen_10: 0.03854S, strlen_1k: 1.66938S. So at least on my machine it's possible to beat glibc ;)
|
#
55cf6996 |
|
29-Dec-2011 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Rename strlen.c strnlen.c to strlen.cpp strnlen.cpp. No changes in the files themselves in this commit.
|
#
ae901935 |
|
24-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Introduce __set_errno() throughout libroot. * add errno_private.h, which defines the __set_errno() macro with and without tracing * instead of setting errno manually, all libroot's code now invokes __set_errno(), which makes it much easier to trace changes to errno * redirect glibc's use of __set_errno() to our own version
|
#
a3f66598 |
|
23-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* reintegrated posix-locale git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18f27bf1 |
|
18-Jan-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added POSIX function strndup(), closing ticket #3309. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28939 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b18c9b97 |
|
10-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented x86 assembly version of memset(). * memset() is now available through the commpage. * CPU modules can provide a model-optimized memset(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27952 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
379ad6d0 |
|
09-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the arch specific stuff in src/system/kernel/lib into arch/... subdirectories. Also moved the x86 kernel arch_string.S there. * Moved memcpy.c from src/system/libroot/posix/string into the arch/generic subdirectory. * Dealt with the consequences of moving things around. Affected are also the boot loader and runtime loader builds. Adjust the m68k and ppc parts, too, but only the x86 build is tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
765ae3a7 |
|
02-Jul-2008 |
Jérôme Duval <korli@users.berlios.de> |
Applied patch from Mika Lindqvist: This patch implements both strlwr() and strupr() functions in libroot and includes strupr() in kernel build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26226 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
|
#
34b3b26b |
|
10-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged branch haiku/branches/developer/bonefish/optimization revision 23139 into trunk, with roughly the following changes (for details svn log the branch): * The int 99 syscall handler is now fully in assembly. * Added a sysenter/sysexit handler and use it on Pentiums that support it (via commpage). * Got rid of i386_handle_trap(). A bit of functionality was moved into the assembly handler which now uses a jump table to call C functions handling the respective interrupt. * Some optimizations to get user debugger support code out of the interrupt handling path. * Introduced a thread::flags fields which allows to skip handling of rare events (signals, user debug enabling/disabling) on the common interrupt handling path. * Got rid of the explicit iframe stack. The iframes can still be retrieved by iterating through the stack frames. * Made the commpage an architecture independent feature. It's used for the real time data stuff (instead of creating a separate area). * The x86 CPU modules can now provide processor optimized versions for common functions (currently memcpy() only). They are used in the kernel and are provided to the userland via commpage entries. * Introduced build system feature allowing easy use of C structure member offsets in assembly code. Changes after merging: * Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp (caused by refactoring and introduction of "call" debugger command). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
831486a2 |
|
16-Apr-2007 |
Travis Geiselbrecht <geist@foobox.com> |
Turn the assembly optimized memcpy (simple rep movsd) back on for x86. Had to hack around the make system a bit, and the result is pretty nasty, specifically due to the amount of places in the system where various targets poke their fingers into the libroot directory. The solution is less than optimal, but should work for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3b74cca6 |
|
16-Mar-2006 |
Jérôme Duval <korli@users.berlios.de> |
replaced strlen with glibc optimized version i586 and powerpc32 if build fails, simply delete the object file posix_build.o manually git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16819 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
|
#
ef9b2fc2 |
|
13-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added temporary implementation of strxfrm(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14909 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4d9b4412 |
|
30-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added memccpy() - not there in BeOS, but part of the POSIX specs. Contributed by Alexander Deynichenko. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14592 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
|
#
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
|
#
5e36a367d7edc677c0183c7a6fc6b6ec5bb40cf1 |
|
23-May-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Convert strdup.c to C++.
|
#
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).
|
#
e5b4a1671d907d14bf0b61efc30a93de7c96709d |
|
25-Apr-2012 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Since we are patching strncpy.c change it over to strncpy.cpp.
|
#
87dfde44f7601187b41036c6c98ae484af883e64 |
|
29-Dec-2011 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Stop using glibc's asm strlen and use our own. Mostly done because olta want less dependency on glibc. It should also make porting a tiny bit simpler. Testresults, mean values on Haiku from libMicro: * with glibc: strlen_10: 0.03859S, strlen_1k: 1.67075S. * with strlen.cpp: strlen_10: 0.03854S, strlen_1k: 1.66938S. So at least on my machine it's possible to beat glibc ;)
|
#
55cf69968f4d5be68301b548687d9b81cbee383a |
|
29-Dec-2011 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Rename strlen.c strnlen.c to strlen.cpp strnlen.cpp. No changes in the files themselves in this commit.
|
#
ae9019359606f1db67632ef51a77ce70001d3770 |
|
24-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Introduce __set_errno() throughout libroot. * add errno_private.h, which defines the __set_errno() macro with and without tracing * instead of setting errno manually, all libroot's code now invokes __set_errno(), which makes it much easier to trace changes to errno * redirect glibc's use of __set_errno() to our own version
|
#
a3f665982e2e078ba42e7bf941bd5f3dd8989c55 |
|
23-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* reintegrated posix-locale git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18f27bf19f272f703b8be28c4ceeff837fb6c0ae |
|
18-Jan-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added POSIX function strndup(), closing ticket #3309. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28939 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b18c9b97aeb4a7af1c5bca0bc99f02ad19e716f4 |
|
10-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented x86 assembly version of memset(). * memset() is now available through the commpage. * CPU modules can provide a model-optimized memset(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27952 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
379ad6d0372d6b3242b4a56925f5b8512d63500f |
|
09-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the arch specific stuff in src/system/kernel/lib into arch/... subdirectories. Also moved the x86 kernel arch_string.S there. * Moved memcpy.c from src/system/libroot/posix/string into the arch/generic subdirectory. * Dealt with the consequences of moving things around. Affected are also the boot loader and runtime loader builds. Adjust the m68k and ppc parts, too, but only the x86 build is tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
765ae3a785157ae7d8aa018280139122a7ec5443 |
|
02-Jul-2008 |
Jérôme Duval <korli@users.berlios.de> |
Applied patch from Mika Lindqvist: This patch implements both strlwr() and strupr() functions in libroot and includes strupr() in kernel build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26226 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
|
#
34b3b26b3b8c46ba46ddde037b10dd173f4936d6 |
|
10-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged branch haiku/branches/developer/bonefish/optimization revision 23139 into trunk, with roughly the following changes (for details svn log the branch): * The int 99 syscall handler is now fully in assembly. * Added a sysenter/sysexit handler and use it on Pentiums that support it (via commpage). * Got rid of i386_handle_trap(). A bit of functionality was moved into the assembly handler which now uses a jump table to call C functions handling the respective interrupt. * Some optimizations to get user debugger support code out of the interrupt handling path. * Introduced a thread::flags fields which allows to skip handling of rare events (signals, user debug enabling/disabling) on the common interrupt handling path. * Got rid of the explicit iframe stack. The iframes can still be retrieved by iterating through the stack frames. * Made the commpage an architecture independent feature. It's used for the real time data stuff (instead of creating a separate area). * The x86 CPU modules can now provide processor optimized versions for common functions (currently memcpy() only). They are used in the kernel and are provided to the userland via commpage entries. * Introduced build system feature allowing easy use of C structure member offsets in assembly code. Changes after merging: * Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp (caused by refactoring and introduction of "call" debugger command). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
831486a2d3ba8eb2a012bc59083f383811fff5a3 |
|
16-Apr-2007 |
Travis Geiselbrecht <geist@foobox.com> |
Turn the assembly optimized memcpy (simple rep movsd) back on for x86. Had to hack around the make system a bit, and the result is pretty nasty, specifically due to the amount of places in the system where various targets poke their fingers into the libroot directory. The solution is less than optimal, but should work for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3b74cca68e5d08e26e329de014ebed0f9588dc5a |
|
16-Mar-2006 |
Jérôme Duval <korli@users.berlios.de> |
replaced strlen with glibc optimized version i586 and powerpc32 if build fails, simply delete the object file posix_build.o manually git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16819 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
|
#
ef9b2fc28bfe090f07d6239566a4bb62118b7c42 |
|
13-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added temporary implementation of strxfrm(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14909 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4d9b4412bd77400f0a00736d9aaf12adbf6d447d |
|
30-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added memccpy() - not there in BeOS, but part of the POSIX specs. Contributed by Alexander Deynichenko. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14592 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
|
#
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
|