This is the mail archive of the
mailing list for the binutils project.
Testcase for symbol redefinition problem
- From: "Kevin P. Fleming" <kpfleming at linuxfromscratch dot org>
- To: binutils at sources dot redhat dot com
- Cc: jim at jg555 dot com
- Date: Sat, 24 Jul 2004 20:11:13 -0700
- Subject: Testcase for symbol redefinition problem
- Organization: Linux From Scratch
A few days ago I posted a message about a problem some of our LFS
developers are having building UML kernels. H.J. Lu asked that I repost
when I could supply a small testcase, so I'm doing that.
The above tarball, when unpacked and "make" run, will demonstrate the
problem we are having. Note that the make run will always fail, because
the link instructions are incomplete; what I'm concerned about here is
an additional error that occurs on some systems and not others.
The error that occurs on _some_ systems only involves ld reporting that
the "strcpy" symbol has been multiply-defined, in unmap_fin.o (which got
if from glibc) and in strcpy.o (where it was manually defined). What's
unusual is that we cannot find any reliable means to identify which
systems will have this problem and which ones won't.
In the most degenerate case, we have a user with two systems both
running Fedora Core 2 with identical packages (no updates have been
applied, these are installs straight off the FC2 install discs). On one
system the link fails, on the other it succeeds. The only difference we
know of between the two systems is that one is an AMD K6-3 processor
(which succeeds) and the other is an Intel Pentium 2 (which fails).
I also have test reports from a variety of other systems, involving
binutils versions 2.14, 2.15, 188.8.131.52.* and 184.108.40.206.*. These reports
also cover multiple gcc versions and multiple glibc versions. If you are
interested, the reports are in this thread:
We have not run across this problem building anything other than UML, so
it could very well be a problem in the UML Makefile and/or linker
scripts. We originally were concerned that our toolchain builds were
somehow at fault, but we now have test reports of failure on FC2,
Gentoo, and ArchLinux.