[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/12548] New: anonymous version scripts no longer working with bin
From: |
ossman at cendio dot se |
Subject: |
[Bug ld/12548] New: anonymous version scripts no longer working with binutils 2.21 |
Date: |
Mon, 7 Mar 2011 12:30:08 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=12548
Summary: anonymous version scripts no longer working with
binutils 2.21
Product: binutils
Version: 2.21
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: address@hidden
ReportedBy: address@hidden
I upgraded our build system from binutils 2.20 and gcc 4.4.3 to binutils 2.21
and gcc 4.5.2. This unfortunately broke support for anonymous version scripts.
Example from libjpeg-turbo:
sparc-sun-solaris2.10-gcc -shared .libs/jcapimin.o .libs/jcapistd.o
.libs/jccoefct.o .libs/jccolor.o .libs/jcdctmgr.o .libs/jchuff.o .libs/jcinit.o
.libs/jcmainct.o .libs/jcmarker.o .libs/jcmaster.o .libs/jcomapi.o
.libs/jcparam.o .libs/jcphuff.o .libs/jcprepct.o .libs/jcsample.o
.libs/jctrans.o .libs/jdapimin.o .libs/jdapistd.o .libs/jdatadst.o
.libs/jdatasrc.o .libs/jdcoefct.o .libs/jdcolor.o .libs/jddctmgr.o
.libs/jdhuff.o .libs/jdinput.o .libs/jdmainct.o .libs/jdmarker.o
.libs/jdmaster.o .libs/jdmerge.o .libs/jdphuff.o .libs/jdpostct.o
.libs/jdsample.o .libs/jdtrans.o .libs/jerror.o .libs/jfdctflt.o
.libs/jfdctfst.o .libs/jfdctint.o .libs/jidctflt.o .libs/jidctfst.o
.libs/jidctint.o .libs/jidctred.o .libs/jquant1.o .libs/jquant2.o
.libs/jutils.o .libs/jmemmgr.o .libs/jmemnobs.o .libs/jaricom.o .libs/jcarith.o
.libs/jdarith.o .libs/jsimd_none.o .libs/turbojpegl.o -lc
-Wl,--version-script -Wl,./turbojpeg-mapfile -Wl,-soname -Wl,libturbojpeg.so -o
.libs/libturbojpeg.so
/usr/lib/gcc/sparc-sun-solaris2.10/4.5.2/../../../../sparc-sun-solaris2.10/bin/ld:
anonymous version tag cannot be combined with other version tags
Contents of turbojpeg-mapfile:
{
global:
tjInitCompress;
tjCompress;
TJBUFSIZE;
tjInitDecompress;
tjDecompressHeader;
tjDecompressHeader2;
tjDecompress;
tjDestroy;
tjGetErrorStr;
local:
*;
};
The problem is specific to the Solaris/sparc backend. I have the same
binutils/gcc pair built and targeting i686, x86_64, win32 and win64 and I do
not get the problem there.
After some digging, I found that the problem is in ld/emultempl/solaris2.em,
which is part of the new Solaris 2 ABI stuff. It tries to add a new version
section for a bunch of symbols, which of course won't work when there is
already an anonymous section from the command line.
I'm not sure how to proceed here. I have to assume this version section is
being added for a reason, so I can't just remove it. Perhaps the entries need
to be merged with the existing section?
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug ld/12548] New: anonymous version scripts no longer working with binutils 2.21,
ossman at cendio dot se <=