diff options
author | Daniel Gutson <daniel.gutson@tallertechnologies.com> | 2014-03-19 14:31:25 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-03-19 14:31:25 +0000 |
commit | 2e6976a881711242cc151971b83e36844edbc310 (patch) | |
tree | 7fa14ffd87bbb539a72b2fd72f8454886960decb /gas/config/tc-arm.h | |
parent | e57190430e09d0df5c2277a527eb2bed4328fd6c (diff) | |
download | binutils-gdb-2e6976a881711242cc151971b83e36844edbc310.tar.gz |
Add support for ARM assembler produced by CodeCompositor Studio.
* config/tc-arm.c (codecomposer_syntax): New flag that states whether the
CCS syntax compatibility mode is on or off.
(asmfunc_states): New enum to represent the asmfunc directive state.
(asmfunc_state): New variable holding the asmfunc directive state.
(comment_chars): Rename to arm_comment_chars.
(line_separator_chars): Rename to arm_line_separator_chars.
(s_ccs_ref): New function that handles the .ref directive.
(asmfunc_debug): New function.
(s_ccs_asmfunc): New function that handles the .asmfunc directive.
(s_ccs_endasmfunc): New function that handles the .endasmfunc directive.
(s_ccs_def): New function that handles the .def directive.
(tc_start_label_without_colon): New function.
(md_pseudo_table): Added new CCS directives.
(arm_ccs_mode): New function that handles the -mccs command line option.
(arm_long_opts): Added new -mccs command line option.
* config/tc-arm.h (LABELS_WITHOUT_COLONS): New macro.
(TC_START_LABEL_WITHOUT_COLON): New macro.
(tc_start_label_without_colon): Added extern function declaration.
(tc_comment_chars): Define.
(tc_line_separator_chars): Define.
* app.c (do_scrub_begin): Use tc_line_separator_chars, if defined.
* read.c (read_begin): Likewise.
* doc/as.texinfo: Add documentation for the -mccs command line
option.
* doc/c-arm.texi: Likewise.
* doc/internals.texi: Document tc_line_separator_chars.
* NEWS: Mention the new feature.
* gas/arm/ccs.s: New test case.
* gas/arm/ccs.d: New expected disassembly.
Diffstat (limited to 'gas/config/tc-arm.h')
-rw-r--r-- | gas/config/tc-arm.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h index ea078015a08..f88fa297611 100644 --- a/gas/config/tc-arm.h +++ b/gas/config/tc-arm.h @@ -81,6 +81,10 @@ struct fix; /* We support double slash line-comments for compatibility with the ARM AArch64 Assembler. */ #define DOUBLESLASH_LINE_COMMENTS +/* We conditionally support labels without a colon. */ +#define LABELS_WITHOUT_COLONS codecomposer_syntax +extern bfd_boolean codecomposer_syntax; + #define tc_symbol_chars arm_symbol_chars extern const char arm_symbol_chars[]; @@ -100,6 +104,9 @@ extern int arm_optimize_expr (expressionS *, operatorT, expressionS *); #define md_start_line_hook() arm_start_line_hook () +#define TC_START_LABEL_WITHOUT_COLON(c, l) tc_start_label_without_colon (c, l) +extern bfd_boolean tc_start_label_without_colon (char, const char *); + #define tc_frob_label(S) arm_frob_label (S) /* We also need to mark assembler created symbols: */ @@ -363,3 +370,9 @@ void tc_pe_dwarf2_emit_offset (symbolS *, unsigned int); extern int arm_convert_symbolic_attribute (const char *); extern int arm_apply_sym_value (struct fix *); #endif + +#define tc_comment_chars arm_comment_chars +extern char arm_comment_chars[]; + +#define tc_line_separator_chars arm_line_separator_chars +extern char arm_line_separator_chars[]; |