problem with ld-elf.so.1 install

From: Kenneth D. Merry <ken_at_FreeBSD.org>
Date: Sun, 15 Feb 2004 18:48:50 -0700
I just upgraded from -current as of January 31st to -current as of February
13th.

I'm getting core dumps in random binaries.  It's not consistent, but does
happen occasionally.  e.g.:

GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
(no debugging symbols found)...
Core was generated by `sh'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libedit.so.4...(no debugging symbols found)...done.
Loaded symbols for /lib/libedit.so.4
Reading symbols from /lib/libncurses.so.5...(no debugging symbols found)...
done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /lib/libc.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.5
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...
done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x28068cb7 in reloc_non_plt () from /libexec/ld-elf.so.1
(gdb) where
#0  0x28068cb7 in reloc_non_plt () from /libexec/ld-elf.so.1
#1  0x28065c86 in find_symdef () from /libexec/ld-elf.so.1
#2  0x28064810 in _rtld () from /libexec/ld-elf.so.1

Since it blew up in ld-elf.so.1, I figured I'd look there...

When I did the installworld, though, ld-elf.so.1 didn't seem to get
upgraded.  (See the January 31st date below.)  But when I tried to install
it manually, the install didn't fail, but didn't work either:

[ looks like we have an old binary, for some reason ]
=======================================
# pwd
/usr/c/ken/perforce/FreeBSD-ken/src/libexec/rtld-elf
# ls -lao /libexec/
total 130
drwxr-xr-x   2 root  wheel  -       512 Feb 15 18:36 ./
drwxr-xr-x  27 root  wheel  -      1536 Feb 15 17:30 ../
-r-xr-xr-x   1 root  wheel  schg 128992 Jan 31 16:45 ld-elf.so.1*
=======================================

[ try doing the install manually ]
=======================================
# make install
chflags noschg /usr/libexec/ld-elf.so.1
install -s -o root -g wheel -m 555  -fschg -C -b ld-elf.so.1 /libexec
install -o root -g wheel -m 444 rtld.1.gz  /usr/share/man/man1
/usr/share/man/man1/ld-elf.so.1.1.gz -> /usr/share/man/man1/rtld.1.gz
/usr/share/man/man1/ld.so.1.gz -> /usr/share/man/man1/rtld.1.gz
/usr/libexec/ld-elf.so.1 -> /libexec/ld-elf.so.1
=======================================

[ let's see if it worked ]
=======================================
# ls -lao /libexec/
total 130
drwxr-xr-x   2 root  wheel  -       512 Feb 15 18:36 ./
drwxr-xr-x  27 root  wheel  -      1536 Feb 15 17:30 ../
-r-xr-xr-x   1 root  wheel  schg 128992 Jan 31 16:45 ld-elf.so.1*
# diff /libexec/ld-elf.so.1 /usr/obj/usr/c/ken/perforce/FreeBSD-ken/src/libex >
Binary files /libexec/ld-elf.so.1 and /usr/obj/usr/c/ken/perforce/FreeBSD-ken/src/libexec/rtld-elf/ld-elf.so.1 differ
=======================================

[ it didn't work, try doing a chflags on the binary first ]
=======================================
# chflags noschg /libexec/ld-elf.so.1 
# make install
chflags noschg /usr/libexec/ld-elf.so.1
install -s -o root -g wheel -m 555  -fschg -C -b ld-elf.so.1 /libexec
install -o root -g wheel -m 444 rtld.1.gz  /usr/share/man/man1
/usr/share/man/man1/ld-elf.so.1.1.gz -> /usr/share/man/man1/rtld.1.gz
/usr/share/man/man1/ld.so.1.gz -> /usr/share/man/man1/rtld.1.gz
/usr/libexec/ld-elf.so.1 -> /libexec/ld-elf.so.1
=======================================

[ see if it worked this time ]
=======================================
# ls -lao /libexec/
total 130
drwxr-xr-x   2 root  wheel  -       512 Feb 15 18:44 ./
drwxr-xr-x  27 root  wheel  -      1536 Feb 15 17:30 ../
-r-xr-xr-x   1 root  wheel  schg 128992 Jan 31 16:45 ld-elf.so.1*
# diff /libexec/ld-elf.so.1 /usr/obj/usr/c/ken/perforce/FreeBSD-ken/src/libex >
Binary files /libexec/ld-elf.so.1 and /usr/obj/usr/c/ken/perforce/FreeBSD-ken/src/libexec/rtld-elf/ld-elf.so.1 differ
=======================================
[ didn't work ]

Anyone have any ideas on what I'm doing wrong here?

Thanks,

Ken
-- 
Kenneth Merry
ken_at_FreeBSD.ORG
Received on Sun Feb 15 2004 - 16:48:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:43 UTC