From: Nick Clifton Date: Fri, 31 Aug 2007 14:46:55 +0000 (+0000) Subject: * ldlang.c (lang_map): Increment lang_statement_iteration so that DEFINED() expressio... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a1438fce30be2e62cfcb2d798e46766c65b82316;p=binutils-gdb.git * 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. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 8a94b2e1e56..1579bec8b68 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2007-08-31 Tristan Gingold + + * ldlang.c (lang_map): Increment lang_statement_iteration so that + DEFINED() expressions are correctly computed. + 2007-08-31 Alan Modra * ldlang.c (lang_record_phdrs): Give a fatal error if no sections diff --git a/ld/ldlang.c b/ld/ldlang.c index f247a173315..7ecd4774685 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1811,6 +1811,7 @@ lang_map (void) bfd_map_over_sections (p, init_map_userdata, 0); bfd_link_hash_traverse (link_info.hash, sort_def_symbol, 0); } + lang_statement_iteration ++; print_statements (); } @@ -3539,7 +3540,7 @@ print_assignment (lang_assignment_statement_type *assignment, value = h->u.def.value; if (expld.result.section) - value += expld.result.section->vma; + value += expld.result.section->vma; minfo ("[0x%V]", value); } diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index ec3cf044ea9..5b0ce3225ef 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-08-31 Tristan Gingold + + * 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 Joseph Myers diff --git a/ld/testsuite/ld-scripts/map-address.d b/ld/testsuite/ld-scripts/map-address.d index 289b6850416..7877ca4de5c 100644 --- a/ld/testsuite/ld-scripts/map-address.d +++ b/ld/testsuite/ld-scripts/map-address.d @@ -1,6 +1,8 @@ #... Linker script and memory map #... + *0x0*000020 *def1 = .* + *0x0*000020 *def2 = def1 *0x0*010001 *\. = 0x10001 *0x0*010001 *foo = \. *0x0*010201 *\. = \(\. \+ 0x200\) diff --git a/ld/testsuite/ld-scripts/map-address.t b/ld/testsuite/ld-scripts/map-address.t index 8f2dfebe205..e077ed1cb4c 100644 --- a/ld/testsuite/ld-scripts/map-address.t +++ b/ld/testsuite/ld-scripts/map-address.t @@ -1,5 +1,7 @@ SECTIONS { + def1 = DEFINED(foo) ? 0x10 : 0x20; + def2 = def1; . = 0x10001; foo = .; . += 0x200;