glibc/README.google

704 lines
24 KiB
Plaintext

Patches applied to glibc-2.19
Please include a change to this file with each patch, *and* each
subsequent modification of the patch. Do NOT combine patch
checkins, keep them separate.
Append new entries to the end of this file. Each entry shall include:
* The list of files modified by the patch,
* The status of the patch. Should be one of:
- already upstream (indicate upstream revision),
- not yet upstream, or
- google-local (not applicable upstream).
* The local 'owner' responsible for the patch, and
* A description of the patch (preferably including bug numbers).
Please include entries for both local patches and for patches which
have been checked in to (or back-ported from) the upstream sources.
When checking in changes made upstream, add an entry to this file but
DO NOT add entries to the GNU ChangeLog files.
elf/Versions
elf/dl-misc.c
elf/dl-open.c
elf/dl-reloc.c
elf/dl-tls.c
nptl/Makefile
nptl/allocatestack.c
nptl/tst-tls7.c
nptl/tst-tls7mod.c
sysdeps/generic/ldsodefs.h
Revert upstream removal of async-safe TLS patches. These patches were
removed at the last minute from the glibc 2.19 release, as follows:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=8b6785f0836011cace9a77f3c24e51a7379238a0
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=dd654bf9ba1848bf9ed250f8ebaa5097c383dcf8
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=73d61e4f6c65da714c0f8a3a233725322553ceba
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bf06bcee84d4c19a99925c0f58026a8cbd87a688
(ahh, not yet upstream)
google-nsl-stub/Makefile
google-nsl-stub/configure
google-nsl-stub/shlib-versions
google-nsl-stub/ypclnt.c
For b/2832143 and b/10385480, add a stub libnsl library as an add-on, to
replace the libnsl removed in the previous change. Although we do not use
libnsl normally, we have precompiled third-party binaries that need to
dynamically link to it, and this stub satisfies that need.
(bmoses, google-local)
Versions.def
shlib-versions
include/grp.h
include/pwd.h
include/shadow.h
nss/Makefile
nss/Versions
nss/function.def
nss/nss_borg/borg-pwd.c
nss/nss_cache/nss_cache.c
nss/nss_cache/nss_cache.h
Forward-port nss_borg and nss_cache from glibc-2.18
(ppluzhnikov, google-local)
nis/Makefile
nss/Makefile
For b/2476399, disable libnss_db (not used in google).
Likewise ibnsl and related libnss_* libraries.
Forward-ported from cl/52538169 and cl/52538711.
(ppluzhnikov, bmoses, google-local)
hesiod/Makefile
For b/2476399, disable Hesiod (not used in google).
Forward-ported from cl/52537558.
(ppluzhnikov, google-local)
Makerules
nptl/Makefile
Don't put absolute pathnames into libc.so and libpthread.so linker
scripts -- absolute pathnames interfere with --sysroot.
cl/51074128 from eglibc-2.18
(ppluzhnikov, google-local)
csu/Makefile
For bit-identical rebuilds, remove `date` invocations.
Forward-ported from cl/51218346 (from cl/37734-p2).
(ppluzhnikov, google-local)
elf/Versions
elf/dl-init.c
sysdeps/i386/elf/start.S
sysdeps/x86_64/elf/start.S
Add __google_auxv.
Forward-ported from cl/51271693 (from cl/38027-p2).
(ppluzhnikov, google-local)
dlfcn/dlmopen.c
dlfcn/dlopen.c
sysdeps/gnu/errlist-compat.awk
Disable static linking warning for dlopen and dlmopen, and disable linking
warning for sys_errlist and sys_nerr.
Forward-ported from cl/51276043 (from part of cl/38025-p2).
(ppluzhnikov, google-local)
include/features.h
Add __GOOGLE_GRTE_VERSION__ for GRTEv4 usage.
Forward-ported with date and comment changed from cl/51277131.
(ppluzhnikov, google-local)
elf/Versions
elf/dl-debug.c
Add _google_dl_debug_state_hook. This is used by libunwind; see comment
in //google3/third_party/grte/google_glibc_extensions.h.
Forward-ported from cl/51330448 (from cl/38429-p2).
(ppluzhnikov, google-local)
include/alloca.h
Set __MAX_ALLOCA_CUTOFF to 8kb to avoid stack overflow, as described in
b/2425017. The stack protection in //google3/thread/thread.cc creates a
large stack with only 64kb of remaining space, which the upstream alloca
heuristic is ill-equipped to deal with.
Forward-ported from cl/51331379 (from cl/38559-p2).
(ppluzhnikov, google-local)
locale/programs/locarchive.c
Reduce starting table sizes for locale-archive file, since we use only a
small fraction of the entries.
Forward-ported from cl/51331729 (from cl/39296-p2).
(cgd, google-local)
sysdeps/unix/grantpt.c
For b/2723095, allow grantpt() to succeed even if it can't chgrp
the slave pty to the "tty" group.
Forward-ported from cl/51332316 (from cl/41538-p2).
(ppluzhnikov, google-local)
elf/rtld.c
For b/4268901, disable "/etc/ld.so.preload", but allow other builds to
re-enable it by setting -DENABLE_ETC_LD_SO_PRELOAD in CFLAGS.
Forward-ported from cl/51332859 (from cl/51576-p2 and cl/51620-p2).
(ppluzhnikov, google-local)
misc/sys/cdefs.h
g/grte-team/browse_thread/thread/d08601e9f5542d94
Disable gcc's __warn_unused_result__ attribute in glibc headers when
_GOOGLE_FORTIFY_SOURCE_NO_WARN_UNUSED_RESULT is specified, even if
_FORTIFY_SOURCE is set. Some google3 code does not compile when this
attribute is set on some glibc functions.
Forward-ported from cl/51334004 (from cl/53404-p2).
(swiecki, google-local)
stdio-common/print_fp.c
stdio-common/print_fphex.c
stdio-common/tstdiomisc.c
Effectively revert an upstream patch to print signs on NaN values. This
change causes many google3 test failures, and the signs are meaningless.
Forward-ported from cl/51376114 (from cl/41709-p2).
(ppluzhnikov, google-local)
posix/glob.c
sysdeps/unix/readdir.c
sysdeps/unix/readdir_r.c
For b/3162458, don't skip files with d_ino==0 -- our tmpfs systems
sometimes create them due to inode wraparound.
Forward-ported from cl/51430993 (from cl/45000-p2).
(ppluzhnikov, google-local)
elf/Makefile
elf/dl-cache.c
elf/dl-support.c
elf/rtld.c
sysdeps/generic/ldsodefs.h
sysdeps/generic/unsecvars.h
For b/2471323, implement multi-level cache search for shared libraries.
Currently, two-level: $prefix/etc/ld.so.conf and /etc/ld.so.conf.
Allow build-time configuration override via GOOGLE_LD_SO_CACHE_LIST.
Allow run-time override via LD_GOOGLE_LD_SO_CACHE_LIST environment
variable.
Forward-ported from cl/51433387 (from cl/38694-p2, cl/38725-p2, and
cl/38741-p2).
(ppluzhnikov, google-local)
elf/dl-cache.c
elf/dl-load.c
include/dlfcn.h
sysdeps/generic/ldsodefs.h
For b/3133396, ignore system ld.so.cache when looking for
nss and iconv modules.
Forward-ported from cl/51433604 (from cl/44863-p2).
(ppluzhnikov, google-local)
nptl/sysdeps/pthread/unwind-forcedunwind.c
For b/5836136, do dlsym(0, "_Unwind..."), i.e. ignore libgcc_s.so.1
dlopen failure.
Forward-ported from cl/51438157.
(ppluzhnikov, google-local)
nptl/Makefile
For b/5013921, build pthread_join.c and pthread_timedjoin.c with
frame pointers.
Forward-ported from cl/51440285 (from cl//54512-p2).
Note: this is redundant with http://cr/62476718 that builds entire glibc
with -fno-omit-frame-pointer, but I am forward-porting it anyway in case
we decide to revert cr/62476718 later.
(ppluzhnikov, google-local)
elf/dl-close.h
elf/dl-load.c
elf/dl-lookup.c
elf/dl-support.c
elf/dl-version.c
elf/rtld.c
sysdeps/generic/ldsodefs.h
Add "fastload" support. This reduces the linear search for symbols when
loading dynamic libraries to a hash-table lookup, dramatically reducing
the startup time of Google3 binaries with large numbers of dynamic-library
dependencies.
Forward-ported from cl/56574617.
(ppluzhnikov, google-local)
sysdeps/unix/sysv/linux/i386/nptl/libc.abilist
sysdeps/unix/sysv/linux/i386/nptl/libnsl.abilist
sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist
sysdeps/unix/sysv/linux/x86_64/64/nptl/libnsl.abilist
Adjust the size value on _nl_default_dirname to match the directory
name that we use in GRTE builds so that "make check-abi" will pass, as
described in the glibc wiki:
http://sourceware.org/glibc/wiki/Testing/Testsuite#Known_testsuite_failures
Also adjust list of exported symbols for google-nsl-stub.
Similar to cr/51166205
(ppluzhnikov, google-local)
Makerules
For b/13350520, disable check-abi
(ppluzhnikov, google-local)
elf/Versions
Export __signal_safe* functions from ld.so so we can use a different
implementation.
(ppluzhnikov, google-local)
elf/dl-dst.h
elf/dl-load.c
elf/dl-support.c
elf/rtld.c
sysdeps/generic/ldsodefs.h
For b/4074041, add EXEC_ORIGIN support.
Forward-ported from cl/56955623 and cl/59961863.
(bmoses, google-local)
nptl/Versions
nptl/pthread_key_create.c
nptl/sysdeps/pthread/pthread.h
nptl/sysdeps/unix/sysv/linux/bits/local_lim.h
nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
nptl/tst-key1.c
nptl/tst-key4.c
ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/local_lim.h
ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h
ports/sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h
ports/sysdeps/unix/sysv/linux/tile/bits/local_lim.h
Add pthread_signal_safe_key_create.
Forward ported from cl/59612021, cl/59817832, and cl/59176280.
(ahh, google-local)
Versions.def
dlfcn/Versions
dlfcn/dlfcn.h
dlfcn/dlmopen.c
dlfcn/dlopen.c
dlfcn/dlopenold.c
elf/dl-deps.c
elf/dl-libc.c
elf/dl-load.c
elf/dl-open.c
elf/rtld.c
include/dlfcn.h
sysdeps/generic/ldsodefs.h
For Google b/8315591, experimental implementation of dlopen_with_offset.
Forward-ported from cl/59286541, cl/59438930
(ppluzhnikov, google-local)
malloc/malloc.c
ports/sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data
sysdeps/generic/localplt.data
sysdeps/unix/sysv/linux/i386/nptl/localplt.data
sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/localplt.data
For b/5732800, expose calls from malloc to mmap, munmap, and sbrk.
Forward ported from cl/42670015, with changes.
(ppluzhnikov, google-local)
elf/rtld.c
For b/12342355, remove inappropriate assert in EXEC_ORIGIN support.
(bmoses, google-local)
sysdeps/powerpc/powerpc32/power4/multiarch/bzero.c
sysdeps/powerpc/powerpc32/power4/multiarch/bzero-ppc32.S
sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S
For b/14302447, backport upstream patches for __bzero_ppc:
https://sourceware.org/bugzilla/show_bug.cgi?id=16683
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=4facea473059914983b7da8dd654c06b8e3dcc41
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=dd3946c615184e1957a0cb09352cac72be5d6d5b
(bmoses, already upstream)
sysdeps/unix/sysv/linux/sys/ptrace.h
For b/13432624, add PTRACE_EVENT_STOP to __ptrace_eventcodes enum.
(bmoses, not yet upstream)
nptl/Makefile
For b/14616463, add -fno-function-sections to events.c compilation.
(bmoses, google-local)
libio/Makefile
libio/fileops.c
libio/iofdopen.c
libio/iofwide.c
libio/libioP.h
libio/tst-ftell-active-handler.c
libio/wfileops.c
For b/15017950, backport upstream patches for PR16532 (separate
ftell, fseek logic) and subsequent optimization and cleanup:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=000232b9bcbf194f1e5fd0ff380000f341505405
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fa3cd24827d34a49e0a3a5cac56abbf8df74d8ac
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=091eff71a5edacb5a321c6e573f09a5358540675
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d4b17258bba38f206079fbae1e7255779db1b74c
(bmoses, already upstream)
sysdeps/powerpc/powerpc64/fpu/s_copysign.S
For b/13737066, backport upstream patches for PR16786 (s_copysign
stack temp bugfix on PPC ELFv2):
https://sourceware.org/ml/libc-alpha/2014-04/msg00000.html
(bmoses, already upstream)
elf/rtld.c
For b/13901604, set correct __google_auxv before unsetting insecure
environment variables.
(ppluzhnikov, google-local)
posix/spawn_faction_addopen.c
posix/spawn_faction_destroy.c
posix/spawn_int.h
tst-spawn.c
For b/15568332, backport patch to copy path argument to
posix_spawn_file_actions_addopen.
https://sourceware.org/bugzilla/show_bug.cgi?id=17048
(bmoses, backport)
libio/Makefile
libio/iofdopen.c
libio/fileops.c
libio/tst-ftell-active-handler.c
libio/tst-ftell-append.c
libio/wfileops.c
For b/15017950, backport patch to fix offset computation for append+
mode on switching from read, and preceeding patches to fix another
issue with append files and ftell, and to adjust test environments.
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=ea33158c96c53a64402a772186956c1f5cb556ae
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=003e49ed5d2034d73bfcf5324c461785687b7e88
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2482ae433a4249495859343ae1fba408300f2c2e
https://sourceware.org/bugzilla/show_bug.cgi?id=16724
(bmoses, backport)
misc/mktemp.c
stdio-common/tempnam.c
stdio-common/tmpnam.c
For Crosstool v18 disable link-time warning about mktemp,tempnam and tmpnam.
b/6115789
TODO(ppluzhnikov): revert this after cleanup.
(ppluzhnikov, google-local)
csu/elf-init.c
sysdeps/i386/start.S
sysdeps/x86_64/start.S
For b/13901604, revert local changes to sysdeps/{i386,x86_64}/elf/start.S,
and initialize __google_auxv in __libc_csu_init instead.
(ppluzhnikov, google-local)
csu/elf-init.c
elf/dl-support.c
For b/15780211, revert local change to csu/elf-init.c and move
initialization of __google_auxv earlier (in the fully-static link).
(ppluzhnikov, google-local)
elf/ldd.bash.in
Import ldd patches from Ubuntu source package. This fixes the ability
of ldd to trace dependencies in non-executable dynamic libraries.
(bmoses, google-local)
stdlib/secure-getenv.c
Export a __secure_getenv weak symbol for backwards compatibility at link
time.
(bmoses, google-local)
elf/dl-load.c
include/link.h
For b/18243822, fix dlopen_with_offset to not reuse the same link_map
entry when called on the same file with different offsets.
(ppluzhnikov, google-local)
dlfcn/dlopen.c
elf/dl-load.c
To fix AARCH64 build, make code added to dl-load.c in previous CL
conditional on SHARED. Disable dlopen_with_offet in fully-static links.
(ppluzhnikov, google-local)
wordexp.c
posix/wordexp-test.c
For b/18473397 and CVE-2014-7817, properly handle the WRDE_NOCMD
flag when processing certain arithmetic inputs.
(backport)
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=a39208bd7fb76c1b01c127b4c61f9bfd915bfe7c
sysdeps/x86_64/start.S
For b/18331558, use ENTRY and END macros to get a .size directive.
(backport)
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=467fec0bb47464ff49e7075194342b028c75c72f
dlfcn/dlopen.c
Re-fix b/18243822 which got broken by cr/80600560 (AARCH64 build fix).
(ppluzhnikov, google-local)
resolv/res_libc.c
For b/18473393, port r9102, r11566, and r14311 from eglibc sources.
resolv/nss_dns/dns-resolve.c
For b/18752432, backport infinite loop fix in getnetbyname (PR17630)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=11e3417af6e354f1942c68a271ae51e892b2814d
stdio-common/tst-sscanf.c
stdio-common/vfscanf.c
For b/19289207, backport memory allocation fix for wscanf (PR16618)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
socket/sys/un.h
Replace null dereference in the SUN_LEN macro with offsetof.
(nlewycky, not yet upstream)
elf/dl-load.c
For b/8315591, b/20141439 correct off-by-one error that resulted in last
byte of l_name being random garbage.
(ppluzhnikov, google-local)
libio/fmemopen.c
libio/test-fmemopen.c
For b/22167761, backport fix buffer overflow for writes to memory buffer stream (PR18549)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7c2ce714d4e853aadbec13b920576fdfada520f1
(stanshebs, backport)
string/string.h
math/bits/mathcalls.h
misc/sys/cdefs.h
Re-declare hot libc functions with "noplt" attribute available GCC 4.9
onwards. This attribute allows calls to these functions to avoid the
PLT and improves the performance of some of our code via better icache
and iTLB performance.
(tmsriram, google-local)
elf/dl-tls.c
nptl/Makefile
nptl/tst-tls77.c
nptl/tst-tls77mod.c
Fix b/19824366 with tweaks to TLS dynamic loading, and add a test. Note that
upstream commit
https://sourceware.org/git/?p=glibc.git&a=commit&h=f8aeae347377f3dfa8cbadde057adf1827fb1d44
fixes this problem in a different way, so this patch is not needed upstream.
(stanshebs, google-local)
elf/link.h
socket/sys/un.h
Correct locations of __BEGIN_DECLS and #includes, as neeeded for C++
module compatibility.
(chandlerc, google-local)
resolv/nss_dns/dns-host.c
For b/21023324, backport buffer overflow in getanswer_r (PR18287, CVE-2015-1781)
https://sourceware.org/git/?p=glibc.git;a=commit;h=2959eda9272a03386
(stanshebs, backport)
nss/nss_borg/borg-pwd.c
Improve documentation, remove dead code.
(stanshebs, google-local)
posix/fnmatch_loop.c
posix/Makefile
posix/tst-fnmatch3.c
For b/19524869 and b/19533947, backport buffer overflow fixes in fnmatch.
(PR18032, PR18036)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4a28f4d55a6cc33474c0792fe93b5942d81bf185
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c2c6d39fab901c97c18fa3a3a3658d9dc3f7df61
(stanshebs, backport)
nss/nss_files/files-XXX.c
nss/Makefile
nss/tst-nss-getpwent.c
For b/19498319, backport fix for nss_files file management (PR18007, CVE-2014-8121)
https://sourceware.org/git/?p=glibc.git;a=commit;h=03d2730b44cc2236318fd978afa2651753666c55
(stanshebs, backport)
elf/dl-load.c
For b/20141439, don't add "foo.so" as alternate name for already loaded foo.so/@0x<offset>
(ppluzhnikov, google-local)
elf/dl-load.c
For b/22641205, #include _itoa.h
(ppluzhnikov, google-local)
nptl/pthread_getspecific.c
nptl/tst-key5.c
Fix for b/18722637 : make pthread_getspecific signal safe.
(ahh, google-local, proposed upstream)
include/resolv.h
resolv/gethnamaddr.c
resolv/res_query.c
resolv/res_send.c
resolv/nss_dns/dns-canon.c
resolv/nss_dns/dns-host.c
resolv/nss_dns/dns-network.c
For b/24580666, backport fix for memory leak in getaddrinfo() (PR16574)
https://sourceware.org/git/?p=glibc.git;a=commit;h=d668061994a7486a3ba9c7d5e7882d85a2883707
https://sourceware.org/git/?p=glibc.git;a=commit;h=ab7ac0f2cf8731fe4c3f3aea6088a7c0127b5725
https://sourceware.org/git/?p=glibc.git;a=commit;h=ab09bf616ad527b249aca5f2a4956fd526f0712f
(stanshebs, backport)
include/features.h
Allow suppressing the definition of __USE_FILE_OFFSET64 by defining
SUPPRESS_USE_FILE_OFFSET64. As large file types match the default
types, this is irrelevant in Google's depot, but leads to different type
signatures for functions that are problematic with C++ modules.
(klimek, google-local)
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/ieee754/dbl-64/s_sin.c
sysdeps/x86_64/fpu/libm-test-ulps
For b/25873705, backport fix for broken trig functions (PR16623)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1cadc85813d736f7682fa2eeadae639ab6b66c65
(stanshebs, backport)
iconv/gconv_trans.c
For b/25977570, backport removal of __gconv_translit_find (PR17187)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8
(stanshebs, backport)
resolv/res_send.c
For b/25900273, adjust allocations to avoid segfault.
(bmoses, google-local)
nptl/allocatestack.c
nptl/Makefile
nptl/tst-basic8.c
For b/24399992 unlock guard pages to avoid wasting memory.
nptl/Makefile
Unbreak building of tst-key5
(stanshebs, google-local)
elf/elf.h
math/libm-test.inc
string/*
sysdeps/ieee754/*
sysdeps/powerpc/*
For b/18010034, backport IBM optimizations for Power8.
https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/ibm/2.19/master
(stanshebs, backport)
sysdeps/powerpc/bits/fenvinline.h
For b/27191207, remove use of %s modifier in inline asm.
(stanshebs, google-local)
nptl/sysdeps/unix/sysv/linux/register-atfork.c
For b/28011264, detect and work around loop in fork handler list.
(stanshebs, google-local)
resolv/nss_dns/dns-network.c
For b/27917753, fix stack overflow in _nss_dns_getnetbyname_r (BZ19879)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=317b199b4aff8cfa27f2302ab404d2bb5032b9a4
(stanshebs, backport)
resolv/res_send.c
For b/28166767, fix where getaddrinfo() writes DNS queries to random file descriptors
under high load (BZ15946, CVE-2013-7423)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f9d2d03254a58d92635a311a42253eeed5a40a47
(stanshebs, backport)
locale/findlocale.c
locale/setlocale.c
For b/29130905, fix locale vulnerabilities (BZ1737, CVE-2014-0475)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4e8f95a0df7c2300b830ec12c0ae1e161bc8a8a3
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d183645616b0533b3acee28f1a95570bffbdf50f
(stanshebs, backport)
nss/nss_cache/nss_cache.h
nss/nss_cache/nss_cache.c
For b/29944535, import current nss_cache.c and nss_cache.h from upstream.
This fixes a performance issue in getgrgid_r on corp machines.
https://github.com/google/libnss-cache/blob/74a14a1dcc669ebe95e90d6d0e0ca36dd8c63b43/nss_cache.c
https://github.com/google/libnss-cache/blob/74a14a1dcc669ebe95e90d6d0e0ca36dd8c63b43/nss_cache.h
(mkanat, google-local)
sysdeps/posix/getaddrinfo.c
For b/30090956, fix stack overflow in hostent conversion (BZ20010, CVE-2016-3706)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4ab2ab03d4351914ee53248dc5aef4a8c88ff8b9
(stanshebs, backport)
sysdeps/posix/getaddrinfo.c
posix/Makefile
posix/tst-getaddrinfo6.c
For b/29615899, fix error handling in getaddrinfo.
(stanshebs, google-local)
elf/elf.h
For b/31273149, revert the value of DT_PPC64_NUM from 4 to 3.
(stanshebs, google-local)
nss/nss_borg/borg-pwd.c
Add /etc/passwd.borg.base as fallback passwd file. (b/30413914, b/32608777)
(mrothwell/stanshebs, google-local)
nss/nss_files/files-XXX.c
For b/26276654, don't ignore too long lines in nss_files (BZ17079, CVE-2015-5277)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=3fd498242948b1fa944c56646ec9b156387dd310
(stanshebs, backport)
posix/fnmatch_loop.c
Don't read past end of pattern in fnmatch (BZ17062)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b3a9f56ba59c3d8eadd3135a1c25c37a63151450
(stanshebs, backport)
nss/tst-nss-getpwent.c
Work around b/34251679 by restricting to nss_files module
(stanshebs, google-local)
time/strftime_l.c
time/tst-strftime.c
Fix where out of range data to strftime() causes a segfault (BZ18985, CVE-2015-8776)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d36c75fc0d44deec29635dd239b0fbd206ca49b7
(stanshebs, backport)
elf/rtld.c
sysdeps/generic/ldsodefs.h
Always enable pointer guard (BZ18928, CVE-2015-8777)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a014cecd82b71b70a6a843e250e06b541ad524f7
(stanshebs, backport)
misc/Makefile
misc/bug18240.c
misc/hsearch_r.c
hcreate, hcreate_r should fail with ENOMEM if element count is too large (BZ18240, CVE-2015-8778)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b5cba5cff937e5336ff23380785da80cab09146c
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3c9e8d9477aba0f514171bb4706670052544479b
(stanshebs, backport)
catgets/Makefile
catgets/catgets.c
catgets/open_catalog.c
catgets/tst-catgets.c
Fix catopen() Multiple unbounded stack allocations (BZ17905, CVE-2015-8779)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0f58539030e436449f79189b6edab17d7479796e
(stanshebs, backport)
ports/sysdeps/unix/sysv/linux/arm/setcontext.S
Missing unwind info in __startcontext causes infinite loop (BZ20435, CVE-2016-6323)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9e2ff6c9cc54c0b4402b8d49e4abe7000fde7617
(stanshebs, backport)
include/stdlib.h
include/wchar.h
math/Makefile
math/s_nan.c
math/s_nanf.c
math/s_nanl.c
math/test-nan-overflow.c
math/test-nan-payload.c
stdlib/Makefile
stdlib/Versions
stdlib/strtod_l.c
stdlib/strtod_nan.c
stdlib/strtod_nan_double.h
stdlib/strtod_nan_float.h
stdlib/strtod_nan_main.c
stdlib/strtod_nan_narrow.h
stdlib/strtod_nan_wide.h
stdlib/strtof_l.c
stdlib/strtof_nan.c
stdlib/strtold_nan.c
sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h
sysdeps/ieee754/ldbl-128/strtold_l.c
sysdeps/ieee754/ldbl-128ibm/strtod_nan_ldouble.h
sysdeps/ieee754/ldbl-128ibm/strtold_l.c
sysdeps/ieee754/ldbl-64-128/strtold_l.c
sysdeps/ieee754/ldbl-96/strtod_nan_ldouble.h
sysdeps/ieee754/ldbl-96/strtold_l.c
wcsmbs/Makefile
wcsmbs/wcstod_l.c
wcsmbs/wcstod_nan.c
wcsmbs/wcstof_l.c
wcsmbs/wcstof_nan.c
wcsmbs/wcstold_l.c
wcsmbs/wcstold_nan.c
Fix nan functions handling of payload strings (BZ16962, CVE-2014-9761)
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e02cabecf0d025ec4f4ddee290bdf7aadb873bb3
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8f5e8b01a1da2a207228f2072c934fa5918554b8
(stanshebs, backport)