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 math/19822] New: libm.so install clobbers old version


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

            Bug ID: 19822
           Summary: libm.so install clobbers old version
           Product: glibc
           Version: 2.22
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: dylan-sourceware at dylex dot net
  Target Milestone: ---

Created attachment 9095
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9095&action=edit
patch

When installing glibc >= 2.22 in place on a system with glibc <= 2.21, the
install will clobber the existing libm.so (e.g., /lib64/libm-2.21.so) with a
linker script.  As a result, anything depending on libm will fail to run (and
running processes will segfault) and the install fails.  This is because the
makefile writes the linker script directly to /lib64/libm.so.6, which is a
symlink.

The simple attached patch to math/Makefile fixes this.  It is based on the nptl
Makefile, which does exactly the same thing in a safer way.

I can confirm that without this patch a glibc 2.22 or 2.23 "make install"
renders my system unusable, but with it 2.23 installs just fine.  (I note that
by the time the install is finished, libm.so.6 is a symlink again, presumably
from ldconfig, so I'm not sure why it's making a linker script anyway.)

Linux 4.4.4 x86_64

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