Closed
Bug 14241
Opened 26 years ago
Closed 26 years ago
--enable-low-fat causes debug messages in dlopen() on FreeBSD
Categories
(Core :: XPCOM, defect, P3)
Tracking
()
RESOLVED
INVALID
M15
People
(Reporter: lennox, Assigned: mcafee)
Details
When I compile with --enable-low-fat on FreeBSD, the resulting binary spews
debug messages of the form:
Ignored d_tag 1879048188
Ignored d_tag 1879048189
Ignored d_tag 1879048176
Ignored d_tag 1879048188
Ignored d_tag 1879048189
Ignored d_tag 1879048176
The three values cycle forever, hundreds (at least) of times.
Looking at the FreeBSD source code, this debug message comes from
/usr/src/libexec/rtld-elf/rtld.c, which is where dlopen() is implemented.
Specifically, the error message is printed by digest_dynamic if the d_tag field
of an entry in a .dynamic section isn't of a type it recognizes. The defined
values for this field range from 0 to 23.
objdump does indeed show that there are bogus values in the .dynamic section,
the last three:
bash-2.02$ objdump --full-contents --section=.dynamic libsample.so
libsample.so: file format elf32-i386
Contents of section .dynamic:
8eb4 01000000 db060000 0e000000 96120000 ................
8ec4 0c000000 d42c0000 0d000000 c4660000 .....,.......f..
8ed4 04000000 94000000 05000000 d4020000 ................
8ee4 06000000 44010000 0a000000 a3120000 ....D...........
8ef4 0b000000 10000000 03000000 688e0000 ............h...
8f04 02000000 58000000 14000000 11000000 ....X...........
8f14 17000000 7c2c0000 11000000 ec150000 ....|,..........
8f24 12000000 90160000 13000000 08000000 ................
8f34 16000000 00000000 fcffff6f b4150000 ...........o....
8f44 fdffff6f 02000000 f0ffff6f 80150000 ...o.......o....
8f54 00000000 00000000 ........
All .dynamic sections have those final three entries, though the values of the
first and third vary.
On further investigation, it looks like these are symbol versioning tags, which
don't work on FreeBSD...I think the version-script method of stripping down
symbol files won't work here. Can't you just use --retain-symbols-file
instead? (The output with --retain-symbols-file also seems to be significantly
smaller.)
bash-2.02$ ld --version
GNU ld 2.9.1
Copyright 1997 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
Supported emulations:
elf_i386
bash-2.02$ uname -a
FreeBSD conrail.cs.columbia.edu 3.2-RELEASE FreeBSD 3.2-RELEASE #3: Wed May 19
19:42:12 EDT 1999
rlennox@conrail.cs.columbia.edu:/usr/cvsrc/RELENG_3/src/sys/compile/CONRAIL
i386
Updated•26 years ago
|
Assignee: ramiro → mcafee
cant reproduce this on linux, and dont have freebsd to test.
Reassign to mcafee.
Updated•26 years ago
|
QA Contact: beppe → dp
Assignee | ||
Updated•26 years ago
|
Target Milestone: M12
Assignee | ||
Updated•26 years ago
|
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → INVALID
Assignee | ||
Comment 4•26 years ago
|
||
--enable-low-fat is not in configure.in, marking invalid.
You need to log in
before you can comment on or make changes to this bug.
Description
•