History log of /openbsd-current/lib/libc/arch/amd64/string/bcmp.S
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.8 01-Jan-2022 guenther

Add ENTRY_NB() macro for doing an ASM function entry without setting
the binding to global (NB == "no binding"), as clang 13 is now
warning about changing the binding from global to weak.

This first pass does amd64 and sparc64 and pulls DEFS.h out of the
per-arch directory to a common directory; others to follow

ok kettenis@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.7 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.6 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.5 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.4 29-May-2015 uebayasi

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


Revision tags: OPENBSD_5_7_BASE
# 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@


# 1.7 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.6 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.5 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.4 29-May-2015 uebayasi

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


Revision tags: OPENBSD_5_7_BASE
# 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@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.6 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.5 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.4 29-May-2015 uebayasi

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


Revision tags: OPENBSD_5_7_BASE
# 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@