* ldlang.c (lang_map): Increment lang_statement_iteration so that DEFINED() expressions are correctly computed.

* testsuite/ld-script/map-address.d,
* testsuite/ld-script/map-address.t: Add a test for testing DEFINED in map output.
This commit is contained in:
Nick Clifton 2007-08-31 14:46:55 +00:00
parent 30b0f203dd
commit a1438fce30
5 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2007-08-31 Tristan Gingold <gingold@adacore.com>
* ldlang.c (lang_map): Increment lang_statement_iteration so that
DEFINED() expressions are correctly computed.
2007-08-31 Alan Modra <amodra@bigpond.net.au> 2007-08-31 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (lang_record_phdrs): Give a fatal error if no sections * ldlang.c (lang_record_phdrs): Give a fatal error if no sections

View file

@ -1811,6 +1811,7 @@ lang_map (void)
bfd_map_over_sections (p, init_map_userdata, 0); bfd_map_over_sections (p, init_map_userdata, 0);
bfd_link_hash_traverse (link_info.hash, sort_def_symbol, 0); bfd_link_hash_traverse (link_info.hash, sort_def_symbol, 0);
} }
lang_statement_iteration ++;
print_statements (); print_statements ();
} }
@ -3539,7 +3540,7 @@ print_assignment (lang_assignment_statement_type *assignment,
value = h->u.def.value; value = h->u.def.value;
if (expld.result.section) if (expld.result.section)
value += expld.result.section->vma; value += expld.result.section->vma;
minfo ("[0x%V]", value); minfo ("[0x%V]", value);
} }

View file

@ -1,3 +1,9 @@
2007-08-31 Tristan Gingold <gingold@adacore.com>
* ld-script/map-address.t: Add a test for testing DEFINED in map
output.
* ld-script/map-address.d: Update expected output.
2007-08-28 Mark Shinwell <shinwell@codesourcery.com> 2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com> Joseph Myers <joseph@codesourcery.com>

View file

@ -1,6 +1,8 @@
#... #...
Linker script and memory map Linker script and memory map
#... #...
*0x0*000020 *def1 = .*
*0x0*000020 *def2 = def1
*0x0*010001 *\. = 0x10001 *0x0*010001 *\. = 0x10001
*0x0*010001 *foo = \. *0x0*010001 *foo = \.
*0x0*010201 *\. = \(\. \+ 0x200\) *0x0*010201 *\. = \(\. \+ 0x200\)

View file

@ -1,5 +1,7 @@
SECTIONS SECTIONS
{ {
def1 = DEFINED(foo) ? 0x10 : 0x20;
def2 = def1;
. = 0x10001; . = 0x10001;
foo = .; foo = .;
. += 0x200; . += 0x200;