Something's wrong with ld-elf.so.1 when SYMVER_ENABLED=true
Daniel Eischen
deischen at freebsd.org
Sun Apr 8 04:24:10 UTC 2007
On Sun, 8 Apr 2007, Vladimir Kushnir wrote:
> Hi,
> Here's description. It's amd64-CURRENT. World was rebuilt last night (with
> SYMVER_ENABLED=true set in /etc/make.conf long ago). After re-installation,
> sudenly everything's falling on its face with segfaults, with "pam_rootok.so
> not found", with "Can't allocate initial thread" and so on. After ld-elf.so.1
> and ld-elf32.so.1 were replaced with old ones (from Jan 27 :-() everything
> went and still goes on with no problems.
>
> Indeed, as simple listing (and strings) show, in new (installed => stripped)
> ld-elf.so.1 (180 kB) vs old ld-elf.so.1.old (224 kB) lots of symbols (like
> _DYNAMIC or .rtld_start, for one) are just absent.
I had the same problem and disabled symbol versioning in
src/libexec/rtld-elf/Makefile. This was on i386 and caused
pam to fail and not allow any logins.
login: in openpam_load_module(): no pam_nologin.so found
login: pam_start(): system error
--
DE
Index: Makefile
===================================================================
RCS file: /opt/FreeBSD/cvs/src/libexec/rtld-elf/Makefile,v
retrieving revision 1.37
diff -u -r1.37 Makefile
--- Makefile 3 Apr 2007 19:01:06 -0000 1.37
+++ Makefile 7 Apr 2007 16:04:14 -0000
@@ -21,6 +21,7 @@
DPADD= ${LIBC_PIC}
LDADD= -lc_pic
+.if 0
.if defined(SYMVER_ENABLED)
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
VERSION_DEF= ${.CURDIR}/Versions.def
@@ -33,6 +34,7 @@
@@ -33,6 +34,7 @@
SYMBOL_MAPS+= ${.CURDIR}/${MACHINE_ARCH}/Symbol.map
.endif
.endif
+.endif
.if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
More information about the freebsd-current
mailing list