diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2011-07-15 09:36:40 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2011-07-15 09:36:40 +0000 |
commit | bcead286bfebf2312981135b9c7d72eadc6d396c (patch) | |
tree | c4bd2120a6d9ab956422bfe82ffb27dcc91bc73b /gcc/config/c6x/t-c6x-elf | |
parent | 9e36aa2367507a6700c4edbd693b530cb11c64fa (diff) | |
download | gcc-bcead286bfebf2312981135b9c7d72eadc6d396c.zip gcc-bcead286bfebf2312981135b9c7d72eadc6d396c.tar.gz gcc-bcead286bfebf2312981135b9c7d72eadc6d396c.tar.bz2 |
invoke.texi (C6X Options): New section.
gcc/
* doc/invoke.texi (C6X Options): New section.
* doc/md.texi (TI C6X family): New section.
* config.gcc: Handle tic6x, in particular tic6x-*-elf and
tic6x-*-uclinux.
* longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
Provide C6X definitions.
* config/c6x/c6x.md: New file.
* config/c6x/constraints.md: New file.
* config/c6x/predicates.md: New file.
* config/c6x/c6x-sched.md.in: New file.
* config/c6x/c6x-sched.md: New file.
* config/c6x/gensched.sh: New file.
* config/c6x/c6x-mult.md.in: New file.
* config/c6x/genmult.sh: New file.
* config/c6x/c6x-mult.md: New file.
* config/c6x/sync.md: New file.
* config/c6x/c6x-protos.h: New file.
* config/c6x/sfp-machine.h: New file.
* config/c6x/c6x.c: New file.
* config/c6x/c6x.h: New file.
* config/c6x/crti.s: New file.
* config/c6x/crtn.s: New file.
* config/c6x/lib1funcs.asm: New file.
* config/c6x/c6x-modes.def: New file.
* config/c6x/genopt.sh: New file.
* config/c6x/c6x.opt: New file.
* config/c6x/c6x-tables.opt: New file.
* config/c6x/c6x-opts.h: New file.
* config/c6x/c6x-isas.def: New file.
* config/c6x/elf.h: New file.
* config/c6x/elf-common.h: New file.
* config/c6x/uclinux-elf.h: New file.
* config/c6x/t-c6x: New file.
* config/c6x/t-c6x-elf: New file.
* config/c6x/t-c6x-uclinux: New file.
* config/c6x/t-c6x-softfp: New file.
* config/c6x/gtd.c: New file.
* config/c6x/gtf.c: New file.
* config/c6x/ltd.c: New file.
* config/c6x/ltf.c: New file.
* config/c6x/ged.c: New file.
* config/c6x/gef.c: New file.
* config/c6x/led.c: New file.
* config/c6x/lef.c: New file.
* config/c6x/eqd.c: New file.
* config/c6x/eqf.c: New file.
* config/c6x/libgcc-c6xeabi.ver: New file.
contrib/
* gcc_update: Add C6X generated files.
* contrib/config-list.mk: Add c6x-elf and c6x-uclinux.
libgcc/
* config.host: Handle tic6x-*-*.
* config/c6x/c6x-abi.h: New file.
From-SVN: r176308
Diffstat (limited to 'gcc/config/c6x/t-c6x-elf')
-rw-r--r-- | gcc/config/c6x/t-c6x-elf | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/gcc/config/c6x/t-c6x-elf b/gcc/config/c6x/t-c6x-elf new file mode 100644 index 0000000..ed28642 --- /dev/null +++ b/gcc/config/c6x/t-c6x-elf @@ -0,0 +1,66 @@ +# Target Makefile Fragment for TI C6X using ELF. +# Copyright (C) 2010, 2011 Free Software Foundation, Inc. +# Contributed by CodeSourcery. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 3, or (at your +# option) any later version. +# +# GCC is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +LIB1ASMSRC = c6x/lib1funcs.asm +LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _udivmodsi4 _divmodsi4 +LIB1ASMFUNCS += _strasgi _strasgi_64plus _clzsi2 _clzdi2 _clz +LIB1ASMFUNCS += _push_rts _pop_rts _call_stub + +LIB2FUNCS_EXCLUDE = _cmpdi2 _ucmpdi2 _gcc_bcmp _eprintf _clzsi _clzdi + +LIB2FUNCS_EXTRA = $(srcdir)/config/c6x/gef.c \ + $(srcdir)/config/c6x/gtf.c \ + $(srcdir)/config/c6x/lef.c \ + $(srcdir)/config/c6x/ltf.c \ + $(srcdir)/config/c6x/eqf.c \ + $(srcdir)/config/c6x/ged.c \ + $(srcdir)/config/c6x/gtd.c \ + $(srcdir)/config/c6x/led.c \ + $(srcdir)/config/c6x/ltd.c \ + $(srcdir)/config/c6x/eqd.c + +# Use this variant for fully testing all CPU types +#MULTILIB_OPTIONS = mbig-endian march=c674x/march=c64x/march=c67x/march=c67x+/march=c62x +#MULTILIB_DIRNAMES = be c674x c64x c67x c67x+ c62x + +MULTILIB_OPTIONS = mbig-endian march=c674x +MULTILIB_DIRNAMES = be c674x +MULTILIB_EXCEPTIONS = +MULTILIB_MATCHES = + +# Assemble startup files. +$(T)crti.o: $(srcdir)/config/c6x/crti.s $(GCC_PASSES) + $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ + -c -o $(T)crti.o $(CRTSTUFF_T_CFLAGS) -x assembler-with-cpp \ + $(srcdir)/config/c6x/crti.s + +$(T)crtn.o: $(srcdir)/config/c6x/crtn.s $(GCC_PASSES) + $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ + -c -o $(T)crtn.o $(CRTSTUFF_T_CFLAGS) -x assembler-with-cpp \ + $(srcdir)/config/c6x/crtn.s + +EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crti.o crtn.o + +# Avoid failures when the user's GOT becomes too large. +CRTSTUFF_T_CFLAGS = -msdata=none +CRTSTUFF_T_CFLAGS_S = -msdata=none +TARGET_LIBGCC2_CFLAGS = -msdata=none + +SHLIB_MAPFILES += $(srcdir)/config/c6x/libgcc-c6xeabi.ver |