This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Patch to fix problems with memory regions and OVERLAYs
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Richard Sandiford <rsandifo at redhat dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Thu, 2 May 2002 10:39:43 +0930
- Subject: Re: Patch to fix problems with memory regions and OVERLAYs
- References: <wvnn0vjvj46.fsf@talisman.cambridge.redhat.com>
On Wed, May 01, 2002 at 07:05:45PM +0100, Richard Sandiford wrote:
> [ld/]
> * ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
> (lang_enter_overlay): Remove the last two parameters.
> (lang_leave_overlay): Take them here instead.
> * ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
> (section): Pass LMA and crossref flag to lang_leave_overlay rather
> than lang_enter_overlay.
> * ldlang.c (lang_memory_region_lookup): Return null for null names.
> (lang_output_section_statement_lookup): Initialize update_dot_tree.
> (lang_size_sections_1): Evaluate it.
> (lang_leave_output_section_statement): Rework LMA lookup.
> (overlay_lma, overlay_nocrossrefs): Remove.
> (lang_enter_overlay): Remove LMA and corssref arguments.
> (lang_enter_overlay_section): Don't set the LMA here.
> (lang_leave_overlay): Take LMA and crossref arguments. Move the '.'
> assignment to the last section's update_dot_tree. Unconditionally
> use the load and run-time regions specified in the OVERLAY statement.
> Likewise the first section's LMA. Only set the other sections' LMAs
> when no load region is given.
>
> [ld/testsuite/]
> * lib/ld-lib.exp (run_dump_test): Add -L$srcdir/$subdir.
> (is_elf_format): New, extracted from...
> * ld-scripts/weak.exp: ...here.
> * ld-scripts/overlay-size.exp: New test.
> * ld-scripts/overlay-size.[tsd],
> * ld-scripts/overlay-size-map.d: New files for it.
Looks reasonable to me.
--
Alan Modra
IBM OzLabs - Linux Technology Centre