Add support for ARM assembler produced by CodeCompositor Studio.
authorDaniel Gutson <daniel.gutson@tallertechnologies.com>
Wed, 19 Mar 2014 14:31:25 +0000 (14:31 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 19 Mar 2014 14:31:25 +0000 (14:31 +0000)
commit2e6976a881711242cc151971b83e36844edbc310
tree7fa14ffd87bbb539a72b2fd72f8454886960decb
parente57190430e09d0df5c2277a527eb2bed4328fd6c
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.
12 files changed:
gas/ChangeLog
gas/NEWS
gas/app.c
gas/config/tc-arm.c
gas/config/tc-arm.h
gas/doc/as.texinfo
gas/doc/c-arm.texi
gas/doc/internals.texi
gas/read.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/ccs.d [new file with mode: 0644]
gas/testsuite/gas/arm/ccs.s [new file with mode: 0644]