History log of /openbsd-current/lib/libc/arch/amd64/string/strchr.S
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.9 03-Jul-2018 mortimer

Add retguard macros for libc.
ok deraadt


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.8 14-Nov-2015 guenther

Split the non-syscall ASM bits from SYS.h into DEFS.h and use that in the
non-syscall .S source

ok millert@ miod@


# 1.7 31-Aug-2015 guenther

Add framework for resolving (pun intended) libc namespace issues, using
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@


Revision tags: OPENBSD_5_8_BASE
# 1.6 29-May-2015 uebayasi

Sprinkle END() in some straightforward *.S files that have ENTRY(). The
resulting *.o have "FUNC" symbols with size set.


# 1.5 15-May-2015 millert

Make index/rindex weak aliases of strchr/strrchr since they are not
part of the ISO C standard and have also been dropped from POSIX.
OK guenther@ kettenis@


Revision tags: OPENBSD_5_7_BASE
# 1.4 09-Dec-2014 reyk

Import new amd64 assembly versions of strchr/index, strrchr/rindex,
and strlen that provide a significantly faster performance than our
previous .c or .S implementations. Based on NetBSD's code.

Tested with different amd64 CPUs.

ok deraadt@ mikeb@


# 1.3 30-Nov-2014 deraadt

restructure libc/string + libc/arch/*/string coperation regarding
(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


# 1.2 20-Nov-2014 deraadt

One of these optimized stubs creates some incredibly subtle damage,
causing as(1) to create a wrong nop-sled for text segment aligns.
Revert, until it is found and fixed.


# 1.1 20-Nov-2014 reyk

Add amd64 assembler versions of some standard functions to libc. The
code is already used in the kernel and the files are unmodified copies
from src/sys/lib/libkern/arch/amd64/. Depending on the function, this
gives us some speedup in userland.

ok deraadt@, no objections from miod@