public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug dynamic-link/15128] dynamic loader may clobber floating-point parameters on AArch64
Date: Fri, 31 Jul 2015 12:33:00 -0000	[thread overview]
Message-ID: <bug-15128-131-k1dYLBGr1v@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-15128-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=15128

--- Comment #16 from cvs-commit at gcc dot gnu.org <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/pr18661 has been created
        at  2e4cca72c25aa2a3a0da59c651ca69320b16bfff (commit)

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2e4cca72c25aa2a3a0da59c651ca69320b16bfff

commit 2e4cca72c25aa2a3a0da59c651ca69320b16bfff
Author: H.J. Lu <hjl.tools@gmail.com>
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=3600e9c49c921bf4f788fb55321d1fb3824abf2d

commit 3600e9c49c921bf4f788fb55321d1fb3824abf2d
Author: H.J. Lu <hjl.tools@gmail.com>
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=45e6b0f0009e3499f924d003746b6994cb9dff3c

commit 45e6b0f0009e3499f924d003746b6994cb9dff3c
Author: H.J. Lu <hjl.tools@gmail.com>
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=8a9d5ef56db422846842aae87be3347382aff070

commit 8a9d5ef56db422846842aae87be3347382aff070
Author: H.J. Lu <hjl.tools@gmail.com>
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=442e00b6d245a40075b9a58e2783c8395abce62c

commit 442e00b6d245a40075b9a58e2783c8395abce62c
Author: H.J. Lu <hjl.tools@gmail.com>
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: Removed.
        * 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=72185dfbf09bab8333c1245f11af0f7697ca1c03

commit 72185dfbf09bab8333c1245f11af0f7697ca1c03
Author: H.J. Lu <hjl.tools@gmail.com>
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/unix/sysv/linux/x86_64/dl-procinfo.c: Include
        <sysdeps/x86_64/dl-procinfo.c> instead of
        <sysdeps/generic/dl-procinfo.c>.
        * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: Include
        <sysdeps/x86_64/dl-procinfo.h> instead of
        <sysdeps/generic/dl-procinfo.h>.
        * sysdeps/x86_64/Makefile [$(subdir) == elf] (tests): Add
        ifuncmain8.
        (modules-names): Add ifuncmod8.
        ($(objpfx)ifuncmain8): New rule.
        * sysdeps/x86_64/dl-machine.h: Include <dl-procinfo.h> and
        <cpuid.h>.
        (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 GLRO(dl_x86_xstate).
        (dl_platform_init): Set GLRO(dl_x86_xstate) based on cpuid.
        * sysdeps/x86_64/dl-procinfo.c: New file.
        * sysdeps/x86_64/dl-procinfo.h: Likewise.
        * sysdeps/x86_64/ifuncmain8.c: Likewise.
        * sysdeps/x86_64/ifuncmod8.c: Likewise.
        * sysdeps/x86_64/dl-trampoline.S: Rewrite.
        * sysdeps/x86_64/dl-trampoline.h: 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=a955dc4b8be25f9288dfaad15ef14a083be2ca78

commit a955dc4b8be25f9288dfaad15ef14a083be2ca78
Author: H.J. Lu <hjl.tools@gmail.com>
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=16dcea99081d9f4a7fb2fadf13a69ff480feb30f

commit 16dcea99081d9f4a7fb2fadf13a69ff480feb30f
Author: H.J. Lu <hjl.tools@gmail.com>
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=497480af688602f69dc1e49113106d6fcdff3d4d

commit 497480af688602f69dc1e49113106d6fcdff3d4d
Author: H.J. Lu <hjl.tools@gmail.com>
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=46c362d7c702b3ea2fb4e4a17cd633671793fa21

commit 46c362d7c702b3ea2fb4e4a17cd633671793fa21
Author: H.J. Lu <hjl.tools@gmail.com>
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.

-----------------------------------------------------------------------

-- 
You are receiving this mail because:
You are on the CC list for the bug.


  parent reply	other threads:[~2015-07-31 12:33 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-09 17:03 [Bug dynamic-link/15128] New: " mikpe at it dot uu.se
2013-02-09 17:04 ` [Bug dynamic-link/15128] " mikpe at it dot uu.se
2013-02-11  5:00 ` bugdal at aerifal dot cx
2013-02-11  7:21   ` Ondřej Bílka
2013-02-11  7:21 ` neleai at seznam dot cz
2013-02-11  9:09 ` mikpe at it dot uu.se
2013-02-11 13:36 ` bugdal at aerifal dot cx
2013-02-11 15:13 ` mikpe at it dot uu.se
2013-02-11 21:38 ` bugdal at aerifal dot cx
2013-02-13  9:32 ` mikpe at it dot uu.se
2013-02-20 18:12 ` carlos at redhat dot com
2013-02-24 18:11 ` amonakov at gmail dot com
2013-02-24 18:13 ` amonakov at gmail dot com
2013-02-25  8:06 ` aj at suse dot de
2013-05-21 12:59 ` marcus.shawcroft at linaro dot org
2013-10-02 22:15 ` neleai at seznam dot cz
2013-12-18 12:08 ` cvs-commit at gcc dot gnu.org
2013-12-19 14:04 ` cvs-commit at gcc dot gnu.org
2013-12-19 14:10 ` marcus.shawcroft at linaro dot org
2014-06-13 18:52 ` fweimer at redhat dot com
2015-07-31 12:33 ` cvs-commit at gcc dot gnu.org [this message]
2015-08-01 15:55 ` cvs-commit at gcc dot gnu.org
2015-08-01 22:23 ` cvs-commit at gcc dot gnu.org
2015-08-01 22:25 ` cvs-commit at gcc dot gnu.org
2015-08-02  3:55 ` cvs-commit at gcc dot gnu.org
2015-08-02 12:33 ` cvs-commit at gcc dot gnu.org
2015-08-02 13:57 ` cvs-commit at gcc dot gnu.org
2015-08-02 17:41 ` cvs-commit at gcc dot gnu.org
2015-08-02 17:43 ` cvs-commit at gcc dot gnu.org
2015-08-03  4:47 ` cvs-commit at gcc dot gnu.org
2015-08-03  4:50 ` cvs-commit at gcc dot gnu.org
2015-08-03 17:21 ` cvs-commit at gcc dot gnu.org
2015-08-03 19:32 ` cvs-commit at gcc dot gnu.org
2015-08-03 21:25 ` cvs-commit at gcc dot gnu.org
2015-08-03 21:36 ` cvs-commit at gcc dot gnu.org
2015-08-05 14:34 ` cvs-commit at gcc dot gnu.org
2015-08-05 14:35 ` cvs-commit at gcc dot gnu.org
2015-08-07 22:45 ` jsweval at arxan dot com
2015-08-19 12:19 ` cvs-commit at gcc dot gnu.org
2015-08-24 13:19 ` cvs-commit at gcc dot gnu.org
2015-08-25 11:31 ` cvs-commit at gcc dot gnu.org
2015-08-25 11:53 ` cvs-commit at gcc dot gnu.org
2023-12-08  9:28 ` liqingqing3 at huawei dot com
2023-12-08 10:37 ` fweimer at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-15128-131-k1dYLBGr1v@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).