summaryrefslogtreecommitdiff
path: root/gas/read.c
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2006-07-16 10:19:19 +0000
committerThiemo Seufer <ths@networkno.de>2006-07-16 10:19:19 +0000
commita6a871aea726977ae1a15409017fc12f065452bb (patch)
treebceb39a17f4df5dedaf789924f734fb1475802bb /gas/read.c
parentca3535b445fa2a4819e8f7b3fa76dbaf4b016840 (diff)
downloadbinutils-redhat-a6a871aea726977ae1a15409017fc12f065452bb.tar.gz
* 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.
Diffstat (limited to 'gas/read.c')
-rw-r--r--gas/read.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/read.c b/gas/read.c
index 062e361c5d..da319a1e2b 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -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)