This is the mail archive of the libc-alpha@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]

Re: [PATCH] math/Makefile: don't clobber old libm.so on install [BZ #19822]


On 15 Mar 2016 13:20, Dylan Alex Simon wrote:
> When installing glibc >= 2.22 in-place on a x86_64-pc-linux 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.

i guess the issue comes up when you are moving from a non-mathvec setup
to having mathvec installed.  non-mathvec doesn't use ldscripts, but the
matchvec code does.

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

patch looks fine

> 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 exactly sure why it's making a linker script.)

libm.so.6 isn't supposed to be a linker script, libm.so is.
that's what this rule is installing -- libm.so.
-mike

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]