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/18472] Obsolete syscall wrappers should be compat symbols


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

--- 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  eed3e1eb79bcfa9b52609fd875fa2d522e2d6bce (commit)
      from  5db0877750f1e2a1983e1f5e43bd0cc68058f684 (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=eed3e1eb79bcfa9b52609fd875fa2d522e2d6bce

commit eed3e1eb79bcfa9b52609fd875fa2d522e2d6bce
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Dec 14 22:52:15 2015 +0000

    Make obsolete syscall wrappers into compat symbols (bug 18472).

    Various Linux kernel syscalls have become obsolete over time.
    Specifically, the following are obsolete in all kernel versions
    supported by glibc, are not present for architectures more recently
    added to the kernel, and as such, the wrapper functions for them
    should be compat symbols, not in static libc and not available for new
    links with shared libc.

    * bdflush: in Linux 2.6, does nothing if present.

    * create_module get_kernel_syms query_module: Linux 2.4 module
      interface, syscalls not present in Linux 2.6.

    * uselib: part of the mechanism for loading a.out shared libraries,
      irrelevant with ELF.

    This patch adds support for syscalls.list to list syscall aliases of
    the form NAME@VERSION:OBSOLETED, with SHLIB_COMPAT conditionals being
    generated for such aliases.  Those five syscalls are then made into
    compat symbols (obsoleted in glibc 2.23, so future ports won't have
    these symbols at all), with the header <sys/kdaemon.h> declaring
    bdflush being removed.  When we move to 3.2 as minimum kernel version,
    the same can be done for nfsservctl (removed in Linux 3.1) as well.

    Tested for x86_64 and x86 (testsuite, as well as checking that the
    symbols in question indeed become compat symbols, that they are indeed
    omitted from static libc, and that the generated SHLIB_COMPAT
    conditionals look right).

        [BZ #18472]
        * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Handle entries
        for the form NAME@VERSION:OBSOLETED and generate SHLIB_COMPAT
        conditionals for them.
        * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Likewise.
        * sysdeps/unix/sysv/linux/sys/kdaemon.h: Remove file.
        * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
        sys/kdaemon.h.
        * sysdeps/unix/sysv/linux/syscalls.list (bdflush): Make into
        compat-only syscall, obsoleted in glibc 2.23.
        (create_module): Likewise.
        (get_kernel_syms): Likewise.
        (query_module): Likewise.
        (uselib): Likewise.
        * manual/sysinfo.texi (System Parameters): Do not mention bdflush.

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

Summary of changes:
 ChangeLog                             |   18 ++++++++++++++++++
 NEWS                                  |    7 +++++++
 manual/sysinfo.texi                   |    2 --
 sysdeps/unix/Makefile                 |   14 +++++++++++++-
 sysdeps/unix/make-syscalls.sh         |   21 ++++++++++++++-------
 sysdeps/unix/sysv/linux/Makefile      |    2 +-
 sysdeps/unix/sysv/linux/sys/kdaemon.h |   32 --------------------------------
 sysdeps/unix/sysv/linux/syscalls.list |   10 +++++-----
 8 files changed, 58 insertions(+), 48 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/sys/kdaemon.h

-- 
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]