summaryrefslogtreecommitdiff
path: root/lib/libc/arm/string
AgeCommit message (Collapse)Author
2024-07-15Remove residual blank line at start of MakefileWarner Losh
This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
2023-08-16Remove $FreeBSD$: one-line sh patternWarner Losh
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16Remove $FreeBSD$: one-line .c patternWarner Losh
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-07-03lib/libc/string: replace ffs/fls implementations with clang builtinsRobert Clausecker
Most architectures we support (except for riscv64) have instructions to compute these functions very quickly. Replace old code with the ffs and clz builtin functions, allowing clang to generate good code for all architectures. As a consequence, toss out arm and i386 ffs() implementations. Sponsored by: FreeBSD Foundation Approved by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D40730
2021-01-28Remove obsolete code gated on _ARM_ARCH_*Andrew Turner
This is all code only run on ARMv4 and ARMv5. Support for these have been dropped from FreeBSD. Differential Revision: https://reviews.freebsd.org/D28314
2021-01-28Remove the old ARMv4 memcpyAndrew Turner
This was only used when building for ARMv4 or some ARMv5 or when _STANDALONE is defined. As ARMv4 and ARMv5 support has been removed, and we only define _STANDALONE in the bootloader where we don't use this version of memcpy we can remove it. Differential Revision: https://reviews.freebsd.org/D28313
2021-01-28Remove leftover big-endian arm supportAndrew Turner
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D28312
2019-12-28arm/ffs.S: remove stale comment.Pedro F. Giffuni
We already use the CLZ instruction. Discussed with: andrew Notes: svn path=/head/; revision=356141
2018-07-27Revert r336773: it removed too much.Warner Losh
r336773 removed all things xscale. However, some things xscale are really armv5. Revert that entirely. A more modest removal will follow. Noticed by: andrew@ Notes: svn path=/head/; revision=336783
2018-07-27Remove xscale supportWarner Losh
The OLD XSCALE stuff hasn't been useful in a while. The original committer (cognet@) was the only one that had boards for it. He's blessed this removal. Newer XSCALE (GUMSTIX) is for hardware that's quite old. After discussion on arm@, it was clear there was no support for keeping it. Differential Review: https://reviews.freebsd.org/D16313 Notes: svn path=/head/; revision=336773
2017-03-02Correct MDSRCS use in <arch>/string/Makefile.inc.Brooks Davis
- Remove .c files which duplicate entries in MISRCS. - Use the same, less merge conflict prone style in all cases. - Use MDSRCS for mips (.c and .S files both ended up in SRCS). - Remove pointless sparc64 Makefile.inc. - Remove uninformative foreign VCS ID entries. Reviewed by: emaste, imp, jhb MFC after: 1 week Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9841 Notes: svn path=/head/; revision=314556
2015-09-29Annotate arm userspace assembler sources stating their tolerance toKonstantin Belousov
the non-executable stack. Reviewed by: andrew Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=288373
2015-05-31Add the needed if-then instructions to build as Thumb-2.Andrew Turner
Notes: svn path=/head/; revision=283831
2014-11-29Switch to the ARM unified assembly language as the clang integrated as onlyAndrew Turner
supports it. Binutils supports it when the ".syntax unified" directive is set. Sponsored by: ABT Systems Ltd Notes: svn path=/head/; revision=275256
2014-08-31In ARM asm code, ensure that every ENTRY(foo) has a matching END(foo).Ian Lepore
The EABI unwind info requires a .fnend for every .fnstart, and newer binutils will complain about seeing two .fnstart in a row. This change allows newer tools to compile our code. Reported by: bapt Reviewed by: imp Notes: svn path=/head/; revision=270882
2012-01-03Merge index() and strchr() together.Ed Schouten
As I looked through the C library, I noticed the FreeBSD MIPS port has a hand-written version of index(). This is nice, if it weren't for the fact that most applications call strchr() instead. Also, on the other architectures index() and strchr() are identical, meaning we have two identical pieces of code in the C library and statically linked applications. Solve this by naming the actual file strchr.[cS] and let it use __strong_reference()/STRONG_ALIAS() to provide the index() routine. Do the same for rindex()/strrchr(). This seems to make the C libraries and static binaries slightly smaller, but this reduction in size seems negligible. Notes: svn path=/head/; revision=229368
2010-03-02The NetBSD Foundation has granted permission to remove clause 3 and 4 fromJoel Dahl
their software. Obtained from: NetBSD Notes: svn path=/head/; revision=204607
2009-06-21- Eliminate extra subcs instruction. I have not noticed before that weStanislav Sedov
always perform substraction now, so no instruction could be rordered to eliminate the conditional substraction. Notes: svn path=/head/; revision=194585
2009-06-21- Fix strncmp on arm. Return 0 as result without performing theStanislav Sedov
main cycle only if the len passed is equal to 0. If end address overflows use last possible address as the end address. Based on: discussion on arm@ MFC after: 1 month Notes: svn path=/head/; revision=194583
2009-05-06revert r191633; this breaks at91 & xscale (likely all arm)Sam Leffler
Notes: svn path=/head/; revision=191836
2009-04-28Change the test at the beginning of strncmp(), from being if (len - 1) < 0Olivier Houchard
to if (len == 0). The length is supposed to be unsigned, so len - 1 < 0 won't happen except if len == 0 anyway, and it would return 0 when it shouldn't, if len was > INT_MAX. Spotted out by: Channa <channa kad gmail com> Notes: svn path=/head/; revision=191633
2007-10-13MFKernel: do not use __XSCALE__ to detect if clz/pld/ldrd/strd areOlivier Houchard
available, use _ARM_ARCH_5/_ARM_ARCH_5E instead. MFC After: 3 days Notes: svn path=/head/; revision=172616
2005-10-03Fix a long line in copyright notice.Olivier Houchard
Pointed out by: Gavin Atkinson gavin.atkinson ury york ac uk Notes: svn path=/head/; revision=150877
2005-10-03Add an asm version of strlen() for arm (how useful).Olivier Houchard
Notes: svn path=/head/; revision=150875
2004-11-09Use the RET macro.Olivier Houchard
For setjmp() and longjmp(), put the signal mask where it's supposed to be, instead of in the space reserved for fp regs. Notes: svn path=/head/; revision=137464
2004-11-07MFKernel: Implement ffs with clz on Xscale.Olivier Houchard
Notes: svn path=/head/; revision=137343
2004-09-23Always use bx for returning on Xscale.Olivier Houchard
Obtained from: NetBSD Notes: svn path=/head/; revision=135683
2004-09-23Fix the align-to-32-bits code.Olivier Houchard
Obtained from: NetBSD Notes: svn path=/head/; revision=135682
2004-05-14Import the FreeBSD/arm libc bits.Olivier Houchard
Obtained from: NetBSD Notes: svn path=/head/; revision=129202