aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2005-04-15 11:38:59 +0000
committerJan Beulich <jbeulich@novell.com>2005-04-15 11:38:59 +0000
commit8fe53b44b26c678f71cb6363c2ede330979e62c9 (patch)
treeac129a8101492a6fa1a555cb0d03f65f8c18ffc0 /gas/config
parent21bc75678ff404bacf11a79e94574d5c25945644 (diff)
downloadgdb-8fe53b44b26c678f71cb6363c2ede330979e62c9.zip
gdb-8fe53b44b26c678f71cb6363c2ede330979e62c9.tar.gz
gdb-8fe53b44b26c678f71cb6363c2ede330979e62c9.tar.bz2
gas/
2005-04-15 Jan Beulich <jbeulich@novell.com> * config/obj-elf.c (obj_elf_struct): New. (elf_pseudo_table). Use it for .offset and .struct. gas/testsuite/ 2005-04-15 Jan Beulich <jbeulich@novell.com> * gas/elf/struct.[sd]: New. * gas/elf/elf.exp: Run new test.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/obj-elf.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 37bb27f..d8a93a5 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -65,6 +65,7 @@ static void obj_elf_subsection (int);
static void obj_elf_popsection (int);
static void obj_elf_tls_common (int);
static void obj_elf_lcomm (int);
+static void obj_elf_struct (int);
static const pseudo_typeS elf_pseudo_table[] =
{
@@ -113,6 +114,8 @@ static const pseudo_typeS elf_pseudo_table[] =
/* We need to trap the section changing calls to handle .previous. */
{"data", obj_elf_data, 0},
+ {"offset", obj_elf_struct, 0},
+ {"struct", obj_elf_struct, 0},
{"text", obj_elf_text, 0},
{"tls_common", obj_elf_tls_common, 0},
@@ -1036,6 +1039,24 @@ obj_elf_text (int i)
#endif
}
+/* Change to the *ABS* section. */
+
+void
+obj_elf_struct (int i)
+{
+#ifdef md_flush_pending_output
+ md_flush_pending_output ();
+#endif
+
+ previous_section = now_seg;
+ previous_subsection = now_subseg;
+ s_struct (i);
+
+#ifdef md_elf_section_change_hook
+ md_elf_section_change_hook ();
+#endif
+}
+
static void
obj_elf_subsection (int ignore ATTRIBUTE_UNUSED)
{