* read.c (s_struct): Handle ELF section changing.
authorThiemo Seufer <ths@networkno.de>
Sun, 16 Jul 2006 10:19:19 +0000 (10:19 +0000)
committerThiemo Seufer <ths@networkno.de>
Sun, 16 Jul 2006 10:19:19 +0000 (10:19 +0000)
* config/tc-mips.c (s_align): Leave enabling auto-align to the
generic code.
(s_change_sec): Try section changing only if we output ELF.

gas/ChangeLog
gas/read.c

index de75af16326de4472c03e0e99d5fa2a2d6e44ed0..dc965a347fde4db283d80ac07381c8acac6cfd3a 100644 (file)
@@ -1,3 +1,11 @@
+2006-07-16  Thiemo Seufer  <ths@mips.com>
+            David Ung  <davidu@mips.com>
+
+       * read.c (s_struct): Handle ELF section changing.
+       * config/tc-mips.c (s_align): Leave enabling auto-align to the
+       generic code.
+       (s_change_sec): Try section changing only if we output ELF.
+
 2006-07-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/tc-i386.c (cpu_arch): Remove Cpu086, CpuAthlon and
index 062e361c5d6456bce303c1b4b9262e466ee4908b..da319a1e2bef4626f007dcdf01c738d5d4924342 100644 (file)
@@ -3132,6 +3132,12 @@ s_struct (int ignore ATTRIBUTE_UNUSED)
   if (flag_mri)
     stop = mri_comment_field (&stopc);
   abs_section_offset = get_absolute_expression ();
+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
+  /* The ELF backend needs to know that we are changing sections, so
+     that .previous works correctly. */
+  if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
+    obj_elf_section_change_hook ();
+#endif
   subseg_set (absolute_section, 0);
   demand_empty_rest_of_line ();
   if (flag_mri)