summaryrefslogtreecommitdiffstats
path: root/libc/string/x86_64
Commit message (Collapse)AuthorAgeFilesLines
* guard *_chk() related stuff with UCLIBC_HAS_FORTIFYPeter S. Mazinger2011-03-092-7/+3
| | | | | | | | | | | | Guard x86_64 memset_chk/memcpy_chk be guarded by UCLIBC_HAS_FORTIFY. Compile ssp.c if one of SSP/FORTIFY is defined. Guard __chk_fail() with UCLIBC_HAS_FORTIFY and move its prototype to libc-internal.h. Disable _FORTIFY_SOURCE if UCLIBC_HAS_FORTIFY is not set. The config option itself is omitted on purpose, headers need to be reviewed and generic *_chk() functions need to be first provided. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
* x86_64: fix multiple definition of chk functionsAustin Foxley2009-12-194-1/+7
| | | | | | also enable __chk_fail and only try to call it when SSP is on Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* build: Get rids of PIC macro using compiler flag __PIC__ insteadCarmelo Amoroso2009-12-162-3/+3
| | | | | | | Based on Peter Mazinger's comments on a recent commit, I decided to get rids of all occurrences of PIC changing them to __PIC__ Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* amd64 string ops: use alignment more carefully, and comment it.Denis Vlasenko2008-04-158-30/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By capping max padding to not be bigger than three next insns, we avoid having ridiculously big NOPs like this one: 53:66 66 66 66 2e 0f 1f nopw %cs:0x0(%rax,%rax,1) 5a:84 00 00 00 00 00 which was bigger than next three insns combined! Size changes: text data bss dec hex filename 102 0 0 102 66 x86_64/memcpy.o 102 0 0 102 66 x86_64.old/memcpy.o 90 0 0 90 5a x86_64/mempcpy.o 102 0 0 102 66 x86_64.old/mempcpy.o 210 0 0 210 d2 x86_64/memset.o 242 0 0 242 f2 x86_64.old/memset.o 213 0 0 213 d5 x86_64/stpcpy.o 220 0 0 220 dc x86_64.old/stpcpy.o 428 0 0 428 1ac x86_64/strcat.o 444 0 0 444 1bc x86_64.old/strcat.o 417 0 0 417 1a1 x86_64/strchr.o 418 0 0 418 1a2 x86_64.old/strchr.o 33 0 0 33 21 x86_64/strcmp.o 33 0 0 33 21 x86_64.old/strcmp.o 213 0 0 213 d5 x86_64/strcpy.o 220 0 0 220 dc x86_64.old/strcpy.o 135 0 0 135 87 x86_64/strcspn.o 151 0 0 151 97 x86_64.old/strcspn.o 225 0 0 225 e1 x86_64/strlen.o 233 0 0 233 e9 x86_64.old/strlen.o 140 0 0 140 8c x86_64/strpbrk.o 156 0 0 156 9c x86_64.old/strpbrk.o 135 0 0 135 87 x86_64/strspn.o 151 0 0 151 97 x86_64.old/strspn.o Also, a few files got their .text alignment relaxed from 16 to 8 bytes, which reduces padding at link time.
* amd64 string ops: replace some instructions by smaller ones,Denis Vlasenko2008-04-155-13/+12
| | | | | e.g. testb $0xff, %cl -> testb %cl, %cl
* Remove stray code alignment (.align 16 and .align 4 directives)Denis Vlasenko2007-07-297-11/+12
| | | | | from i386 and x86_64.
* Add new option for SuSv3 legacy functions and use it for ↵Peter S. Mazinger2006-03-232-2/+7
| | | | bcopy/bzero/bcmp/index/rindex
* unify duplicated code cause i get tired of updating this stuffMike Frysinger2006-02-032-31/+3
|
* remove hidden versions of bzero, unused in libc.soPeter S. Mazinger2006-02-011-1/+0
|
* s/libc_hidden_proto/libc_hidden_def/Peter S. Mazinger2006-01-141-1/+1
|
* hidden_def/hidden_proto: convert all users (I hope) termios split, add some ↵Peter S. Mazinger2006-01-1414-41/+40
| | | | missing headers, other jump relocs removed
* copy strcoll aliases from armMike Frysinger2006-01-091-0/+3
|
* add missing __strcoll aliasMike Frysinger2006-01-091-0/+1
|
* Use strong_alias everywhere instead of .global/.set. Correct some cases ↵Peter S. Mazinger2006-01-0314-46/+33
| | | | where the non-hidden version was used.
* Remove test filePeter S. Mazinger2005-12-011-1454/+0
|
* Remove TOPDIRPeter S. Mazinger2005-11-211-3/+1
|
* Add hidden versionsPeter S. Mazinger2005-11-1210-19/+52
|
* Last bits for IMA, now everything can be built w/ DOMULTI=y on gcc-3.4.4 ↵Peter S. Mazinger2005-11-031-1/+2
| | | | with my config (no locale, the rest enabled). Not tested if libc is complete and usable. All the files listed in *_NO_MULTI need love, best would be to replace all multisources w/ single sources.
* Replace all Makefiles for new build infrastucturePeter S. Mazinger2005-10-291-27/+8
|
* Renamed arch specific Makefile.in to Makefile.arch, else if TARGET_ARCH does ↵Peter S. Mazinger2005-10-281-1/+0
| | | | not exist, we reinclude the including Makefile. Moved arch/common fpu_control.h link creation into main Makefile.in. Updated the link creation script to remove all the other Makefiles
* All Makefile.in's. Only arm/i386/mips/powerpc/x86_64 are done, the other ↵Peter S. Mazinger2005-10-251-0/+28
| | | | archs lack proper crt1. The Makefiles in extra/scripts are intended to be linked into each dir, where it is necessary to build locally.
* Rewrote almost all Makefiles: do not use strip $(x),y; run strip on all ↵Peter S. Mazinger2005-10-121-10/+13
| | | | objects at once; use :=//$</$^; use CRT_SRC/CRT_OBJ/SCRT_OBJ/CSRC/COBJ/SSRC/SOBJ/MSRC/MOBJ where no more is needed, if only CSRC is present use OBJS directly instead of COBJ; CTOR_TARGETS are created directly in lib; remove unused/unneeded parts. Hope I haven't broken too much.
* merge x86_64 optimized string supportMike Frysinger2005-09-2115-0/+2871