[Bug libc/14171] Clean up shlib-versions

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Fri Sep 26 17:34:00 GMT 2014


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

--- 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  93ae1ebaa6df1a0c188614bd0a601ab6e26711c5 (commit)
      from  68870f1253b781960da0f8bf9d8e6fbe6cf2ff3d (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=93ae1ebaa6df1a0c188614bd0a601ab6e26711c5

commit 93ae1ebaa6df1a0c188614bd0a601ab6e26711c5
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Sep 26 17:33:04 2014 +0000

    Clean up gnu/lib-names.h generation (bug 14171).

    This patch eliminates the mixture of SONAME information in
    shlib-versions files and SONAME information used to generate
    gnu/lib-names.h in makefiles, with the information in the makefiles
    being removed so all this information comes from the shlib-versions
    files.

    So that gnu/lib-names.h supports multiple ABIs, it is changed to be
    generated on the same basis as gnu/stubs.h: when there are multiple
    ABIs, gnu/lib-names.h is a wrapper header (the same header installed
    whatever ABI is being built) and separate headers such as
    gnu/lib-names-64.h contain the substantive contents (only one such
    header being installed by any glibc build).

    The rules for building gnu/lib-names.h were moved from Makeconfig to
    Makerules because they need to come after sysdeps makefiles are
    included (now that "ifndef abi-variants" is a toplevel conditional on
    the rules rather than $(abi-variants) being evaluated later inside the
    commands for a rule).

    Tested for x86_64 and x86 that the installed shared libraries are
    unchanged by this patch, and examined the installed gnu/lib-names*.h
    headers by hand.  Also tested the case of a single ABI (where there is
    just a single header installed, again like stubs.h) by hacking
    abi-variants to empty for x86_64.

        [BZ #14171]
        * Makeconfig [$(build-shared) = yes]
        ($(common-objpfx)soversions.mk): Don't handle SONAMEs specified in
        makefiles.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        ($(common-objpfx)gnu/lib-names.h): Remove rule.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        ($(common-objpfx)gnu/lib-names.stmp): Likewise.  Split and moved
        to Makerules.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        (before-compile): Don't append $(common-objpfx)gnu/lib-names.h
        here.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        (common-generated): Don't append gnu/lib-names.h and
        gnu/lib-names.stmp here.
        * Makerules [$(build-shared) = yes && $(soversions.mk-done) = t]
        (lib-names-h-abi): New variable.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        (lib-names-stmp-abi): Likewise.
        [$(build-shared) = yes && $(soversions.mk-done) = t &&
        abi-variants] (before-compile): Append
        $(common-objpfx)$(lib-names-h-abi).
        [$(build-shared) = yes && $(soversions.mk-done) = t &&
        abi-variants] (common-generated): Append gnu/lib-names.h.
        [$(build-shared) = yes && $(soversions.mk-done) = t &&
        abi-variants] (install-others-nosubdir): Depend on
        $(inst_includedir)/$(lib-names-h-abi).
        [$(build-shared) = yes && $(soversions.mk-done) = t &&
        abi-variants] ($(common-objpfx)gnu/lib-names.h): New rule.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        ($(common-objpfx)$(lib-names-h-abi)): New rule.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        ($(common-objpfx)$(lib-names-stmp-abi)): Likewise.
        [$(build-shared) = yes && $(soversions.mk-done) = t]
        (common-generated): Append $(lib-names-h-abi) and
        $(lib-names-stmp-abi).
        * scripts/lib-names.awk: Do not handle multi being set.
        * sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-ld-soname):
        Remove variable.
        (abi-lp64_be-ld-soname): Likewise.
        * sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-ld-soname):
        Likewise.
        (abi-hard-ld-soname): Likewise.
        * sysdeps/unix/sysv/linux/i386/shlib-versions: New file.
        * sysdeps/unix/sysv/linux/mips/Makefile (abi-o32_soft-ld-soname):
        Remove variable.
        (abi-o32_hard-ld-soname): Likewise.
        (abi-o32_soft_2008-ld-soname): Likewise.
        (abi-o32_hard_2008-ld-soname): Likewise.
        (abi-n32_soft-ld-soname): Likewise.
        (abi-n32_hard-ld-soname): Likewise.
        (abi-n32_soft_2008-ld-soname): Likewise.
        (abi-n32_hard_2008-ld-soname): Likewise.
        (abi-n64_soft-ld-soname): Likewise.
        (abi-n64_hard-ld-soname): Likewise.
        (abi-n64_soft_2008-ld-soname): Likewise.
        (abi-n64_hard_2008-ld-soname): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/Makefile (abi-64-v1-ld-soname):
        Likewise.
        (abi-64-v2-ld-soname): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: Add
        ld.so entries.
        * sysdeps/unix/sysv/linux/s390/Makefile (abi-64-ld-soname): Remove
        variable.
        * sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Add ld.so
        entry.
        * sysdeps/unix/sysv/linux/x86/Makefile (abi-32-ld-soname): Remove
        variable.
        (abi-64-ld-soname): Likewise.
        (abi-x32-ld-soname): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Add ld.so
        entry.
        * sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Likewise.

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

Summary of changes:
 ChangeLog                                          |   76 ++++++++++++++++++++
 Makeconfig                                         |   41 +----------
 Makerules                                          |   63 ++++++++++++++++
 NEWS                                               |    2 +-
 scripts/lib-names.awk                              |    3 +-
 sysdeps/unix/sysv/linux/aarch64/Makefile           |    2 -
 sysdeps/unix/sysv/linux/arm/Makefile               |    2 -
 .../linux/{sparc/sparc32 => i386}/shlib-versions   |    0
 sysdeps/unix/sysv/linux/mips/Makefile              |   12 ---
 sysdeps/unix/sysv/linux/powerpc/Makefile           |    2 -
 .../sysv/linux/powerpc/powerpc64/shlib-versions    |    2 +
 sysdeps/unix/sysv/linux/s390/Makefile              |    1 -
 .../unix/sysv/linux/s390/s390-64/shlib-versions    |    1 +
 sysdeps/unix/sysv/linux/x86/Makefile               |    3 -
 sysdeps/unix/sysv/linux/x86_64/64/shlib-versions   |    1 +
 sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions  |    1 +
 16 files changed, 147 insertions(+), 65 deletions(-)
 copy sysdeps/unix/sysv/linux/{sparc/sparc32 => i386}/shlib-versions (100%)

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



More information about the Glibc-bugs mailing list