]> sourceware.org Git - glibc.git/commit
Remove bits/string.h.
authorZack Weinberg <zackw@panix.com>
Thu, 17 Nov 2016 14:26:27 +0000 (09:26 -0500)
committerZack Weinberg <zackw@panix.com>
Tue, 20 Jun 2017 12:21:24 +0000 (08:21 -0400)
commit09a596cc2cf4e0f9f8e9f3bba4b1a97efcb13bcb
tree683187ce3396bef30d751b9dc139e9f90affffaa
parentb8216e82783774e068106486a8f67357f63acc67
Remove bits/string.h.

These machine-dependent inline string functions have never been on by
default, and even if they were a good idea at the time they were
introduced, they haven't really been touched in ten to fifteen years
and probably aren't a good idea on current-gen processors.  Current
thinking is that this class of optimization is best left to the
compiler.

* bits/string.h, string/bits/string.h
* sysdeps/aarch64/bits/string.h
* sysdeps/m68k/m680x0/m68020/bits/string.h
* sysdeps/s390/bits/string.h, sysdeps/sparc/bits/string.h
* sysdeps/x86/bits/string.h: Delete file.

* string/string.h: Don't include bits/string.h.
* string/bits/string3.h: Rename to bits/string_fortified.h.
No need to undef various symbols that the removed headers
might have defined as macros.
* string/Makefile (headers): Remove bits/string.h, change
bits/string3.h to bits/string_fortified.h.
* string/string-inlines.c: Update commentary.  Remove definitions
of various macros that nothing looks at anymore.  Don't directly
include bits/string.h. Set _STRING_INLINE_unaligned here, based on
compiler-predefined macros.
* string/strncat.c: If STRNCAT is not defined, or STRNCAT_PRIMARY
_is_ defined, provide internal hidden alias __strncat.
* include/string.h: Declare internal hidden alias __strncat.
Only forward __stpcpy to __builtin_stpcpy if __NO_STRING_INLINES is
not defined.
* include/bits/string3.h: Rename to bits/string_fortified.h,
update to match above.

* sysdeps/i386/string-inlines.c: Define compat symbols for
everything formerly defined by sysdeps/x86/bits/string.h.
Make existing definitions into compat symbols as well.
Remove some no-longer-necessary messing around with macros.

* sysdeps/powerpc/powerpc32/power4/multiarch/mempcpy.c
* sysdeps/powerpc/powerpc64/multiarch/mempcpy.c
* sysdeps/powerpc/powerpc64/multiarch/stpcpy.c
* sysdeps/s390/multiarch/mempcpy.c
No need to define _HAVE_STRING_ARCH_mempcpy.
Do define __NO_STRING_INLINES and NO_MEMPCPY_STPCPY_REDIRECT.

* sysdeps/i386/i686/multiarch/strncat-c.c
* sysdeps/s390/multiarch/strncat-c.c
* sysdeps/x86_64/multiarch/strncat-c.c
Define STRNCAT_PRIMARY.  Don't change definition of libc_hidden_def.
23 files changed:
ChangeLog
bits/string.h [deleted file]
include/bits/string3.h [deleted file]
include/bits/string_fortified.h [new file with mode: 0644]
include/string.h
string/Makefile
string/bits/string_fortified.h [moved from string/bits/string3.h with 89% similarity]
string/string-inlines.c
string/string.h
string/strncat.c
sysdeps/aarch64/bits/string.h [deleted file]
sysdeps/i386/i686/multiarch/strncat-c.c
sysdeps/i386/string-inlines.c
sysdeps/m68k/m680x0/m68020/bits/string.h [deleted file]
sysdeps/powerpc/powerpc32/power4/multiarch/mempcpy.c
sysdeps/powerpc/powerpc64/multiarch/mempcpy.c
sysdeps/powerpc/powerpc64/multiarch/stpcpy.c
sysdeps/s390/bits/string.h [deleted file]
sysdeps/s390/multiarch/mempcpy.c
sysdeps/s390/multiarch/strncat-c.c
sysdeps/sparc/bits/string.h [deleted file]
sysdeps/x86/bits/string.h [deleted file]
sysdeps/x86_64/multiarch/strncat-c.c
This page took 0.054048 seconds and 5 git commands to generate.