This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: fix memory regions with displaced BSS data
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: amodra at bigpond dot net dot au (Alan Modra)
- Cc: nathan at codesourcery dot com (Nathan Sidwell), binutils at sources dot redhat dot com (binutils)
- Date: Mon, 25 May 2009 14:36:05 +0200 (CEST)
- Subject: Re: fix memory regions with displaced BSS data
Alan Modra wrote:
> > *** ld/ldlang.c 15 May 2009 14:22:35 -0000 1.308
> > --- ld/ldlang.c 19 May 2009 15:46:38 -0000
> > *************** lang_check_section_addresses (void)
> > *** 4498,4504 ****
> > for (s = link_info.output_bfd->sections; s != NULL; s = s->next)
> > {
> > /* Only consider loadable sections with real contents. */
> > ! if (IGNORE_SECTION (s) || s->size == 0)
> > continue;
> >
> > sections[count] = s;
> > --- 4498,4504 ----
> > for (s = link_info.output_bfd->sections; s != NULL; s = s->next)
> > {
> > /* Only consider loadable sections with real contents. */
> > ! if ((s->flags & SEC_NEVER_LOAD) || !(s->flags & SEC_LOAD))
> > continue;
> >
> > sections[count] = s;
>
> Please leave the s->size == 0 test here. OK with that change.
It looks like this change causes problems with NOTE section on the SPU:
/home/kwerner/dailybuild/spu-tc-2009-05-25/spu-toolchain/spu/bin/ld: section .note.spu_name loaded at [0000000000000000,000000000000001f] overlaps section .interrupt loaded at [0000000000000000,0000000000000003]
/home/kwerner/dailybuild/spu-tc-2009-05-25/spu-toolchain/spu/bin/ld: section .init loaded at [0000000000000004,0000000000000023] overlaps section .note.spu_name loaded at [0000000000000000,000000000000001f]
collect2: ld returned 1 exit status
Is it intentional that the test now also includes NOTEs? It seems
the previous test ignored them because they do not have the
SEC_ALLOC flag set.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com