* ldlang.c (lang_map): Increment lang_statement_iteration so that DEFINED() expressio...
authorNick Clifton <nickc@redhat.com>
Fri, 31 Aug 2007 14:46:55 +0000 (14:46 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 31 Aug 2007 14:46:55 +0000 (14:46 +0000)
* testsuite/ld-script/map-address.d,
* testsuite/ld-script/map-address.t: Add a test for testing DEFINED in map output.

ld/ChangeLog
ld/ldlang.c
ld/testsuite/ChangeLog
ld/testsuite/ld-scripts/map-address.d
ld/testsuite/ld-scripts/map-address.t

index 8a94b2e..1579bec 100644 (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>
 
        * ldlang.c (lang_record_phdrs): Give a fatal error if no sections
index f247a17..7ecd477 100644 (file)
@@ -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);
            }
index ec3cf04..5b0ce32 100644 (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>
             Joseph Myers  <joseph@codesourcery.com>
 
index 289b685..7877ca4 100644 (file)
@@ -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\)
index 8f2dfeb..e077ed1 100644 (file)
@@ -1,5 +1,7 @@
 SECTIONS
 {
+  def1 = DEFINED(foo) ? 0x10 : 0x20;
+  def2 = def1;
   . = 0x10001;
   foo = .;
   . += 0x200;