This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch hjl/ifunc/c in repository glibc.
discards a89f56e004 x86-64: Add memmove.h adds 4f26ef1b67 x86_64: Remove redundant REX bytes from memchr.S adds 2e0bbbfbf9 Add reallocarray function adds 4158ba082c Delay initialization of CPU features struct in static binaries adds cfa9bb61cd Use test-driver in nptl/tst-fork3.c adds 52bd938169 posix: Implement preadv2 and pwritev2 adds 491bb0858e Avoid tickling a linker bug from microblaze pt-vfork.S. adds 139904b7e4 Fix more namespace issues in sys/ucontext.h (bug 21457). adds 72b81552a1 Add shim header for bits/syscall.h. adds 6da85a0daf conformtest: Correct signal.h expectations for XPG4 / XPG42. adds 09103e4025 Include sys/param.h in stdlib/gmp-impl.h instead of redefini [...] adds 91b6eb1140 Add internal facility for dynamic array handling adds 673cb072a4 getaddrinfo: Always allocate canonical name on the heap adds 2714c5f3c9 resolv: Tests for various versions of res_init adds ca4b396ebe posix: Add missing build flags for p{write,read}v2 adds 6257fcfd58 getaddrinfo: Fix localplt failure involving strdup adds 9c65eec494 Fix sigevent namespace (bug 21543). adds 3e6def237a manual: Provide consistent errno documentation. adds 808fd9e6fe x86: Update __x86_shared_non_temporal_threshold adds 363911ce13 getaddrinfo: Eliminate another strdup call adds 82f43dd2d1 Include shlib-compat.h in many sunrpc/nis source files. adds d36c52becb Add forgotten changelog entry for 82f43dd2d1 adds 6b69f98dcd benchtests: Add more tests for memrchr adds 8951dd0b14 Regenerate sysdeps/gnu/errlist.c. adds 7553131847 Fix struct sigaltstack namespace (bug 21517). adds c4c96f92f7 Define SIG_HOLD for XPG4 (bug 21538). adds d8a7d10324 x86-64: Update LO_HI_LONG for p{readv,writev}{64}v2 adds 7395928b95 x86_64: Remove redundant REX bytes from memrchr.S adds 30cb625a21 x86-64: Update strlen.S to support wcslen/wcsnlen adds 9cd30491dd x86: Add macros to implement ifunce selection in C adds ef9c4cb6c7 x86-64: Optimize wmemset with SSE2/AVX2/AVX512 adds 935971ba6b x86-64: Optimize memcmp/wmemcmp with AVX2 and MOVBE new 61c7774d30 x86-64: Add ifunc-memmove.h
This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this:
* -- * -- B -- O -- O -- O (a89f56e004) \ N -- N -- N refs/heads/hjl/ifunc/c (61c7774d30)
You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B.
Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever.
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: ChangeLog | 605 +++++++++++++++++++++ NEWS | 14 + benchtests/bench-memchr.c | 17 +- bits/signum.h | 2 +- bits/types/stack_t.h | 2 +- conform/data/signal.h-data | 28 +- csu/libc-start.c | 6 + debug/segfault.c | 2 +- hurd/hurd/signal.h | 2 +- hurd/trampoline.c | 2 +- include/signal.h | 4 +- include/stdlib.h | 4 + include/sys/uio.h | 6 + include/wchar.h | 3 + malloc/Makefile | 31 +- malloc/Versions | 12 + malloc/dynarray-skeleton.c | 499 +++++++++++++++++ malloc/dynarray.h | 176 ++++++ .../sigaltstack.c => malloc/dynarray_at_failure.c | 23 +- malloc/dynarray_emplace_enlarge.c | 69 +++ malloc/dynarray_finalize.c | 62 +++ malloc/dynarray_resize.c | 59 ++ .../memcpy.c => malloc/dynarray_resize_clear.c | 38 +- malloc/malloc-internal.h | 19 + malloc/malloc.h | 8 + malloc/reallocarray.c | 37 ++ malloc/tst-dynarray-at-fail.c | 125 +++++ malloc/tst-dynarray-fail.c | 418 ++++++++++++++ malloc/tst-dynarray-shared.h | 77 +++ malloc/tst-dynarray.c | 517 ++++++++++++++++++ malloc/tst-reallocarray.c | 118 ++++ manual/errno.texi | 66 +-- manual/llio.texi | 109 ++++ manual/macros.texi | 1 + manual/memory.texi | 46 +- misc/Makefile | 8 +- misc/Versions | 3 + signal/sigaltstack.c => misc/preadv2.c | 16 +- signal/sigaltstack.c => misc/preadv64v2.c | 16 +- signal/sigaltstack.c => misc/pwritev2.c | 16 +- signal/sigaltstack.c => misc/pwritev64v2.c | 16 +- misc/sys/uio.h | 41 ++ misc/tst-preadvwritev-common.c | 19 +- signal/sigaltstack.c => misc/tst-preadvwritev2.c | 23 +- .../sigaltstack.c => misc/tst-preadvwritev64v2.c | 25 +- nis/nis_add.c | 1 + nis/nis_addmember.c | 1 + nis/nis_call.c | 1 + nis/nis_checkpoint.c | 1 + nis/nis_clone_dir.c | 1 + nis/nis_clone_obj.c | 1 + nis/nis_clone_res.c | 1 + nis/nis_creategroup.c | 1 + nis/nis_defaults.c | 1 + nis/nis_destroygroup.c | 1 + nis/nis_domain_of.c | 1 + nis/nis_domain_of_r.c | 1 + nis/nis_error.c | 1 + nis/nis_file.c | 1 + nis/nis_free.c | 1 + nis/nis_getservlist.c | 1 + nis/nis_ismember.c | 1 + nis/nis_local_names.c | 1 + nis/nis_lookup.c | 1 + nis/nis_mkdir.c | 1 + nis/nis_modify.c | 1 + nis/nis_ping.c | 1 + nis/nis_print.c | 1 + nis/nis_print_group_entry.c | 1 + nis/nis_remove.c | 1 + nis/nis_removemember.c | 1 + nis/nis_rmdir.c | 1 + nis/nis_server.c | 1 + nis/nis_subr.c | 1 + nis/nis_table.c | 1 + nis/nis_util.c | 1 + nis/nis_verifygroup.c | 1 + nis/nis_xdr.c | 1 + nis/yp_xdr.c | 1 + nis/ypclnt.c | 1 + nis/ypupdate_xdr.c | 1 + nptl/tst-cancel4.c | 71 +++ nptl/tst-fork3.c | 6 +- resolv/Makefile | 8 + resolv/res_libc.c | 5 +- resolv/tst-resolv-res_init-skeleton.c | 601 ++++++++++++++++++++ .../tst-resolv-res_init-thread.c | 13 +- .../x32/sysdep.h => resolv/tst-resolv-res_init.c | 13 +- signal/sigaltstack.c | 2 +- signal/signal.h | 9 +- stdlib/gmp-impl.h | 8 +- stdlib/stdlib.h | 11 + sunrpc/auth_des.c | 1 + sunrpc/auth_none.c | 1 + sunrpc/auth_unix.c | 1 + sunrpc/authdes_prot.c | 1 + sunrpc/authuxprot.c | 1 + sunrpc/clnt_gen.c | 1 + sunrpc/clnt_perr.c | 1 + sunrpc/clnt_raw.c | 1 + sunrpc/clnt_simp.c | 1 + sunrpc/clnt_tcp.c | 1 + sunrpc/clnt_udp.c | 1 + sunrpc/clnt_unix.c | 1 + sunrpc/des_crypt.c | 2 +- sunrpc/des_soft.c | 3 +- sunrpc/get_myaddr.c | 2 +- sunrpc/key_call.c | 1 + sunrpc/key_prot.c | 1 + sunrpc/netname.c | 1 + sunrpc/pm_getmaps.c | 1 + sunrpc/pm_getport.c | 1 + sunrpc/pmap_clnt.c | 1 + sunrpc/pmap_prot.c | 1 + sunrpc/pmap_prot2.c | 1 + sunrpc/pmap_rmt.c | 5 +- sunrpc/publickey.c | 1 + sunrpc/rpc_cmsg.c | 1 + sunrpc/rpc_dtable.c | 1 + sunrpc/rpc_prot.c | 2 +- sunrpc/rpc_thread.c | 2 +- sunrpc/rtime.c | 1 + sunrpc/svc.c | 1 + sunrpc/svc_auth.c | 1 + sunrpc/svc_raw.c | 1 + sunrpc/svc_run.c | 1 + sunrpc/svc_tcp.c | 1 + sunrpc/svc_udp.c | 1 + sunrpc/svc_unix.c | 1 + sunrpc/svcauth_des.c | 1 + sunrpc/xdr.c | 1 + sunrpc/xdr_array.c | 1 + sunrpc/xdr_float.c | 1 + sunrpc/xdr_intXX_t.c | 1 + sunrpc/xdr_mem.c | 1 + sunrpc/xdr_rec.c | 1 + sunrpc/xdr_ref.c | 1 + sunrpc/xdr_sizeof.c | 1 + sunrpc/xdr_stdio.c | 2 + support/Makefile | 13 + support/capture_subprocess.h | 61 +++ support/namespace.h | 12 + bits/types/stack_t.h => support/support-xstat.c | 27 +- support/support.h | 15 + support/support_can_chroot.c | 65 +++ support/support_capture_subprocess.c | 108 ++++ support/support_capture_subprocess_check.c | 67 +++ .../support_isolate_in_subprocess.c | 30 +- support/support_shared_allocate.c | 57 ++ .../support_write_file_string.c | 42 +- support/tst-support_capture_subprocess.c | 188 +++++++ .../linux/x86_64/x32/sysdep.h => support/xchroot.c | 19 +- .../linux/x86_64/x32/sysdep.h => support/xdup2.c | 17 +- .../linux/x86_64/x32/sysdep.h => support/xmkdir.c | 19 +- bits/types/stack_t.h => support/xopen.c | 29 +- .../linux/x86_64/x32/sysdep.h => support/xpipe.c | 17 +- support/xunistd.h | 11 +- sysdeps/arm/sys/ucontext.h | 19 +- sysdeps/gnu/errlist.c | 82 ++- sysdeps/i386/sys/ucontext.h | 44 +- sysdeps/m68k/sys/ucontext.h | 19 +- sysdeps/mach/hurd/i386/signal-defines.sym | 6 +- sysdeps/mach/hurd/sigaltstack.c | 6 +- sysdeps/mach/hurd/sigstack.c | 2 +- sysdeps/mips/sys/ucontext.h | 37 +- sysdeps/posix/getaddrinfo.c | 122 ++--- bits/types/stack_t.h => sysdeps/posix/preadv2.c | 31 +- bits/types/stack_t.h => sysdeps/posix/preadv64v2.c | 30 +- bits/types/stack_t.h => sysdeps/posix/pwritev2.c | 31 +- .../types/stack_t.h => sysdeps/posix/pwritev64v2.c | 31 +- sysdeps/unix/bsd/bits/signum.h | 2 +- sysdeps/unix/sysv/linux/aarch64/libc-start.c | 23 +- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 6 + sysdeps/unix/sysv/linux/alpha/bits/signum.h | 2 +- sysdeps/unix/sysv/linux/alpha/libc.abilist | 6 + sysdeps/unix/sysv/linux/alpha/sys/procfs.h | 2 +- sysdeps/unix/sysv/linux/alpha/sys/ucontext.h | 14 +- sysdeps/unix/sysv/linux/arm/libc.abilist | 6 + sysdeps/unix/sysv/linux/bits/signum.h | 2 +- sysdeps/unix/sysv/linux/bits/types/stack_t.h | 2 +- sysdeps/unix/sysv/linux/bits/uio.h | 6 + sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c | 2 +- sysdeps/unix/sysv/linux/hppa/bits/signum.h | 2 +- sysdeps/unix/sysv/linux/hppa/libc.abilist | 6 + sysdeps/unix/sysv/linux/i386/libc.abilist | 6 + sysdeps/unix/sysv/linux/ia64/libc.abilist | 6 + sysdeps/unix/sysv/linux/ia64/sys/procfs.h | 2 +- sysdeps/unix/sysv/linux/include/bits/syscall.h | 3 + sysdeps/unix/sysv/linux/kernel-features.h | 5 + sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c | 2 +- sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 6 + sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 6 + sysdeps/unix/sysv/linux/m68k/sys/ucontext.h | 31 +- sysdeps/unix/sysv/linux/microblaze/libc.abilist | 6 + sysdeps/unix/sysv/linux/microblaze/localplt.data | 1 - sysdeps/unix/sysv/linux/microblaze/pt-vfork.S | 50 +- sysdeps/unix/sysv/linux/microblaze/vfork.S | 1 + sysdeps/unix/sysv/linux/mips/bits/signum.h | 2 +- sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h | 2 +- .../unix/sysv/linux/mips/mips32/fpu/libc.abilist | 6 + .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 6 + .../unix/sysv/linux/mips/mips64/n32/libc.abilist | 6 + .../unix/sysv/linux/mips/mips64/n64/libc.abilist | 6 + sysdeps/unix/sysv/linux/mips/sys/ucontext.h | 88 +-- sysdeps/unix/sysv/linux/nios2/libc.abilist | 6 + sysdeps/unix/sysv/linux/nios2/sys/ucontext.h | 12 +- .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 6 + .../linux/powerpc/powerpc32/nofpu/libc.abilist | 6 + .../sysv/linux/powerpc/powerpc64/libc-le.abilist | 6 + .../unix/sysv/linux/powerpc/powerpc64/libc.abilist | 6 + sysdeps/unix/sysv/linux/powerpc/sys/procfs.h | 2 +- sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h | 73 ++- sysdeps/unix/sysv/linux/preadv.c | 2 + sysdeps/unix/sysv/linux/preadv2.c | 55 ++ sysdeps/unix/sysv/linux/preadv64.c | 2 + sysdeps/unix/sysv/linux/preadv64v2.c | 55 ++ sysdeps/unix/sysv/linux/pwrite64.c | 1 + sysdeps/unix/sysv/linux/pwritev.c | 2 + sysdeps/unix/sysv/linux/{preadv.c => pwritev2.c} | 50 +- sysdeps/unix/sysv/linux/pwritev64.c | 2 + sysdeps/unix/sysv/linux/pwritev64v2.c | 55 ++ sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 6 + sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 6 + sysdeps/unix/sysv/linux/s390/sys/ucontext.h | 37 +- sysdeps/unix/sysv/linux/sh/libc.abilist | 6 + sysdeps/unix/sysv/linux/sh/sys/procfs.h | 2 +- sysdeps/unix/sysv/linux/sh/sys/ucontext.h | 48 +- sysdeps/unix/sysv/linux/sparc/bits/signum.h | 2 +- sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 6 + sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 6 + sysdeps/unix/sysv/linux/sys/procfs.h | 2 +- .../sysv/linux/tile/tilegx/tilegx32/libc.abilist | 6 + .../sysv/linux/tile/tilegx/tilegx64/libc.abilist | 6 + sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist | 6 + sysdeps/unix/sysv/linux/x86/sys/ucontext.h | 74 ++- sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 6 + sysdeps/unix/sysv/linux/x86_64/sysdep.h | 2 +- sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 6 + sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h | 4 + sysdeps/x86/cacheinfo.c | 6 +- sysdeps/x86/cpu-features.h | 1 + sysdeps/x86/init-arch.h | 40 ++ sysdeps/x86/libc-start.c | 23 +- sysdeps/x86_64/memchr.S | 28 +- sysdeps/x86_64/memrchr.S | 36 +- sysdeps/x86_64/memset.S | 18 +- sysdeps/x86_64/multiarch/Makefile | 9 +- sysdeps/x86_64/multiarch/ifunc-impl-list.c | 30 + .../multiarch/{memmove.h => ifunc-memmove.h} | 17 +- sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S | 425 +++++++++++++++ sysdeps/x86_64/multiarch/memcmp.S | 13 +- sysdeps/x86_64/multiarch/memcpy.c | 2 +- sysdeps/x86_64/multiarch/memmove.c | 2 +- sysdeps/x86_64/multiarch/mempcpy.c | 2 +- .../x86_64/multiarch/memset-avx2-unaligned-erms.S | 8 +- .../multiarch/memset-avx512-unaligned-erms.S | 9 +- .../x86_64/multiarch/memset-vec-unaligned-erms.S | 24 +- sysdeps/x86_64/multiarch/memset.S | 13 +- sysdeps/x86_64/multiarch/wmemcmp-avx2-movbe.S | 4 + sysdeps/x86_64/multiarch/wmemcmp.S | 13 +- sysdeps/x86_64/multiarch/{wmemcmp.S => wmemset.c} | 33 +- sysdeps/x86_64/multiarch/wmemset.h | 42 ++ .../multiarch/wmemset_chk-nonshared.S} | 14 +- .../x86_64/multiarch/{memmove.c => wmemset_chk.c} | 25 +- sysdeps/x86_64/strlen.S | 61 ++- sysdeps/x86_64/wcsnlen.S | 7 + sysdeps/x86_64/{bzero.S => wmemset.S} | 0 .../stack_t.h => sysdeps/x86_64/wmemset_chk.S | 30 +- 268 files changed, 6445 insertions(+), 872 deletions(-) create mode 100644 malloc/dynarray-skeleton.c create mode 100644 malloc/dynarray.h copy signal/sigaltstack.c => malloc/dynarray_at_failure.c (62%) create mode 100644 malloc/dynarray_emplace_enlarge.c create mode 100644 malloc/dynarray_finalize.c create mode 100644 malloc/dynarray_resize.c copy sysdeps/x86_64/multiarch/memcpy.c => malloc/dynarray_resize_clear.c (56%) create mode 100644 malloc/reallocarray.c create mode 100644 malloc/tst-dynarray-at-fail.c create mode 100644 malloc/tst-dynarray-fail.c create mode 100644 malloc/tst-dynarray-shared.h create mode 100644 malloc/tst-dynarray.c create mode 100644 malloc/tst-reallocarray.c copy signal/sigaltstack.c => misc/preadv2.c (69%) copy signal/sigaltstack.c => misc/preadv64v2.c (69%) copy signal/sigaltstack.c => misc/pwritev2.c (69%) copy signal/sigaltstack.c => misc/pwritev64v2.c (69%) copy signal/sigaltstack.c => misc/tst-preadvwritev2.c (65%) copy signal/sigaltstack.c => misc/tst-preadvwritev64v2.c (63%) create mode 100644 resolv/tst-resolv-res_init-skeleton.c copy sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h => resolv/tst-resolv-res_init-thr [...] copy sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h => resolv/tst-resolv-res_init.c (72%) create mode 100644 support/capture_subprocess.h copy bits/types/stack_t.h => support/support-xstat.c (66%) create mode 100644 support/support_can_chroot.c create mode 100644 support/support_capture_subprocess.c create mode 100644 support/support_capture_subprocess_check.c copy signal/sigaltstack.c => support/support_isolate_in_subprocess.c (59%) create mode 100644 support/support_shared_allocate.c copy sysdeps/x86_64/multiarch/memcpy.c => support/support_write_file_string.c (57%) create mode 100644 support/tst-support_capture_subprocess.c copy sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h => support/xchroot.c (72%) copy sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h => support/xdup2.c (72%) copy sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h => support/xmkdir.c (71%) copy bits/types/stack_t.h => support/xopen.c (67%) copy sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h => support/xpipe.c (72%) copy bits/types/stack_t.h => sysdeps/posix/preadv2.c (62%) copy bits/types/stack_t.h => sysdeps/posix/preadv64v2.c (63%) copy bits/types/stack_t.h => sysdeps/posix/pwritev2.c (62%) copy bits/types/stack_t.h => sysdeps/posix/pwritev64v2.c (60%) create mode 100644 sysdeps/unix/sysv/linux/include/bits/syscall.h create mode 100644 sysdeps/unix/sysv/linux/preadv2.c create mode 100644 sysdeps/unix/sysv/linux/preadv64v2.c copy sysdeps/unix/sysv/linux/{preadv.c => pwritev2.c} (50%) create mode 100644 sysdeps/unix/sysv/linux/pwritev64v2.c rename sysdeps/x86_64/multiarch/{memmove.h => ifunc-memmove.h} (81%) create mode 100644 sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S create mode 100644 sysdeps/x86_64/multiarch/wmemcmp-avx2-movbe.S copy sysdeps/x86_64/multiarch/{wmemcmp.S => wmemset.c} (65%) create mode 100644 sysdeps/x86_64/multiarch/wmemset.h copy sysdeps/{unix/sysv/linux/x86_64/x32/sysdep.h => x86_64/multiarch/wmemset_chk- [...] copy sysdeps/x86_64/multiarch/{memmove.c => wmemset_chk.c} (63%) create mode 100644 sysdeps/x86_64/wcsnlen.S copy sysdeps/x86_64/{bzero.S => wmemset.S} (100%) copy bits/types/stack_t.h => sysdeps/x86_64/wmemset_chk.S (63%)