aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-aarch64.h
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2018-10-03 18:50:15 +0100
committerTamar Christina <tamar.christina@arm.com>2018-10-03 18:50:40 +0100
commit4f5d2536289c0aedc3234f1bff6e9f4284f267c5 (patch)
tree1815012384509dd44b2d4f095f1fd6ee5c836fd8 /gas/config/tc-aarch64.h
parenta68f4cd235a36776d3d9fea7291163b8d8e35869 (diff)
downloadgdb-4f5d2536289c0aedc3234f1bff6e9f4284f267c5.zip
gdb-4f5d2536289c0aedc3234f1bff6e9f4284f267c5.tar.gz
gdb-4f5d2536289c0aedc3234f1bff6e9f4284f267c5.tar.bz2
AArch64: Close sequences at the end of sections
Any open sequence at the end of a section or assembly is considered an error. This patch adds a check at the end to ensure that all sequences have been closed and if not reports a warning. During disassembly it's not possible to detect this condition in the back-end so the warning is only emitted from the assembler for now. gas/ * config/tc-aarch64.c (force_automatic_sequence_close, aarch64_frob_section): New. * config/tc-aarch64.h (tc_frob_section, aarch64_frob_section): New.
Diffstat (limited to 'gas/config/tc-aarch64.h')
-rw-r--r--gas/config/tc-aarch64.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-aarch64.h b/gas/config/tc-aarch64.h
index cdf9883..88df2aa 100644
--- a/gas/config/tc-aarch64.h
+++ b/gas/config/tc-aarch64.h
@@ -78,6 +78,8 @@ struct aarch64_fix
/* We also need to mark assembler created symbols: */
#define tc_frob_fake_label(S) aarch64_frob_label (S)
+#define tc_frob_section(S) aarch64_frob_section (S)
+
#define TC_FIX_TYPE struct aarch64_fix
#define TC_INIT_FIX_DATA(FIX) { (FIX)->tc_fix_data.inst = NULL; \
(FIX)->tc_fix_data.opnd = AARCH64_OPND_NIL; }
@@ -218,6 +220,7 @@ extern int aarch64_force_relocation (struct fix *);
extern void aarch64_cleanup (void);
extern void aarch64_start_line_hook (void);
extern void aarch64_frob_label (symbolS *);
+extern void aarch64_frob_section (asection *sec);
extern int aarch64_data_in_code (void);
extern char * aarch64_canonicalize_symbol_name (char *);
extern void aarch64_adjust_symtab (void);