This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/18707] [aarch64] libc profiling (with --enable-profile) is broken


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

--- Comment #1 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, master has been updated
       via  efbe665c3a2d344b0d64456cf29499ba53c2965a (commit)
      from  468700675f7f36d55758c36b1ed902250470e8ec (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=efbe665c3a2d344b0d64456cf29499ba53c2965a

commit efbe665c3a2d344b0d64456cf29499ba53c2965a
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Jul 11 09:46:08 2016 +0100

    [AArch64] Fix libc internal asm profiling code

    When glibc is built with --enable-profile, the ENTRY of
    asm functions includes CALL_MCOUNT for profiling.
    (matters for binaries static linked against libc_p.a.)

    CALL_MCOUNT did not save/restore argument registers
    around the _mcount call so it clobbered them.
    (it is enough to only save/restore the arguments passed
    to a given asm function, but that would be too many asm
    changes so it is simpler to always save all argument
    registers in this macro.)

    float args are not saved: mcount does not clobber the
    float regs and currently no asm function takes float
    arguments anyway.

        [BZ #18707]
        * sysdeps/aarch64/Makefile (CFLAGS-mcount.c): Add -mgeneral-regs-only.
        * sysdeps/aarch64/sysdep.h (CALL_MCOUNT): Save argument registers.

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

Summary of changes:
 ChangeLog                |    6 ++++++
 sysdeps/aarch64/Makefile |    4 ++++
 sysdeps/aarch64/sysdep.h |   33 +++++++++++++++++++++++++++++++--
 3 files changed, 41 insertions(+), 2 deletions(-)

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]