[PATCH] add CodeComposer Studio assembly syntax compatibility support
Daniel Gutson
daniel.gutson@tallertechnologies.com
Thu Feb 27 15:20:00 GMT 2014
The attached patch adds support for the TI's CodeComposer Studio assembly
syntax to the assembler. This mode is enabled by specifying the new -mccs flag
I added.
I needed to change the comment_chars, line_comment_chars and
line_separator_chars arrays at runtime (depending on the command line options),
so I removed the 'const' specifier from their declaration. I propagated this
change to all the architectures, but only tested ARM (please help with the
rest). I think that the ability to change the content of such arrays at runtime
could be helpful in other future cases as well.
All tests passed including the new one I added to test this new mode.
I could not test the other architectures since I'm not sure the best configure
options to build them. Is there a way to make them all for testing purposes?
Thanks.
2014-02-27 Daniel Gutson <daniel.gutson@tallertechnologies.com>
gas/
* read.h (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* 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): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
(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.
* config/tc-aarch64.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-alpha.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-arc.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-avr.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-bfin.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-cr16.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-cris.c (line_comment_chars): Removed const modifier.
(line_separator_chars): alike.
* config/tc-crx.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-d10v.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-d30v.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-dlx.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-epiphany.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-fr30.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-frv.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-h8300.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-hppa.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-i370.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-i386.c (line_comment_chars): Removed const modifier.
(line_separator_chars): alike.
* config/tc-i860.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-i960.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-ia64.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-ip2k.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-iq2000.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-lm32.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-m32c.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-m32r.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-m68hc11.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-m68k.c (line_comment_chars): Removed const modifier.
(line_separator_chars): alike.
* config/tc-mcore.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-mep.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-metag.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-microblaze.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-mips.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-mmix.c (line_comment_chars): Removed const modifier.
(line_separator_chars): alike.
* config/tc-mn10200.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-mn10300.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-moxie.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-msp430.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-mt.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-nds32.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-nios2.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-ns32k.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-openrisc.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-or32.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-pdp11.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-pj.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-ppc.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-rl78.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-rx.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-s390.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-score.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-sh.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-sparc.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-spu.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-tic30.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-tic4x.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-tic54x.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-tic6x.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-tilegx.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-tilepro.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-v850.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-vax.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-xc16x.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-xgate.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-xstormy16.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-xtensa.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-z80.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
* config/tc-z8k.c (comment_chars): Removed const modifier.
(line_comment_chars): alike.
(line_separator_chars): alike.
gas/doc/
* as.texinfo: added documentation for the -mccs command line option.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ccs.patch
Type: text/x-patch
Size: 56114 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20140227/993ac454/attachment.bin>
More information about the Binutils
mailing list