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/18545] mq_receive, mq_send mq_timed* namespace


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

--- 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  c21d37deb268afc45fbc5bba1a97f87afd0bf656 (commit)
      from  90dd591393a03d023be06a33acfb42c1b328b0fa (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=c21d37deb268afc45fbc5bba1a97f87afd0bf656

commit c21d37deb268afc45fbc5bba1a97f87afd0bf656
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 17 20:17:49 2015 +0000

    Create hidden aliases for non-libc syscalls automatically.

    The syscall wrappers mechanism automatically creates hidden aliases
    for syscalls with libc_hidden_def / libc_hidden_weak.  The use of
    libc_hidden_* has the side-effect that for syscall wrappers in
    non-libc libraries those aliases are not created.  In turn, this means
    that three mq_* syscalls in sysdeps/unix/sysv/linux/syscalls.list list
    the __GI_* names explicitly.

    The use of libc_hidden_* dates back to the original introduction of
    that support in

    2002-08-03  Roland McGrath  <roland@redhat.com>

            * sysdeps/unix/make-syscalls.sh: Generate libc_hidden_def or
            libc_hidden_weak for every system call symbol defined.

    (predating the non-libc syscalls in question) and I see no reason for
    excluding non-libc syscalls.  This patch changes the code to use
    hidden_def / hidden_weak (via a wrapper syscall_hidden_def in the case
    where the argument is itself a macro, so that the argument gets
    expanded before concatenation with __GI_), so avoiding the need to
    specify the hidden aliases explicitly in this case.

    Tested for x86_64 and x86 (testsuite, and that disassembly of
    installed stripped shared libraries is unchanged by the patch; the
    mq_* symbols change from weak to strong, which is of no significance
    and two of them will shortly change back to weak as part of a fix for
    bug 18545).

        * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Use
        hidden_def and hidden_weak instead of libc_hidden_def and
        libc_hidden_weak.
        (top level): Refer to hidden_def in comment.
        * sysdeps/unix/syscall-template.S (syscall_hidden_def): New
        macro.  Use it instead of libc_hidden_def.
        * sysdeps/unix/sysv/linux/syscalls.list (mq_timedsend): Do not
        specify __GI_* name explicitly.
        (mq_timedreceive): Likewise.
        (mq_setattr): Likewise.

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

Summary of changes:
 ChangeLog                             |   11 +++++++++++
 sysdeps/unix/make-syscalls.sh         |    6 +++---
 sysdeps/unix/syscall-template.S       |    5 ++++-
 sysdeps/unix/sysv/linux/syscalls.list |    6 +++---
 4 files changed, 21 insertions(+), 7 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]