From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 46177 invoked by alias); 25 Aug 2015 11:53:05 -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 45520 invoked by uid 55); 25 Aug 2015 11:53:01 -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: Tue, 25 Aug 2015 11:53: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/msg00420.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=15128 --- Comment #38 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, master has been updated via f3dcae82d54e5097e18e1d6ef4ff55c2ea4e621e (commit) from 2d02fd07371bcd492c320cec649c6265787d794a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f3dcae82d54e5097e18e1d6ef4ff55c2ea4e621e commit f3dcae82d54e5097e18e1d6ef4ff55c2ea4e621e Author: H.J. Lu Date: Tue Aug 25 04:33:54 2015 -0700 Save and restore vector registers in x86-64 ld.so This patch adds SSE, AVX and AVX512 versions of _dl_runtime_resolve and _dl_runtime_profile, which save and restore the first 8 vector registers used for parameter passing. elf_machine_runtime_setup selects the proper _dl_runtime_resolve or _dl_runtime_profile based on _dl_x86_cpu_features. It avoids race condition caused by FOREIGN_CALL macros, which are only used for x86-64. Performance impact of saving and restoring 8 vector registers are negligible on Nehalem, Sandy Bridge, Ivy Bridge and Haswell when ld.so is optimized with SSE2. [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. Change rtld_savespace_sse to __glibc_unused2. (RTLD_CHECK_FOREIGN_CALL): Removed. (RTLD_ENABLE_FOREIGN_CALL): Likewise. (RTLD_PREPARE_FOREIGN_CALL): Likewise. (RTLD_FINALIZE_FOREIGN_CALL): Likewise. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 27 ++ sysdeps/x86_64/Makefile | 5 + sysdeps/x86_64/dl-machine.h | 29 +- sysdeps/x86_64/dl-trampoline.S | 462 +++---------------- sysdeps/x86_64/dl-trampoline.h | 366 +++++++++++++--- .../tst-get-cpu-features.c => x86_64/ifuncmain8.c} | 9 +- .../power5+/fpu/s_ceilf.S => x86_64/ifuncmod8.c} | 27 +- sysdeps/x86_64/nptl/tcb-offsets.sym | 1 - sysdeps/x86_64/nptl/tls.h | 42 +-- 9 files changed, 453 insertions(+), 515 deletions(-) copy sysdeps/{x86/tst-get-cpu-features.c => x86_64/ifuncmain8.c} (84%) copy sysdeps/{powerpc/powerpc32/power5+/fpu/s_ceilf.S => x86_64/ifuncmod8.c} (69%) -- You are receiving this mail because: You are on the CC list for the bug.