mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
16396c41de
As discussed in https://sourceware.org/ml/libc-alpha/2015-10/msg00403.html the setting of _STRING_ARCH_unaligned currently controls the external GLIBC ABI as well as selecting the use of unaligned accesses withing GLIBC. Since _STRING_ARCH_unaligned was recently changed for AArch64, this would potentially break the ABI in GLIBC 2.23, so split the uses and add _STRING_INLINE_unaligned to select the string ABI. This setting must be fixed for each target, while _STRING_ARCH_unaligned may be changed from release to release. _STRING_ARCH_unaligned is used unconditionally in glibc. But <bits/string.h>, which defines _STRING_ARCH_unaligned, isn't included with -Os. Since _STRING_ARCH_unaligned is internal to glibc and may change between glibc releases, it should be made private to glibc. _STRING_ARCH_unaligned should defined in the new string_private.h heade file which is included unconditionally from internal <string.h> for glibc build. [BZ #19462] * bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * include/string.h: Include <string_private.h>. * string/bits/string2.h: Replace _STRING_ARCH_unaligned with _STRING_INLINE_unaligned. * sysdeps/aarch64/bits/string.h (_STRING_ARCH_unaligned): Removed. (_STRING_INLINE_unaligned): New. * sysdeps/aarch64/string_private.h: New file. * sysdeps/generic/string_private.h: Likewise. * sysdeps/m68k/m680x0/m68020/string_private.h: Likewise. * sysdeps/s390/string_private.h: Likewise. * sysdeps/x86/string_private.h: Likewise. * sysdeps/m68k/m680x0/m68020/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * sysdeps/s390/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * sysdeps/sparc/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. * sysdeps/x86/bits/string.h (_STRING_ARCH_unaligned): Renamed to ... (_STRING_INLINE_unaligned): This. |
||
---|---|---|
.. | ||
byteswap-16.h | ||
byteswap.h | ||
confname.h | ||
dirent.h | ||
dlfcn.h | ||
elfclass.h | ||
endian.h | ||
environments.h | ||
errno.h | ||
fcntl.h | ||
fenv.h | ||
fenvinline.h | ||
huge_val.h | ||
huge_valf.h | ||
huge_vall.h | ||
in.h | ||
inf.h | ||
ioctl-types.h | ||
ioctls.h | ||
ipc.h | ||
ipctypes.h | ||
libm-simd-decl-stubs.h | ||
link.h | ||
local_lim.h | ||
math-vector.h | ||
mathdef.h | ||
mathinline.h | ||
mman-linux.h | ||
mman.h | ||
mqueue.h | ||
msq.h | ||
nan.h | ||
netdb.h | ||
param.h | ||
poll.h | ||
posix_opt.h | ||
pthreadtypes.h | ||
resource.h | ||
sched.h | ||
select.h | ||
sem.h | ||
setjmp.h | ||
shm.h | ||
sigaction.h | ||
sigcontext.h | ||
siginfo.h | ||
signum.h | ||
sigset.h | ||
sigstack.h | ||
sigthread.h | ||
sockaddr.h | ||
socket.h | ||
stat.h | ||
statfs.h | ||
statvfs.h | ||
stdlib-bsearch.h | ||
string.h | ||
stropts.h | ||
sys_errlist.h | ||
syslog-path.h | ||
termios.h | ||
time.h | ||
types.h | ||
typesizes.h | ||
uio.h | ||
ustat.h | ||
utmp.h | ||
utsname.h | ||
waitflags.h | ||
waitstatus.h | ||
wchar.h | ||
wordsize.h | ||
xtitypes.h |