summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/arm/string (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement ffs(3) using the CLZ instructions which has been available everkettenis2018-01-211-43/+6
| | | | | | | | | since ARMv5. Should be much faster but more importantly it removes the data table from .text which could introduce unwanted ROP gadgets. Based on changes in Android/Bionic by Elliott Hughes. ok patrick@
* Partial revert of rev. 1.7, fixes build with clangjca2018-01-191-2/+1
| | | | | | | | | | | The error was: --8<-- ffs.S:57:2: error: unsupported relocation on symbol adrne r2, .L_ffs_table ^ -->8-- Minimal workaround suggested by deraadt@, ok guenther@ kettenis@
* Instead of trying to handle ffs() with the normal rename-mark-hidden-and-aliasguenther2018-01-181-3/+5
| | | | | | | dance, mark it protected. This works better for both gcc and clang: gcc blocks overriding of internal calls, while clang permits inlining again. ok otto@
* Don't use _libc_ prefix when referencing "builtin" symbols with clang.kettenis2017-12-161-2/+2
| | | | Slightly tweaked diff from guenther@
* clang doesn't propagate attributes like "asm labels" and "visibility(hidden)"guenther2017-11-293-6/+6
| | | | | | | | | to builtins like mem{set,cpy,move} and __stack_smash_handler. So, when building with clang, instead mark those as protected visibility to get rid of the PLT relocations. We can't take the address of them then, but that's ok: it's a build-time error not a run-time error. ok kettenis@
* Stop exporting _memcpy, an implementation detail of bcopy/memcpy/memmoveguenther2017-10-294-8/+10
| | | | ok kettenis@ deraadt@
* Use unified syntax such that this compiles with both gcc and clang.kettenis2016-09-181-2/+4
| | | | ok jsg@
* Use internal names for __errno, _memcpy, memset, and {,_}{set,long}jmpguenther2016-08-0610-25/+25
| | | | | | | Eliminate pointless use of PIC_SYM() Split out DEFS.h from SYS.h like some other archs ok kettenis@ deraadt@
* remove duplicate strrchr.c entry in SRCSjsg2016-04-281-2/+2
| | | | ok deraadt@
* Add framework for resolving (pun intended) libc namespace issues, usingguenther2015-08-3110-20/+30
| | | | | | | | | | | | wrapper .h files and asm labels to let internal calls resolve directly and not be overridable or use the PLT. Then, apply that framework to most of the functions in stdio.h, string.h, err.h, and wchar.h. Delete the should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here. tests clean on i386, amd64, sparc64, powerpc, and mips64 naming feedback from kettenis@ and millert@ ok kettenis@
* At some point arm moved to a unified syntax for arm and thumb instructions.jsg2015-06-082-37/+41
| | | | | | | | | While binutils supports both "unified" and "divided" syntax (defaulting to divided) the integrated assembler in clang only supports unified names so switch some files to unified syntax. Similiar changes were made in bitrig and freebsd. No difference in objdump -d output. tested on zaurus by deraadt@, ok miod@
* Make index/rindex weak aliases of strchr/strrchr since they are notmillert2015-05-151-2/+2
| | | | | part of the ISO C standard and have also been dropped from POSIX. OK guenther@ kettenis@
* restructure libc/string + libc/arch/*/string coperation regardingderaadt2014-11-302-9/+16
| | | | | | | | | | | | | | | | (potentially) MD versions (function dependent, not filename dependent) split out memcpy/memmove/bcopy and strchr/index/strrchr/rindex Bring back amd64 .S versions And the final touch: switch all architectures temporarily to MI memcpy.c, which contains syslog + abort for overlapping copies. A nice harsh undefined behaviour. We will clean the entire userland of the remaining issues in this catagory, then switch to the optimised memcpy which skips the memmove check. I tried to cut this change into pieces, but testing each sub-step on every architecture is too time consuming and mindnumbing. ok miod
* remove lint leftovers; ok guenther@okan2012-09-041-4/+1
|
* more rcsid/sccs cleanupderaadt2009-10-282-6/+2
|
* Fix signed vs unsigned issue with memcmp/strncmp where the size parameterdrahn2009-05-032-10/+16
| | | | was incorrectly being treated as signed. ok miod@
* First pass at removing clauses 3 and 4 from NetBSD licenses.ray2008-06-265-40/+5
| | | | | | | | | Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
* LSRCS should refer to the C source version of asm files 'put it in' deraadt@drahn2007-05-171-2/+2
|
* Unbreak libc on arm. -mojmaja2007-05-171-2/+2
|
* fix some lint 'xxx used, but not defined' warnings by properly addingotto2007-05-151-1/+4
| | | | stuff to LSRCS
* zap rcsid.espie2005-08-072-6/+2
| | | | okay deraadt@ (tested them all)
* ARGH, forgot tags.drahn2004-02-0111-0/+11
|
* arm libc support. From NetBSD. currently supports softfloat.drahn2004-02-0111-0/+1002