From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115774 invoked by alias); 1 Aug 2015 15:55:00 -0000 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org Received: (qmail 115684 invoked by uid 55); 1 Aug 2015 15:54:56 -0000 From: "cvs-commit at gcc dot gnu.org" To: glibc-bugs@sourceware.org Subject: [Bug dynamic-link/15128] dynamic loader may clobber floating-point parameters on AArch64 Date: Sat, 01 Aug 2015 15:55:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: dynamic-link X-Bugzilla-Version: 2.17 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: security- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-08/txt/msg00001.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=15128 --- Comment #17 from cvs-commit at gcc dot gnu.org --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU C Library master sources". The branch, hjl/plt/master has been created at e407c803542127581dee0ecd346ce1b239eeb605 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e407c803542127581dee0ecd346ce1b239eeb605 commit e407c803542127581dee0ecd346ce1b239eeb605 Author: H.J. Lu Date: Wed Jul 29 04:49:38 2015 -0700 Use SSE optimized strcmp in x86-64 ld.so Since ld.so preserves vector registers now, we can SSE optimized strcmp in x86-64 ld.so. * sysdeps/x86_64/strcmp.S: Remove "#if !IS_IN (libc)". https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9c5e89aae33638ac5507601b60a5b09f2acaafa5 commit 9c5e89aae33638ac5507601b60a5b09f2acaafa5 Author: H.J. Lu Date: Wed Jul 29 03:56:14 2015 -0700 Remove x86-64 rtld-xxx.c and rtld-xxx.S Since ld.so preserves vector registers now, we can use the regular, non-ifunc string and memory functions in ld.so. * sysdeps/x86_64/rtld-memcmp.c: Removed. * sysdeps/x86_64/rtld-memset.S: Likewise. * sysdeps/x86_64/rtld-strchr.S: Likewise. * sysdeps/x86_64/rtld-strlen.S: Likewise. * sysdeps/x86_64/multiarch/rtld-memcmp.c: Likewise. * sysdeps/x86_64/multiarch/rtld-memset.S: Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5fbc29538eb104ca074fb8bab9aae1d34be20ec6 commit 5fbc29538eb104ca074fb8bab9aae1d34be20ec6 Author: H.J. Lu Date: Wed Jul 29 03:47:54 2015 -0700 Replace %xmm8 with %xmm0 Since ld.so preserves vector registers now, we can use %xmm0 to avoid the REX prefix. * sysdeps/x86_64/memset.S: Replace %xmm8 with %xmm0. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4ca4b1e1266d624e2a018055d29a129a934fd1e6 commit 4ca4b1e1266d624e2a018055d29a129a934fd1e6 Author: H.J. Lu Date: Wed Jul 29 03:44:39 2015 -0700 Replace %xmm[8-12] with %xmm[0-4] Since ld.so preserves vector registers now, we can use %xmm[0-4] to avoid the REX prefix. * sysdeps/x86_64/strlen.S: Replace %xmm[8-12] with %xmm[0-4]. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=953e8b213c2067664752c02975555c59b80907a8 commit 953e8b213c2067664752c02975555c59b80907a8 Author: H.J. Lu Date: Tue Jul 28 18:56:18 2015 -0700 Don't disable SSE in x86-64 ld.so Since ld.so preserves vector registers now, we can use SSE in ld.so. * sysdeps/i386/Makefile [$(subdir) == elf] (CFLAGS-.os): Add -mno-sse -mno-mmx for $(all-rtld-routines). [$(subdir) == elf] (tests-special): Add $(objpfx)tst-ld-sse-use.out. [$(subdir) == elf] ($(objpfx)tst-ld-sse-use.out): New rule. * sysdeps/x86/Makefile [$(subdir) == elf] (CFLAGS-.os): Removed. [$(subdir) == elf] (tests-special): Likewise. [$(subdir) == elf] ($(objpfx)tst-ld-sse-use.out): Likewise. * sysdeps/x86_64/Makefile [$(subdir) == elf] (CFLAGS-.os): Add -mno-mmx for $(all-rtld-routines). https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=dba9bf664566fa3230305bebf02f175eb8b9fb85 commit dba9bf664566fa3230305bebf02f175eb8b9fb85 Author: H.J. Lu Date: Sat Jul 11 13:25:25 2015 -0700 Save and restore vector registers in x86-64 ld.so This patch initiaizes GLRO(dl_x86_xstate) in dl_platform_init to indicate if the processor supports SSE, AVX or AVX512. It uses this information to properly save and restore vector registers in ld.so. Now we can use SSE in ld.so and delete FOREIGN_CALL macros. We can also retire the rtld_must_xmm_save field and remove the rtld_savespace_sse field in tcbhead_t. It is safe since they are internal to glibc. [BZ #15128] * sysdeps/x86_64/Makefile [$(subdir) == elf] (tests): Add ifuncmain8. (modules-names): Add ifuncmod8. ($(objpfx)ifuncmain8): New rule. * sysdeps/x86_64/dl-machine.h: Include and . (elf_machine_runtime_setup): Use _dl_runtime_resolve_sse, _dl_runtime_resolve_avx, or _dl_runtime_resolve_avx512, _dl_runtime_profile_sse, _dl_runtime_profile_avx, or _dl_runtime_profile_avx512, based on HAS_ARCH_FEATURE. * sysdeps/x86_64/dl-trampoline.S: Rewrite. * sysdeps/x86_64/dl-trampoline.h: Likewise. * sysdeps/x86_64/ifuncmain8.c: New file. * sysdeps/x86_64/ifuncmod8.c: Likewise. * sysdeps/x86_64/nptl/tcb-offsets.sym (RTLD_SAVESPACE_SSE): Removed. * sysdeps/x86_64/nptl/tls.h (__128bits): Removed. (tcbhead_t): CHange rtld_must_xmm_save to __glibc_unused1. Remove rtld_savespace_sse and __padding. (RTLD_CHECK_FOREIGN_CALL): Removed. (RTLD_ENABLE_FOREIGN_CALL): Likewise. (RTLD_PREPARE_FOREIGN_CALL): Likewise. (RTLD_FINALIZE_FOREIGN_CALL): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5e06993a5a4d172d9ab979e98cc0fb5949de16ef commit 5e06993a5a4d172d9ab979e98cc0fb5949de16ef Author: H.J. Lu Date: Sun Jul 12 14:41:20 2015 -0700 Align stack when calling __errno_location We should align stack to 16 bytes when calling __errno_location. [BZ #18661] * sysdeps/x86_64/fpu/s_cosf.S (__cosf): Align stack to 16 bytes when calling __errno_location. * sysdeps/x86_64/fpu/s_sincosf.S (__sincosf): Likewise. * sysdeps/x86_64/fpu/s_sinf.S (__sinf): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e0aa3e3a6f0a2df74265a2219d95624ecf531f81 commit e0aa3e3a6f0a2df74265a2219d95624ecf531f81 Author: H.J. Lu Date: Sun Jul 12 14:40:25 2015 -0700 Align stack to 16 bytes when calling __gettimeofday Subtract stack by 24 bytes instead of 16 bytes so that stack is aligned to 16 bytes when calling __gettimeofday. [BZ #18661] * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedwait_tid): Align stack to 16 bytes when calling __gettimeofday. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bc60509483d3ab0d795745e91bcca13c8bccf89e commit bc60509483d3ab0d795745e91bcca13c8bccf89e Author: H.J. Lu Date: Sun Jul 12 14:38:58 2015 -0700 Align stack to 16 bytes when calling __setcontext Don't use pop to restore %rdi so that stack is aligned to 16 bytes when calling __setcontext. [BZ #18661] * sysdeps/unix/sysv/linux/x86_64/__start_context.S (__start_context): Don't use pop to restore %rdi so that stack is aligned to 16 bytes when calling __setcontext. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9644c9267351b4c286c44fa4111a71c4c78b3ec8 commit 9644c9267351b4c286c44fa4111a71c4c78b3ec8 Author: H.J. Lu Date: Wed Jul 29 03:41:58 2015 -0700 Compile {memcpy,strcmp}-sse2-unaligned.S only for libc {memcpy,strcmp}-sse2-unaligned.S aren't needed in ld.so. * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Compile only for libc. * sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=fa437015d9c0a0d4628f8b042dcc865dce1ca335 commit fa437015d9c0a0d4628f8b042dcc865dce1ca335 Author: H.J. Lu Date: Sat Aug 1 07:47:16 2015 -0700 Update elision-conf.c for cpu-feattures https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=71ed3c9d3f7a099ea19590479edd3fbe41e68a0c commit 71ed3c9d3f7a099ea19590479edd3fbe41e68a0c Author: H.J. Lu Date: Fri Jul 31 13:46:05 2015 -0700 Use LOAD_RTLD_GLOBAL_RO_RDX and HAS_XXX in libmvec https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8627c662750246f16376104de1cd04fb6f287b9e commit 8627c662750246f16376104de1cd04fb6f287b9e Author: H.J. Lu Date: Fri Jul 31 16:52:19 2015 -0700 Use LOAD_GOT_AND_RTLD_GLOBAL_RO and HAS_XXX in i686/multiarch https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=90fea981859f96b666d8afadd842159fd83d21c7 commit 90fea981859f96b666d8afadd842159fd83d21c7 Author: H.J. Lu Date: Fri Jul 31 13:41:04 2015 -0700 Use LOAD_RTLD_GLOBAL_RO_RDX and HAS_XXX in x86_64/multiarch https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7eeb9e24373749686c2757cf95b2273c8ec966e9 commit 7eeb9e24373749686c2757cf95b2273c8ec966e9 Author: H.J. Lu Date: Fri Jul 31 07:30:04 2015 -0700 _dl_x86_cpu_features to rtld_global for x86 ----------------------------------------------------------------------- -- You are receiving this mail because: You are on the CC list for the bug.