* ldexp.c (fold_name <LOADADDR>): Use the lma.

* ldlang.h (lang_memory_region_type): Delete old_length.  Add
	last_os.
	* ldlang.c (lang_memory_region_lookup): Init new field.
	(lang_reset_memory_regions): Reset new field.
	(lang_insert_orphan): Don't set load_base.
	(lang_leave_overlay): Likewise.
	(lang_size_sections_1): Delete unnecessary code setting lma_region
	to region.  Correct lma region check.
	(lang_do_assignments_1): Rename output_section_statement parm
	to current_os.  Set lma from previous section in region.
This commit is contained in:
Alan Modra 2006-07-26 05:05:52 +00:00
parent 329c1c8685
commit 66e28d60cb
4 changed files with 83 additions and 54 deletions

View file

@ -577,7 +577,8 @@ fold_name (etree_type *tree)
if (os != NULL && os->processed)
{
if (os->load_base == NULL)
new_rel (0, NULL, os->bfd_section);
new_rel (os->bfd_section->lma - os->bfd_section->vma,
NULL, os->bfd_section);
else
exp_fold_tree_1 (os->load_base);
}