This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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