This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gold] "entry in mergeable string section not null terminated"


On Wed, Mar 18, 2009 at 02:47:39PM -0700, Cary Coutant wrote:
> > /usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: error:
> > /home/peter/g/trunk/host/source/src/ApplicationComponents/AnatomicProgram/libApplicationComponents_AnatomicProgram-debug.a(APr.o):
> > entry in mergeable string section not null terminated
> > [... a lot more of those errors in other object files]
> >
> > This is with gold as /usr/bin/ld. If I use regualar ld, the link proceeds
> > as intented.  What is it supposed to tell me?
> 
> Certain sections in your relocatable object files contain read-only string
> data; the linker tries to optimize the size of your executable by merging
> these sections together and eliminating any duplicate strings. For that to
> work, each section marked as a mergeable string section (one with the flags
> SHF_MERGE and SHF_STRINGS set) must consist entirely of null-terminated
> strings, one after the other, so that the linker can find each individual
> string.
> 
> This error message is telling you that it found a section marked with
> SHF_MERGE and SHF_STRINGS, but that the section didn't end with a null. If
> you can gzip your archive libApplicationComponents_AnatomicProgram-debug.a
> and send it to me, I'll take a look and see if I can spot the problem. I'm
> not sure if the gnu linker is more tolerant, or if it just wasn't trying to
> do the constant merging optimization.
> 
> -cary

Sorry, I'm not allowed to distribute this file, but I try to reproduce the
problem over the weekend, so you could have a look.

-Peter


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]