aboutsummaryrefslogtreecommitdiff
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
commita2902af6f4b9022ac46de07baab7e3ee72d4be6a (patch)
tree76ede01c41b4b7ae525cc704d47cdcc86b6913d8 /gas/read.c
parent96ffcb620f34d93e29497b4f79609faecf5133b4 (diff)
downloadgdb-a2902af6f4b9022ac46de07baab7e3ee72d4be6a.zip
gdb-a2902af6f4b9022ac46de07baab7e3ee72d4be6a.tar.gz
gdb-a2902af6f4b9022ac46de07baab7e3ee72d4be6a.tar.bz2
* 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 062e361..da319a1 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)