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: [PATCH] SEGV whilst placing sections


On Wed, Jun 21, 2006 at 08:23:18AM +0100, Mark Shinwell wrote:
> Alan, is this test case ok for you?

Perfect.  The thing that is fooling lang_insert_orphan is that *two*
sections are being added to the output bfd.  This comes about because
.rodata is given a load_base in the script, and .ARM.extab is supposed
to follow .rodata, so the orphan .ARM.extab is also given a load_base
which consists of an expression referencing .rodata.  When adding
.ARM.extab, its load_base expression is traversed to see whether any
other sections are needed, and thus .rodata is added too.
Unfortunately, .rodata is added *after* .ARM.extab, so .rodata is at the
end of the list and thus has a NULL next pointer.  Which is where
place->section points.

This means that your first patch is probably the best.  Please apply
that one.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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