public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname
@ 2023-02-15  0:22 joanbrugueram at gmail dot com
  2023-02-15  0:22 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink created " joanbrugueram at gmail dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: joanbrugueram at gmail dot com @ 2023-02-15  0:22 UTC (permalink / raw)
  To: glibc-bugs

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

            Bug ID: 30125
           Summary: [regression, bisected] glibc-2.37 creates new symlink
                    created in for libraries without soname
           Product: glibc
           Version: 2.37
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: joanbrugueram at gmail dot com
  Target Milestone: ---

Since installing glibc-2.37 I have noticed that `ldconfig` creates symlinks it
did not previously create for libraries without a soname.

In particular, if a library is for exmple named `libsomething.so.123.456.789`,
running `ldconfig` will now create a symlink named `libsomething.123` pointing
to `libsomething.123.456.789`, whereas previously it did not create this
symlink.

A complete reproducer is:

    #!/usr/bin/env sh
    set -eu

    rm -rf sonametest
    mkdir -p sonametest/etc sonametest/usr/lib
    gcc /dev/null -o sonametest/usr/lib/libtestsoname.so.123.456.789 -shared

    ldconfig -r sonametest
    ls -l1 sonametest/usr/lib/

Output with glibc-2.36:

    -rwxr-xr-x 1 user user 14520 11. Feb 12:34 libtestsoname.so.123.456.789

Output with glibc-2.37:

    lrwxrwxrwx 1 user user    28 11. Feb 12:34 libtestsoname.so.123 ->
libtestsoname.so.123.456.789
    -rwxr-xr-x 1 user user 14520 11. Feb 12:34 libtestsoname.so.123.456.789

I have bisected the change in behavior to commit
8ee878592c4a642937152c8308b8faef86bcfc40 "Assume only FLAG_ELF_LIBC6 suport".
It appears that the refactor in `implicit_soname` picked the wrong branch of
the `if` so `implicit_soname` now behaves always behaves as it did for libc4
libraries.

The only negative effect I have noticed from this is that unnecessary files are
created on the system.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink created for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
@ 2023-02-15  0:22 ` joanbrugueram at gmail dot com
  2023-02-15  0:23 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink " joanbrugueram at gmail dot com
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joanbrugueram at gmail dot com @ 2023-02-15  0:22 UTC (permalink / raw)
  To: glibc-bugs

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

Joan Bruguera Micó <joanbrugueram at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[regression, bisected]      |[regression, bisected]
                   |glibc-2.37 creates new      |glibc-2.37 creates new
                   |symlink created in for      |symlink created for
                   |libraries without soname    |libraries without soname

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
  2023-02-15  0:22 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink created " joanbrugueram at gmail dot com
@ 2023-02-15  0:23 ` joanbrugueram at gmail dot com
  2023-02-15  0:23 ` joanbrugueram at gmail dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joanbrugueram at gmail dot com @ 2023-02-15  0:23 UTC (permalink / raw)
  To: glibc-bugs

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

Joan Bruguera Micó <joanbrugueram at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[regression, bisected]      |[regression, bisected]
                   |glibc-2.37 creates new      |glibc-2.37 creates new
                   |symlink created for         |symlink for libraries
                   |libraries without soname    |without soname

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
  2023-02-15  0:22 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink created " joanbrugueram at gmail dot com
  2023-02-15  0:23 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink " joanbrugueram at gmail dot com
@ 2023-02-15  0:23 ` joanbrugueram at gmail dot com
  2023-02-15  0:34 ` joanbrugueram at gmail dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joanbrugueram at gmail dot com @ 2023-02-15  0:23 UTC (permalink / raw)
  To: glibc-bugs

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

Joan Bruguera Micó <joanbrugueram at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |adhemerval.zanella at linaro dot o
                   |                            |rg

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
                   ` (2 preceding siblings ...)
  2023-02-15  0:23 ` joanbrugueram at gmail dot com
@ 2023-02-15  0:34 ` joanbrugueram at gmail dot com
  2023-02-15  9:21 ` sam at gentoo dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joanbrugueram at gmail dot com @ 2023-02-15  0:34 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #1 from Joan Bruguera Micó <joanbrugueram at gmail dot com> ---
For completeness, details about the system where this reproduces:

Host/build/target are the same
Target triplet: x86_64-pc-linux-gnu
Configure command: ./configure --prefix=/usr
OS: Arch Linux, updated as of 2023-02-14; also reproduces current Fedora 37/38
containers from DockerHub
Linux version: 6.1.11 (-arch1-1 variant)
gcc version: gcc-Version 12.2.1 20230201 (GCC)
ld version: GNU ld (GNU Binutils) 2.40

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
                   ` (3 preceding siblings ...)
  2023-02-15  0:34 ` joanbrugueram at gmail dot com
@ 2023-02-15  9:21 ` sam at gentoo dot org
  2023-02-20 12:35 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: sam at gentoo dot org @ 2023-02-15  9:21 UTC (permalink / raw)
  To: glibc-bugs

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

Sam James <sam at gentoo dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lamm at linux dot ibm.com,
                   |                            |sam at gentoo dot org,
                   |                            |toolchain at gentoo dot org

--- Comment #2 from Sam James <sam at gentoo dot org> ---
https://sourceware.org/pipermail/libc-alpha/2023-February/145616.html

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
                   ` (4 preceding siblings ...)
  2023-02-15  9:21 ` sam at gentoo dot org
@ 2023-02-20 12:35 ` cvs-commit at gcc dot gnu.org
  2023-02-20 12:36 ` adhemerval.zanella at linaro dot org
  2023-02-20 16:32 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-02-20 12:35 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Adhemerval Zanella
<azanella@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1b0ea8c5d886fedabd611a569b5ec58a6f5153e6

commit 1b0ea8c5d886fedabd611a569b5ec58a6f5153e6
Author: Joan Bruguera <joanbrugueram@gmail.com>
Date:   Sat Feb 18 21:52:15 2023 +0000

    elf: Restore ldconfig libc6 implicit soname logic [BZ #30125]

    While cleaning up old libc version support, the deprecated libc4 code was
    accidentally kept in `implicit_soname`, instead of the libc6 code.

    This causes additional symlinks to be created by `ldconfig` for libraries
    without a soname, e.g. a library `libsomething.123.456.789` without a
soname
    will create a `libsomething.123` -> `libsomething.123.456.789` symlink.

    As the libc6 version of the `implicit_soname` code is a trivial `xstrdup`,
    just inline it and remove `implicit_soname` altogether.

    Some further simplification looks possible (e.g. the call to `create_links`
    looks like a no-op if `soname == NULL`, other than the verbose printfs),
but
    logic is kept as-is for now.

    Fixes: BZ #30125
    Fixes: 8ee878592c4a ("Assume only FLAG_ELF_LIBC6 suport")
    Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>

    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
                   ` (5 preceding siblings ...)
  2023-02-20 12:35 ` cvs-commit at gcc dot gnu.org
@ 2023-02-20 12:36 ` adhemerval.zanella at linaro dot org
  2023-02-20 16:32 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: adhemerval.zanella at linaro dot org @ 2023-02-20 12:36 UTC (permalink / raw)
  To: glibc-bugs

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

Adhemerval Zanella <adhemerval.zanella at linaro dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
   Target Milestone|---                         |2.38
         Resolution|---                         |FIXED

--- Comment #4 from Adhemerval Zanella <adhemerval.zanella at linaro dot org> ---
Fixed on 2.38.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink for libraries without soname
  2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
                   ` (6 preceding siblings ...)
  2023-02-20 12:36 ` adhemerval.zanella at linaro dot org
@ 2023-02-20 16:32 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-02-20 16:32 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The release/2.37/master branch has been updated by Adhemerval Zanella
<azanella@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=590d0e089b06f158ded713f5e5600eaa66dcea44

commit 590d0e089b06f158ded713f5e5600eaa66dcea44
Author: Joan Bruguera <joanbrugueram@gmail.com>
Date:   Sat Feb 18 21:52:15 2023 +0000

    elf: Restore ldconfig libc6 implicit soname logic [BZ #30125]

    While cleaning up old libc version support, the deprecated libc4 code was
    accidentally kept in `implicit_soname`, instead of the libc6 code.

    This causes additional symlinks to be created by `ldconfig` for libraries
    without a soname, e.g. a library `libsomething.123.456.789` without a
soname
    will create a `libsomething.123` -> `libsomething.123.456.789` symlink.

    As the libc6 version of the `implicit_soname` code is a trivial `xstrdup`,
    just inline it and remove `implicit_soname` altogether.

    Some further simplification looks possible (e.g. the call to `create_links`
    looks like a no-op if `soname == NULL`, other than the verbose printfs),
but
    logic is kept as-is for now.

    Fixes: BZ #30125
    Fixes: 8ee878592c4a ("Assume only FLAG_ELF_LIBC6 suport")
    Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>

    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 1b0ea8c5d886fedabd611a569b5ec58a6f5153e6)

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-02-20 16:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-15  0:22 [Bug dynamic-link/30125] New: [regression, bisected] glibc-2.37 creates new symlink created in for libraries without soname joanbrugueram at gmail dot com
2023-02-15  0:22 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink created " joanbrugueram at gmail dot com
2023-02-15  0:23 ` [Bug dynamic-link/30125] [regression, bisected] glibc-2.37 creates new symlink " joanbrugueram at gmail dot com
2023-02-15  0:23 ` joanbrugueram at gmail dot com
2023-02-15  0:34 ` joanbrugueram at gmail dot com
2023-02-15  9:21 ` sam at gentoo dot org
2023-02-20 12:35 ` cvs-commit at gcc dot gnu.org
2023-02-20 12:36 ` adhemerval.zanella at linaro dot org
2023-02-20 16:32 ` cvs-commit at gcc dot gnu.org

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).