1. 22 Mar, 2011 1 commit
    • jsm28's avatar
      * config/arm/arm.opt (mhard-float, msoft-float): Use Alias. · 7e21f84a
      jsm28 authored
      	* config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
      	or -msoft-float here.
      	* config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
      	-msoft-float and -mhard-float.
      	(OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
      	-msoft-float.
      	* config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
      	msoft-float.
      	* config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
      	-msoft-float.
      	(MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
      	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
      	not mhard-float.
      	(LIBGCC_SPEC): Don't handle -msoft-float.
      	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
      	-mhard-float.
      	* config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
      	msoft-float.
      	* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
      	-mfloat-abi=*, not -msoft-float and -mhard-float.
      	* config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
      	-msoft-float.
      	* config/a...
      7e21f84a
  2. 21 Jun, 2009 1 commit
    • rearnsha's avatar
      * arm.c (thumb1_output_casesi): New function. · e6ac8414
      rearnsha authored
      	* arm.h (CASE_VECTOR_PC_RELATIVE): Thumb-1 code is also relative if
      	optimizing for size or PIC.
      	(CASE_VECTOR_SHORTEN_MODE): Handle thumb-1.
      	* arm.md (UNSPEC_THUMB1_CASESI): New constant.
      	(casesi): Handle Thumb-1 when optimizing for size or PIC.
      	(thumb1_casesi_internal_pic): New expand rule.
      	(thumb1_casesi_dispatch): New pattern.
      	* aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use shortened vectors for
      	thumb-1 mode.
      	* coff.h (JUMP_TABLES_IN_TEXT_SECTION): Thumb-1 jump tables are now
      	in the text seciton when PIC or optimizing for size.
      	* elf.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
      	* lib1funcs.asm ([__ARM_EABI__]): Add an attribute describing stack
      	preservation properties of code.
      	(__gnu_thumb1_case_sqi, __gnu_thumb1_case_uqi): New functions.
      	(__gnu_thumb1_case_shi, __gnu_thumb1_case_uhi): New functions.
      	(__gnu_thumb1_case_si): New function.
      	* t-arm (LIB1ASMSRC): Define here.
      	(LIB1ASMFUNCS): Add some common functions.
      	* t-arm-elf (LIB1ASMSRC): Delete.
      	(LIB1ASMFUNCS): Append to existing set.
      	* t-pe (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
      	* t-strongarm-elf (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
      	* t-symbian (LIB1ASMFUNCS): Likewise.
      	* t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
      	* t-wince-pe (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148770 138bc75d-0d04-0410-961f-82ee72b054a4
      e6ac8414
  3. 14 Jul, 2008 1 commit
    • dougkwan's avatar
      2008-07-14 Doug Kwan <dougkwan@google.com> · 657e4193
      dougkwan authored
      	* config.gcc (arm*-*-eabi*): Include arm/eabi.h and use
      	additional option file arm/eabi.opt.
      	* config/arm/eabi.h (File): New configuration file for EABI targets.
      	* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
      	SUBSUBTARGET_EXTRA_SPECS.
      	(SUBSUBTARGET_EXTRA_SPECS): Provide empty default.
      	* config/arm/unknown-elf.h (UNKNOWN_ELF_STARTFILE_SPEC): Renamed
      	from STARTFILE_SPEC so that it can be referenced in an override.
      	(STARTFILE_SPEC): Use UNKNOWN_ELF_STARTFILE_SPEC.
      	(UNKNOWN_ELF_ENDFILE_SPEC): Renamed from ENDFILE_SPEC so that it
      	can be referenced in an override.
      	(ENDFILE_SPEC): Use UNKNOWN_ELF_ENDFILE_SPEC.
      	* config/arm/bpabi.h (BPABI_LINK_SPEC): Renamed from LINK_SPEC
      	so that it can be referenced in an override.
      	(LINK_SPEC): Use BPABI_LINK_SPEC.
      	* config/arm/eabi.opt (File): New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137798 138bc75d-0d04-0410-961f-82ee72b054a4
      657e4193
  4. 03 Mar, 2008 1 commit
    • pbrook's avatar
      2008-03-03 Paul Brook <paul@codesourcery.com> · b77c60b7
      pbrook authored
      	gcc/
      	* config.gcc: Add arm/t-arm-softfp and soft-fp/t-softfp to arm
      	configs.  Add new --with-arch options.
      	* config/arm/t-arm-softfp: New file.
      	* config/arm/elf.h: Disable soft-fp routines on everything except
      	ARMv6-M.
      	* config/arm/ieee754-df.S: Rename L_* to L_arm_*.
      	* config/arm/ieee754-sf.S: Ditto.
      	* config/arm/t-arm-elf: Ditto.
      	* config/arm/arm.c (FL_FOR_ARCH6M): Define.
      	(all_architectures): Add armv6-m.
      	(arm_output_mi_thunk): Add TARGET_THUMB1_ONLY thunks.
      	* config/arm/lib1funcs.asm: Add __ARM_ARCH_6M__ conditionals.
      	Include bpabi-v6m.S.
      	* config/arm/arm.h (TARGET_THUMB1_ONLY): Define.
      	(ARM_DECLARE_FUNCTION_NAME): Handle Thumb-1 only thunks.
      	* config/arm/sfp-machine.h: New file.
      	* config/arm/bpabi-v6m.S: New file.
      	* config/arm/arm-cores.def: Add cortex-m1.
      	* config/arm/arm-tune.md: Regenerate.
      	* config/arm/libunwind.S: Add ARMv6-M implementation.
      	* config/arm/bpabi.h: Add renames for soft-float routines.
      	* doc/invoke.texi: Document -mcpu=cortex-m1 and -march=armv6-m.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132837 138bc75d-0d04-0410-961f-82ee72b054a4
      b77c60b7
  5. 02 Aug, 2007 1 commit
    • nickc's avatar
      * config/host-hpux.c: Change copyright header to refer to version 3 of the GNU · 038d1e19
      nickc authored
        General Public License and to point readers at the COPYING3 file and the FSF's
        license web page.
      * config/alpha/predicates.md, config/alpha/vms-ld.c,
      config/alpha/linux.h, config/alpha/alpha.opt,
      config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h,
      config/alpha/vms-unwind.h, config/alpha/ev4.md,
      config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c,
      config/alpha/alpha.h, config/alpha/sync.md,
      config/alpha/openbsd.h, config/alpha/alpha.md,
      config/alpha/alpha-modes.def, config/alpha/ev5.md,
      config/alpha/alpha-protos.h, config/alpha/freebsd.h,
      config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h,
      config/alpha/constraints.md, config/alpha/osf.h,
      config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h,
      config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h,
      config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def,
      config/frv/frv-asm.h, config/frv/frv-protos.h,
      config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h,
      config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h,
      config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt,
      config/s390/2064.md, config/s390/2084.md, config/s390/s390.md,
      config/s390/s390.opt, config/s390/s390-modes.def,
      config/s390/fixdfdi.h, config/s390/constraints.md,
      config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h,
      config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md,
      config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md,
      config/m32c/m32c-pragma.c, config/m32c/m32c.h,
      config/m32c/prologue.md, config/m32c/m32c.abi,
      config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md,
      config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt,
      config/m32c/t-m32c, config/m32c/m32c-modes.def,
      config/m32c/jump.md, config/m32c/shift.md,
      config/m32c/m32c-protos.h, config/libgloss.h,
      config/spu/spu-protos.h, config/spu/predicates.md,
      config/spu/spu-builtins.h, config/spu/spu.c,
      config/spu/spu-builtins.def, config/spu/spu-builtins.md,
      config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md,
      config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt,
      config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h,
      config/sparc/hypersparc.md, config/sparc/predicates.md,
      config/sparc/linux.h, config/sparc/sp64-elf.h,
      config/sparc/supersparc.md, config/sparc/cypress.md,
      config/sparc/openbsd1-64.h, config/sparc/openbsd64.h,
      config/sparc/niagara.md, config/sparc/sparc.md,
      config/sparc/long-double-switch.opt, config/sparc/ultra3.md,
      config/sparc/sparc.opt, config/sparc/sync.md,
      config/sparc/sp-elf.h, config/sparc/sparc-protos.h,
      config/sparc/ultra1_2.md, config/sparc/biarch64.h,
      config/sparc/sparc.c, config/sparc/little-endian.opt,
      config/sparc/sysv4-only.h, config/sparc/sparc.h,
      config/sparc/linux64.h, config/sparc/freebsd.h,
      config/sparc/sol2.h, config/sparc/rtemself.h,
      config/sparc/netbsd-elf.h, config/sparc/vxworks.h,
      config/sparc/sparc-modes.def, config/sparc/sparclet.md,
      config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h,
      config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md,
      config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt,
      config/m32r/linux.h, config/m32r/constraints.md,
      config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt,
      config/darwin-c.c, config/darwin.opt, config/i386/i386.h,
      config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h,
      config/i386/i386.md, config/i386/netware-crt0.c,
      config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h,
      config/i386/kaos-i386.h, config/i386/winnt-stubs.c,
      config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h,
      config/i386/sol2.h, config/i386/constraints.md,
      config/i386/netware-libgcc.c, config/i386/sysv5.h,
      config/i386/predicates.md, config/i386/geode.md,
      config/i386/x86-64.h, config/i386/kfreebsd-gnu.h,
      config/i386/freebsd64.h, config/i386/vxworksae.h,
      config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h,
      config/i386/rtemself.h, config/i386/netbsd-elf.h,
      config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c,
      config/i386/netware.h, config/i386/i386-modes.def,
      config/i386/sysv4-cpp.h, config/i386/i386-interix.h,
      config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h,
      config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h,
      config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h,
      config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md,
      config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt,
      config/i386/xm-mingw32.h, config/i386/linux64.h,
      config/i386/openbsdelf.h, config/i386/xm-cygwin.h,
      config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h,
      config/i386/winnt-cxx.c, config/i386/i386-interix3.h,
      config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c,
      config/i386/cygwin2.c, config/i386/i386-protos.h,
      config/i386/sync.md, config/i386/openbsd.h,
      config/i386/host-mingw32.c, config/i386/i386-aout.h,
      config/i386/nto.h, config/i386/biarch64.h,
      config/i386/i386-coff.h, config/i386/freebsd.h,
      config/i386/driver-i386.c, config/i386/knetbsd-gnu.h,
      config/i386/host-i386-darwin.c, config/i386/vxworks.h,
      config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h,
      config/darwin-protos.h, config/linux.opt, config/sol2.c,
      config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h,
      config/sh/linux.h, config/sh/elf.h, config/sh/superh.h,
      config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h,
      config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h,
      config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md,
      config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h,
      config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c,
      config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def,
      config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md,
      config/sh/superh64.h, config/sh/rtemself.h,
      config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h,
      config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h,
      config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c,
      config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def,
      config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h,
      config/avr/predicates.md, config/avr/constraints.md,
      config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt,
      config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h,
      config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h,
      config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt,
      config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt,
      config/c4x/c4x-modes.def, config/c4x/rtems.h,
      config/c4x/predicates.md, config/c4x/c4x.h,
      config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h,
      config/xtensa/predicates.md, config/xtensa/xtensa.c,
      config/xtensa/linux.h, config/xtensa/xtensa.h,
      config/xtensa/elf.h, config/xtensa/xtensa.md,
      config/xtensa/xtensa.opt, config/xtensa/constraints.md,
      config/xtensa/xtensa-protos.h, config/dbx.h,
      config/stormy16/predicates.md, config/stormy16/stormy16.md,
      config/stormy16/stormy16.c, config/stormy16/stormy16.opt,
      config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h,
      config/host-solaris.c, config/fr30/fr30.h,
      config/fr30/predicates.md, config/fr30/fr30-protos.h,
      config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt,
      config/vxworksae.h, config/sol2-c.c, config/lynx.h,
      config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md,
      config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c,
      config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h,
      config/m68hc11/m68hc12.h, config/openbsd-oldgas.h,
      config/host-linux.c, config/interix3.h, config/cris/cris.c,
      config/cris/predicates.md, config/cris/linux.h,
      config/cris/cris.h, config/cris/aout.h, config/cris/cris.md,
      config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt,
      config/cris/aout.opt, config/cris/cris-protos.h,
      config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h,
      config/iq2000/iq2000.h, config/iq2000/predicates.md,
      config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md,
      config/iq2000/iq2000.c, config/iq2000/iq2000.opt,
      config/host-darwin.c, config/mt/mt.md, config/mt/mt.c,
      config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h,
      config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h,
      config/chorus.h, config/mn10300/mn10300.c,
      config/mn10300/mn10300.opt, config/mn10300/predicates.md,
      config/mn10300/mn10300.h, config/mn10300/linux.h,
      config/mn10300/constraints.md, config/mn10300/mn10300-protos.h,
      config/mn10300/mn10300.md, config/ia64/predicates.md,
      config/ia64/itanium1.md, config/ia64/unwind-ia64.h,
      config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c,
      config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md,
      config/ia64/freebsd.h, config/ia64/ia64.md,
      config/ia64/ia64-modes.def, config/ia64/constraints.md,
      config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h,
      config/gofast.h, config/rtems.h, config/sol2-10.h,
      config/m68k/predicates.md, config/m68k/m68k.md,
      config/m68k/linux.h, config/m68k/m68k-modes.def,
      config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h,
      config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt,
      config/m68k/openbsd.h, config/m68k/m68k-aout.h,
      config/m68k/m68k.opt, config/m68k/m68020-elf.h,
      config/m68k/m68kelf.h, config/m68k/m68k-devices.def,
      config/m68k/uclinux-oldabi.h, config/m68k/m68k.c,
      config/m68k/constraints.md, config/m68k/rtemself.h,
      config/m68k/netbsd-elf.h, config/m68k/m68k.h,
      config/m68k/uclinux.h, config/rs6000/power4.md,
      config/rs6000/host-darwin.c, config/rs6000/6xx.md,
      config/rs6000/linux.h, config/rs6000/eabi.h,
      config/rs6000/aix41.opt, config/rs6000/xcoff.h,
      config/rs6000/secureplt.h, config/rs6000/linuxspe.h,
      config/rs6000/eabialtivec.h, config/rs6000/8540.md,
      config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h,
      config/rs6000/windiss.h, config/rs6000/603.md,
      config/rs6000/aix41.h, config/rs6000/cell.md,
      config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h,
      config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt,
      config/rs6000/darwin.md, config/rs6000/darwin64.h,
      config/rs6000/default64.h, config/rs6000/7xx.md,
      config/rs6000/darwin.opt, config/rs6000/spe.md,
      config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c,
      config/rs6000/rios2.md, config/rs6000/linuxaltivec.h,
      config/rs6000/7450.md, config/rs6000/linux64.h,
      config/rs6000/constraints.md, config/rs6000/440.md,
      config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c,
      config/rs6000/rs6000.c, config/rs6000/aix52.h,
      config/rs6000/rs6000.h, config/rs6000/power6.md,
      config/rs6000/predicates.md, config/rs6000/altivec.md,
      config/rs6000/aix64.opt, config/rs6000/rios1.md,
      config/rs6000/rs6000-modes.def, config/rs6000/rs64.md,
      config/rs6000/eabisim.h, config/rs6000/sysv4le.h,
      config/rs6000/darwin7.h, config/rs6000/dfp.md,
      config/rs6000/linux64.opt, config/rs6000/sync.md,
      config/rs6000/vxworksae.h, config/rs6000/power5.md,
      config/rs6000/lynx.h, config/rs6000/biarch64.h,
      config/rs6000/rs6000.md, config/rs6000/sysv4.opt,
      config/rs6000/eabispe.h, config/rs6000/e500.h,
      config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h,
      config/rs6000/netbsd.h, config/rs6000/e500-double.h,
      config/rs6000/aix.h, config/rs6000/vxworks.h,
      config/rs6000/40x.md, config/rs6000/aix51.h,
      config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md,
      config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def,
      config/arc/arc.h, config/mcore/mcore-elf.h,
      config/mcore/mcore-protos.h, config/mcore/predicates.md,
      config/mcore/mcore.md, config/mcore/mcore.c,
      config/mcore/mcore.opt, config/mcore/mcore.h,
      config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h,
      config/score/predicates.md, config/score/score-version.h,
      config/score/score-protos.h, config/score/misc.md,
      config/score/elf.h, config/score/score.c, config/score/mac.md,
      config/score/score7.md, config/score/score.h,
      config/score/score-conv.h, config/score/score-mdaux.c,
      config/score/score.md, config/score/score.opt,
      config/score/score-modes.def, config/score/score-mdaux.h,
      config/score/mul-div.S, config/arm/uclinux-elf.h,
      config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md,
      config/arm/symbian.h, config/arm/linux-elf.h,
      config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
      config/arm/elf.h, config/arm/aout.h, config/arm/arm.c,
      config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h,
      config/arm/strongarm-pe.h, config/arm/arm.h,
      config/arm/cortex-a8-neon.md, config/arm/semiaof.h,
      config/arm/cortex-a8.md, config/arm/uclinux-eabi.h,
      config/arm/arm-modes.def, config/arm/linux-eabi.h,
      config/arm/rtems-elf.h, config/arm/neon-schedgen.ml,
      config/arm/arm-cores.def, config/arm/arm-protos.h,
      config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h,
      config/arm/wince-pe.h, config/arm/neon.md,
      config/arm/constraints.md, config/arm/neon.ml,
      config/arm/xscale-elf.h, config/arm/strongarm-coff.h,
      config/arm/arm.opt, config/arm/arm926ejs.md,
      config/arm/predicates.md, config/arm/iwmmxt.md,
      config/arm/arm_neon.h, config/arm/unknown-elf.h,
      config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt,
      config/arm/neon-testgen.ml, config/arm/arm.md,
      config/arm/xscale-coff.h, config/arm/pe.c,
      config/arm/arm-generic.md, config/arm/pe.h,
      config/arm/kaos-strongarm.h, config/arm/freebsd.h,
      config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md,
      config/arm/strongarm-elf.h, config/arm/cirrus.md,
      config/arm/netbsd-elf.h, config/arm/vxworks.h,
      config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c,
      config/pa/predicates.md, config/pa/pa64-hpux.h,
      config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt,
      config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h,
      config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h,
      config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h,
      config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
      config/pa/pa-hpux1010.h, config/pa/pa-protos.h,
      config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h,
      config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h,
      config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt,
      config/pa/pa64-regs.h, config/pa/pa-modes.def,
      config/pa/constraints.md, config/darwin9.h, config/mips/4100.md,
      config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h,
      config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h,
      config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md,
      config/mips/7000.md, config/mips/9000.md, config/mips/4600.md,
      config/mips/linux64.h, config/mips/elforion.h,
      config/mips/constraints.md, config/mips/generic.md,
      config/mips/predicates.md, config/mips/4300.md,
      config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md,
      config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md,
      config/mips/5k.md, config/mips/vr4120-div.S,
      config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md,
      config/mips/mips-protos.h, config/mips/6000.md,
      config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h,
      config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h,
      config/mips/mips-modes.def, config/mips/vr.h,
      config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h,
      config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h,
      config/vax/vax.h, config/vax/elf.h, config/vax/vax.md,
      config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def,
      config/vax/openbsd1.h, config/vax/netbsd.h,
      config/vax/vax-protos.h, config/vax/netbsd-elf.h,
      config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h,
      config/h8300/rtems.h, config/h8300/predicates.md,
      config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h,
      config/h8300/h8300.md, config/h8300/h8300.opt,
      config/h8300/coff.h, config/h8300/h8300-protos.h,
      config/v850/v850.md, config/v850/predicates.md,
      config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt,
      config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c,
      config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h,
      config/mmix/mmix.h, config/mmix/predicates.md,
      config/mmix/mmix-protos.h, config/mmix/mmix.md,
      config/mmix/mmix.c, config/mmix/mmix.opt,
      config/mmix/mmix-modes.def, config/bfin/bfin.opt,
      config/bfin/rtems.h, config/bfin/bfin-modes.def,
      config/bfin/predicates.md, config/bfin/bfin-protos.h,
      config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127157 138bc75d-0d04-0410-961f-82ee72b054a4
      038d1e19
  6. 25 May, 2007 1 commit
    • rsandifo's avatar
      gcc/ · de55252a
      rsandifo authored
      	* config/arm/arm-protos.h (arm_encode_call_attribute): Delete.
      	(arm_is_longcall_p): Rename to...
      	(arm_is_long_call_p): ...this.  Take a single tree argument and
      	return a bool.
      	* config/arm/arm.h (CALL_SHORT, CALL_LONG, CALL_NORMAL): Delete.
      	(CUMULATIVE_ARGS): Remove call_cookie.
      	(SHORT_CALL_FLAG_CHAR, LONG_CALL_FLAG_CHAR, ENCODED_SHORT_CALL_ATTR_P)
      	(ENCODED_LONG_CALL_ATTR_P): Delete.
      	(ARM_NAME_ENCODING_LENGTHS): Remove SHORT_CALL_FLAG_CHAR and
      	LONG_CALL_FLAG_CHAR cases.
      	(ARM_DECLARE_FUNCTION_SIZE): Delete.
      	* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Don't use
      	ARM_DECLARE_FUNCTION_SIZE.
      	* config/arm/arm.c (arm_init_cumulative_args): Don't set call_cookie.
      	(arm_function_arg): Return const0_rtx for VOIDmode arguments.
      	(arm_encode_call_attribute, current_file_function_operand): Delete.
      	(arm_function_in_section_p): New function.
      	(arm_is_longcall_p): Rename to...
      	(arm_is_long_call_p): ...this.  Take the target function as a single
      	argument and return a bool.  Do not rely on call cookies.  Check
      	whether the target symbol is in the same section as the current
      	function, not just the same compilation unit.
      	(arm_function_ok_for_sibcall): Use arm_is_long_call_p.
      	(arm_encode_section_info): Don't encode a call type.
      	* config/arm/arm.md (call, call_value): Update calls to
      	arm_is_long(_)call_p.  Simplify logic.
      	(*call_symbol, *call_value_symbol, *call_insn, *call_value_insn):
      	Update calls to arm_is_long(_)call_p.
      
      gcc/testsuite/
      	* gcc.target/arm/long-calls-1.c: New test.
      	* gcc.target/arm/long-calls-2.c: Likewise.
      	* gcc.target/arm/long-calls-3.c: Likewise.
      	* gcc.target/arm/long-calls-4.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125060 138bc75d-0d04-0410-961f-82ee72b054a4
      de55252a
  7. 21 Mar, 2007 1 commit
  8. 03 Jan, 2007 1 commit
    • pbrook's avatar
      2007-01-03 Paul Brook <paul@codesourcery.com> · 25f905c2
      pbrook authored
      	Merge from sourcerygxx-4_1.
      	gcc/
      	* config/arm/thumb2.md: New file.
      	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for
      	Thumb-2.
      	* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto.
      	* config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
      	(ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables.
      	* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump
      	tables.
      	(ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
      	* config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm
      	comptibility.
      	* config/arm/ieee754-sf.S: Ditto.
      	* config/arm/arm.c (thumb_base_register_rtx_p): Rename...
      	(thumb1_base_register_rtx_p): ... to this.
      	(thumb_index_register_rtx_p): Rename...
      	(thumb1_index_register_rtx_p): ... to this.
      	(thumb_output_function_prologue): Rename...
      	(thumb1_output_function_prologue): ... to this.
      	(thumb_legitimate_address_p): Rename...
      	(thumb1_legitimate_address_p): ... to this.
      	(thumb_rtx_costs): Rename...
      	(thumb1_rtx_costs): ... to this.
      	(thumb_compute_save_reg_mask): Rename...
      	(thumb1_compute_save_reg_mask): ... to this.
      	(thumb_final_prescan_insn): Rename...
      	(thumb1_final_prescan_insn): ... to this.
      	(thumb_expand_epilogue): Rename...
      	(thumb1_expand_epilogue): ... to this.
      	(arm_unwind_emit_stm): Rename...
      	(arm_unwind_emit_sequence): ... to this.
      	(thumb2_legitimate_index_p, thumb2_legitimate_address_p,
      	thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec,
      	thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem,
      	arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition,
      	thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift,
      	thumb2_output_casesi): New functions.
      	(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define.
      	(FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7,
      	FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME,
      	THUMB2_WORK_REGS): Define.
      	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count,
      	arm_condexec_mask, arm_condexec_masklen)): New variables.
      	(all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m.
      	(arm_override_options): Check new CPU capabilities.
      	Set new architecture flag variables.
      	(arm_isr_value): Handle v7m interrupt functions.
      	(user_return_insn): Return 0 for v7m interrupt functions.  Handle
      	Thumb-2.
      	(const_ok_for_arm): Handle Thumb-2 constants.
      	(arm_gen_constant): Ditto.  Use movw when available.
      	(arm_function_ok_for_sibcall): Return false for v7m interrupt
      	functions.
      	(legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2.
      	(thumb_find_work_register, arm_load_pic_register,
      	legitimize_tls_address, arm_address_cost, load_multiple_sequence,
      	emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size,
      	print_multi_reg, output_mov_long_double_fpa_from_arm,
      	output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm,
      	output_mov_double_fpa_from_arm, output_move_double,
      	arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask,
      	output_return_instruction, arm_output_function_prologue,
      	arm_output_epilogue, arm_get_frame_offsets, arm_regno_class,
      	arm_output_mi_thunk, thumb_set_return_address): Ditto.
      	(arm_expand_prologue): Handle Thumb-2.  Use arm_save_coproc_regs.
      	(arm_coproc_mem_operand): Allow POST_INC/PRE_DEC.
      	(arithmetic_instr, shift_op): Use arm_shift_nmem.
      	(arm_print_operand): Use arm_print_condition.  Handle '(', ')', '.',
      	'!' and 'L'.
      	(arm_final_prescan_insn): Use extract_constrain_insn_cached.
      	(thumb_expand_prologue): Use thumb_set_frame_pointer.
      	(arm_file_start): Output directive for unified syntax.
      	(arm_unwind_emit_set): Handle stack alignment instruction.
      	* config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__.
      	Add v6t2, v7, v7a, v7r and v7m.
      	(RETLDM): Add Thumb-2 code.
      	(do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros.
      	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__.
      	(TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY,
      	TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN,
      	THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS,
      	ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS,
      	THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE,
      	CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END,
      	ADJUST_INSN_LENGTH): Define.
      	(TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE,
      	STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS,
      	BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES,
      	PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS,
      	SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
      	TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT,
      	HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP,
      	HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG,
      	REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P,
      	REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
      	LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS,
      	GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST,
      	ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME,
      	FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P,
      	PRINT_OPERAND_ADDRESS): Adjust for Thumb-2.
      	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations.
      	* config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and
      	cortex-m3.
      	* config/arm/arm-tune.md: Regenerate.
      	* config/arm/arm-protos.h: Update prototypes.
      	* config/arm/vfp.md: Enable patterns for Thumb-2.
      	(arm_movsi_vfp): Add movw alternative.  Use output_move_vfp.
      	(arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp.
      	(thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp,
      	thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New.
      	* config/arm/libunwind.S: Add Thumb-2 code.
      	* config/arm/constraints.md: Update include Thumb-2.
      	* config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support.
      	* config/arm/ieee754-df.S: Ditto.
      	* config/arm/bpabi.S: Ditto.
      	* config/arm/t-arm (MD_INCLUDES): Add thumb2.md.
      	* config/arm/predicates.md (low_register_operand,
      	low_reg_or_int_operand, thumb_16bit_operator): New.
      	(thumb_cmp_operand, thumb_cmpneg_operand): Rename...
      	(thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this.
      	* config/arm/t-arm-elf: Add armv7 multilib.
      	* config/arm/arm.md: Update patterns for Thumb-2 and Unified asm.
      	Include thumb2.md.
      	(UNSPEC_STACK_ALIGN, ce_count): New.
      	(arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3,
      	arm_zero_extendsidi2, arm_zero_extendqidi2): New
      	insns/expanders.
      	* config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm.
      	(thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa,
      	thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns.
      	* config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm.
      	(cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn,
      	thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New
      	insns.
      	* doc/extend.texi: Document ARMv7-M interrupt functions.
      	* doc/invoke.texi: Document Thumb-2 new cores+architectures.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120408 138bc75d-0d04-0410-961f-82ee72b054a4
      25f905c2
  9. 11 Dec, 2006 1 commit
    • carlos's avatar
      · c69b8abd
      carlos authored
      2006-12-11  Carlos O'Donell  <carlos@codesourcery.com>
      
      	* config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119739 138bc75d-0d04-0410-961f-82ee72b054a4
      c69b8abd
  10. 02 Nov, 2006 1 commit
  11. 28 Jun, 2005 1 commit
    • pbrook's avatar
      2005-06-28 Paul Brook <paul@codesourcery.com> · 1774763d
      pbrook authored
      gcc/
      	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
      	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
      	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
      	(assign_filter_values): Ditto.
      	(output_ttype): New function.
      	(output_function_exception_table): Use output_ttype.  Generate arm
      	eabi filter lists.
      	(default_init_unwind_resume_libfunc): New function.
      	* except.h (default_init_unwind_resume_libfunc): Add prototype.
      	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
      	* opts.c (decode_options): Use targetm.unwind_tables_default.
      	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
      	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
      	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
      	and arm_eabi_unwinder.
      	* unwind-c.c: Support Arm EABI unwinder.
      	* unwind.h: Rename ...
      	* unwind-generic.h: ... To this.
      	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
      	(TARGET_UNWID_TABLES_DEFAULT): Document.
      
      	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
      	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
      	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
      	Define.
      	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
      	directives.
      	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
      	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
      	!TARGET_UNWIND_INFO.
      	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
      	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
      	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
      	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
      	* config/arm/lib1funcs.asm: Include libunwind.S.
      	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
      	* config/arm/libunwind.S: New file.
      	* config/arm/pr-support.c: New file.
      	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
      	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
      	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
      	* config/arm/unwind-arm.c: New file.
      	* config/arm/unwind-arm.h: New file.
      	* config/i386/t-netware (USER_H): Remove unwind.h.
      	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
      
      gcc/cp/
      	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
      	* except.c: Include target.h.
      	(init_exception_processing): Initialize unwind_resume_libfunc.
      	* doc/tm.texi: Document TARGET_ASM_TTYPE
      gcc/ada/
      	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
      gcc/java/
      	* decl.c (java_init_decl_processing): Call
      	default_init_unwind_resume_libfunc.
      gcc/objc/
      	* objc-act.c (objc_init_exceptions): Call
      	default_init_unwind_resume_libfunc.
      libstdc++/
      	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
      	__cxa_end_cleanup.
      	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
      	* libsupc++/eh_arm.cc: New file.
      	* libsupc++/eh_call.cc: New file.
      	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
      	__gxx_caught_object.
      	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
      	_Unwind_Complete when using the ARM EABI.
      	(__cxa_end_catch): Use __is_gxx_exception_class.
      	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
      	using the ARM EABI.
      	(save_caught_exception, restore_caught_exception): New functions.
      	(_throw_typet): New typedef.
      	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
      	EABI implementations.
      	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
      	unwinding libary.
      	(__cxa_unexpected): Disable when using the ARM EABI.
      	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
      	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
      	_Unwind_RaiseException when using the ARM EABI.
      	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
      	EABI semantics.
      	(struct __cxa_eh_globals): Ditto.
      	(__cxa_call_terminate): Add prototype.
      	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
      	prototypes.
      	(__get_exception_header_from_obj, __get_exception_header_from_ue):
      	Move earlier in file.
      	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
      	__gxx_caught_object): New functions.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* include/Makefile.in: Regenerate.
      	* libmath/Makefile.in: Regenerate.
      	* libsupc++/Makefile.in: Regenerate.
      	* po/Makefile.in: Regenerate.
      	* src/Makefie.in: Regenerate.
      	* testsuite/makefile.in: Regenerate.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101385 138bc75d-0d04-0410-961f-82ee72b054a4
      1774763d
  12. 25 Jun, 2005 1 commit
  13. 09 May, 2005 1 commit
    • kazu's avatar
      * crtstuff.c, integrate.h, tree-scalar-evolution.h, · ade4cc17
      kazu authored
      	config/alpha/unicosmk.h, config/arc/arc.md,
      	config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
      	config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
      	config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
      	config/arm/semi.h, config/arm/uclinux-elf.h,
      	config/arm/wince-pe.h, config/fr30/fr30.c,
      	config/rs6000/altivec.h: Update copyright.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99447 138bc75d-0d04-0410-961f-82ee72b054a4
      ade4cc17
  14. 05 May, 2005 1 commit
    • rsandifo's avatar
      * config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add · 81f6de2f
      rsandifo authored
      	arm/pe.opt to $extra_options.
      	* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
      	(target_float_abi_name, target_float_switch, target_abi_name)
      	(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
      	(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
      	(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
      	(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
      	(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
      	(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
      	(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
      	(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
      	(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
      	(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
      	(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
      	(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
      	(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
      	(TARGET_OPTIONS, arm_cpu_select, arm_select,  structure_size_string)
      	(arm_pic_register_string): Delete.
      	(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
      	TARGET_TPCS_FRAME.
      	(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
      	* config/arm/coff.h (TARGET_DEFAULT): Likewise.
      	* config/arm/elf.h (TARGET_DEFAULT): Likewise.
      	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
      	* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
      	* config/arm/semi.h (TARGET_DEFAULT): Likewise.
      	* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
      	* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
      	* config/arm/pe.h (TARGET_DEFAULT): Likewise.
      	(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
      	(SUBTARGET_SWITCHES): Delete.
      	* config/arm/arm.c (target_float_switch): Delete.
      	(arm_cpu_select): Moved from config/arm/arm.h.
      	(target_fpu_name, target_fpe_name, target_float_abi_name)
      	(target_abi_name, structure_size_string, arm_pic_register_string)
      	(arm_select): Make static.
      	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
      	(arm_handle_option): New function.
      	(arm_override_options): Update target_flags checks for new mask names.
      	Remove target_float_switch code.
      	(arm_expand_prologue, thumb_expand_prologue): Check
      	!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
      	* config/arm/arm.opt, config/arm/pe.opt: New files.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99265 138bc75d-0d04-0410-961f-82ee72b054a4
      81f6de2f
  15. 29 Apr, 2005 1 commit
    • jules's avatar
      * crtstuff.c: Handle targets that use .init_array. · d24bc145
      jules authored
      	* function.c (HAS_INIT_SECTION): Do not define. Instead, make sure
      	that INVOKE__main is set correctly.
      	(expand_main_function): Test INVOKE__main.
      	* libgcc2.c: Do not define __main when using .init_array.
      	* config/arm/arm.c (arm_elf_asm_constructor): New function.
      	* config/arm/arm.h (CTORS_SECTION_ASM_OP): Define, with specialized
      	libgcc version.
      	(DTORS_SECTION_ASM_OP): Likewise.
      	(CTOR_LIST_BEGIN): Define specially when in libgcc.
      	(CTOR_LIST_END): Likewise.
      	(DTOR_LIST_BEGIN): Likewise.
      	(DTOR_LIST_END): Likewise.
      	* config/arm/bpapi.h (INIT_SECTION_ASM_OP): Do not define it.
      	(FINI_SECTION_ASM_OP): Likewise.
      	(INIT_ARRAY_SECTION_ASM_OP): Define.
      	(FINI_ARRAY_SECTION_ASM_OP): Likewise.
      	* config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
      	(SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
      	* doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
      	(FINI_ARRAY_SECTION_ASM_OP): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98986 138bc75d-0d04-0410-961f-82ee72b054a4
      d24bc145
  16. 18 Nov, 2004 1 commit
    • pbrook's avatar
      * config/arm/arm.c (target_float_switch): New variable.. · 87f8017f
      pbrook authored
      	(arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
      	target_float_switch.
      	* config/arm/arm.h (target_float_switch): Declare.
      	(ARM_FLAG_SOFT_FLOAT): Remove.
      	(TARGET_SWITCHES): Remove hard-float and soft-float.
      	(TARGET_OPTIONS): Add hard-float and soft-float.
      	(TARGET_DEFAULT_FLOAT_ABI): Define.
      	* config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
      	(TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
      	* config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
      	* config/arm/netbsd-elf.h: Ditto.
      	* config/arm/netbsd.h: Ditto.
      	* config/arm/pe.h: Ditto.
      	* config/arm/unknown-elf.h: Ditto.
      	* config/arm/wince-pe.h: Ditto.
      	* config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
      	* config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
      	* config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90872 138bc75d-0d04-0410-961f-82ee72b054a4
      87f8017f
  17. 15 Sep, 2004 1 commit
    • mmitchel's avatar
      * configure.ac: Check for COMDAT support. Robustify check for · 537cd941
      mmitchel authored
      	SHF_MERGE support.
      	* configure: Regenerated.
      	* config.in: Likewise.
      	* langhooks-def.h (lhd_comdat_group): New function.
      	(LANG_HOOKS_COMDAT_GROUP): New macro.
      	(LANG_HOOKS_DECLS): Use it.
      	* langhooks.c (lhd_comdat_group): Define.
      	* langhooks.h (lang_hooks_for_decls): Add comdat_group.
      	* output.h (named_section_flags): Make it a macro.
      	(named_section_real): New function.
      	(default_no_named_section): Add decl parameter.
      	(default_elf_asm_named_section): Likewise.
      	(default_coff_asm_named_section): Likewise.
      	(default_pe_asm_named_section): Likewise.
      	* target.h (gcc_target): Adjust type of named_section.
      	* varasm.c (named_section_flags): Rename to named_section_real.
      	Add decl parameter.
      	(default_no_named_section): Add decl parameter.
      	(default_elf_asm_named_section): Use COMDAT, if available.  Deal
      	with the case that ASM_COMMENT_START is "@".
      	(default_coff_asm_named_section): Add decl parameter.
      	(default_pe_asm_named_section): Likewise.
      	* config/alpha/alpha.c (vms_asm_named_section): Add decl
      	parameter.
      	(unicosmk_asm_named_section): Likewise.
      	* config/arm/arm.c (arm_elf_asm_named_section): Remove.
      	* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
      	* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
      	* config/cris/cris-protos.h (cris_target_asm_named_section):
      	Likewise.
      	* config/cris/cris.c (cris_target_asm_named_section):
      	Likewise.
      	* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
      	* config/i386/i386-protos.h (i386_pe_asm_named_section):
      	Likewise.
      	* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
      	* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
      	* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
      	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
      	Likewise.
      	* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
      
      	* cp-objcp-common.h (LANG_HOOKS_COMDAT_GROUP): Define.
      	* cp-tree.h (cxx_comdat_group): Declare.
      	* decl.c (cxx_comdat_group): New function.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87557 138bc75d-0d04-0410-961f-82ee72b054a4
      537cd941
  18. 15 May, 2004 1 commit
    • rearnsha's avatar
      * arm.h (TARGET_APCS_32): Delete. · c1a66faf
      rearnsha authored
      (TARGET_MMU_TRAPS): Delete.
      (TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__.  Never
      define __APCS_26__.
      (CPP_SPEC): Remove checking of -mapcs-{26,32}.
      (ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
      (TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
      (prog_mode_type): Delete.
      (PROMOTE_MODE): Always promote unsigned for HImode.
      (SECONDARY_INPUT_RELOAD_CLASS): Simplify.
      (MASK_RETURN_ADDR): Simplify.
      * arm.c (arm_prgmode): Delete.
      (arm_override_options, arm_gen_rotated_half_load): Simplify.
      (print_multi_reg, output_return_instruction): Simplify.
      (arm_output_epilogue, arm_final_prescan_insn): Simplify.
      (arm_return_addr): Simplify.
      * arm.md (prog_mode): Delete.
      (conds): Simplify.
      (zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
      (rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
      (loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
      (loadhi_shiftpredec): Delete.
      (peephole for post-increment on HImode load): Delete.
      * arm/crtn.asm: (FUNC_END): Simplify.
      * arm/lib1funcs.asm: Remove APCS-26 return macros.
      * arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
      * arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
      * arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
      MULTILIB_DEFAULTS as required.
      * arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
      * arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
      variables as required.
      * doc/invoke.texi (ARM Options): Remove obsolete flags.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81881 138bc75d-0d04-0410-961f-82ee72b054a4
      c1a66faf
  19. 16 Mar, 2004 1 commit
    • kazu's avatar
      * config/freebsd-spec.h, config/arc/arc-protos.h, · fb6c3667
      kazu authored
      	config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
      	config/arm/linux-gas.h, config/arm/semi.h,
      	config/cris/cris-protos.h, config/i386/xm-djgpp.h,
      	config/ia64/freebsd.h, config/mips/7000.md,
      	config/mips/9000.md, config/ns32k/ns32k-protos.h,
      	config/sparc/pbd.h: Update copyright.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79537 138bc75d-0d04-0410-961f-82ee72b054a4
      fb6c3667
  20. 03 Feb, 2004 1 commit
    • pbrook's avatar
      Merge from csl-arm-branch. · a2cd141b
      pbrook authored
      	2004-01-30  Paul Brook  <paul@codesourcery.com>
      
      	* aof.h (REGISTER_NAMES): Add vfp reg names
      	(ADDITIONAL_REGISTER_NAMES): Ditto.
      	* aout.h (REGISTER_NAMES): Ditto.
      	(ADDITIONAL_REGISTER_NAMES): Ditto.
      	* arm-protos.h: Update/Add Prototypes.
      	* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
      	Only allow 0.0 for VFP.
      	(fp_consts_inited): Rename from fpa_consts_inited.  Update users.
      	(values_fp): Rename from values_fpa.  Update Users.
      	(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
      	Update users.  Only check valid constants for this hardware.
      	(arm_float_rhs_operand): Rename from fpa_rhs_operand.  Update Users.
      	Only allow consts for FPA.
      	(arm_float_add_operand): Rename from fpa_add_operand.  Update users.
      	Only allow consts for FPA.
      	(use_return_insn): Check for saved VFP regs.
      	(arm_legitimate_address_p): Handle VFP DFmode addressing.
      	(arm_legitimize_address): Ditto.
      	(arm_general_register_operand): New function.
      	(vfp_mem_operand): New function.
      	(vfp_compare_operand): New function.
      	(vfp_secondary_reload_class): New function.
      	(arm_float_compare_operand): New function.
      	(vfp_print_multi): New function.
      	(vfp_output_fstmx): New function.
      	(vfp_emit_fstm): New function.
      	(arm_output_epilogue): Output VPF reg restore code.
      	(arm_expand_prologue): Output VFP reg save code.
      	(arm_print_operand): Add 'P'.
      	(arm_hard_regno_mode_ok): Return modes for VFP regs.
      	(arm_regno_class): Return classes for VFP regs.
      	(arm_compute_initial_elimination_offset): Include space for VFP regs.
      	(arm_get_frame_size): Ditto.
      	* arm.h (FIXED_REGISTERS): Add VFP regs.
      	(CALL_USED_REGISTERS): Ditto.
      	(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
      	(FIRST_VFP_REGNUM): Define.
      	(LAST_VFP_REGNUM): Define.
      	(IS_VFP_REGNUM): Define.
      	(FIRST_PSEUDO_REGISTER): Include VFP regs.
      	(HARD_REGNO_NREGS): Handle VFP regs.
      	(REG_ALLOC_ORDER): Add VFP regs.
      	(enum reg_class): Add VFP_REGS.
      	(REG_CLASS_NAMES): Ditto.
      	(REG_CLASS_CONTENTS): Ditto.
      	(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
      	(REG_CLASS_FROM_LETTER): Add 'w'.
      	(EXTRA_CONSTRAINT_ARM): Add 'U'.
      	(EXTRA_MEMORY_CONSTRAINT): Define.
      	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
      	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
      	(REGISTER_MOVE_COST): Ditto.
      	(PREDICATE_CODES): Add arm_general_register_operand,
      	arm_float_compare_operand and vfp_compare_operand.
      	* arm.md (various): Rename as above.
      	(divsf3): Enable when TARGET_VFP.
      	(divdf3): Ditto.
      	(movdfcc): Ditto.
      	(sqrtsf2): Ditto.
      	(sqrtdf2): Ditto.
      	(arm_movdi): Disable when TARGET_VFP.
      	(arm_movsi_insn): Ditto.
      	(movsi): Only split with general regs.
      	(cmpsf): Use arm_float_compare_operand.
      	(push_fp_multi): Restrict to TARGET_FPA.
      	(vfp.md): Include.
      	* vfp.md: New file.
      	* fpa.md (various): Rename as above.
      	* doc/md.texi: Document ARM w and U constraints.
      
      	2004-01-15  Paul Brook  <paul@codesourcery.com>
      
      	* config.gcc: Add with_fpu.  Allow with-float=softfp.
      	* config/arm/arm.c (arm_override_options): Rename *-s to *s.
      	Break out of loop when we find a float-abi.  Fix typo.
      	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
      	Set -mfloat-abi=.
      	* doc/install.texi: Document --with-fpu.
      
      	2003-01-14  Paul Brook  <paul@codesourcery.com>
      
      	* config.gcc (with_arch): Add armv6.
      	* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
      	* config/arm/arm.c (arm_overrride_options): Ditto.
      
      	2004-01-08  Richard Earnshaw  <rearnsha@arm.com>
      
      	* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
      	(FL_ARCH6): Renamed from FL_ARCH6J.
      	(arm_arch3m): Renamed from arm_fast_multiply.
      	(arm_arch6): Renamed from arm_arch6j.
      	* arm.h: Update all uses of above.
      	* arm-cores.def: Likewise.
      	* arm.md: Likewise.
      
      	* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
      	not arm6j.  Add entry for arch armv6.
      
      	2004-01-07  Richard Earnshaw  <rearnsha@arm.com>
      
      	* arm.c (arm_emit_extendsi): Delete.
      	* arm-protos.h (arm_emit_extendsi): Delete.
      	* arm.md (zero_extendhisi2): Also handle zero-extension of
      	non-subregs.
      	(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
      	(thumb_zero_extendhisi2): Only match if not v6.
      	(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
      	(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
      	(thumb_extendqisi2): Likewise.
      	(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
      	(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
      	(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
      	(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
      	(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
      	(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
      	(arm_zero_extendhisi2addsi): Remove subreg.  Add attributes.
      	(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
      	(arm_extendqisi2addsi): Likewise.
      
      	2003-12-31  Mark Mitchell  <mark@codesourcery.com>
      
      	Revert this change:
      	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
      	+ REG addressing modes.
      
      	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
      	+ REG addressing modes.
      
      	2003-12-30  Mark Mitchell  <mark@codesourcery.com>
      
      	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
      	CONSTANT_P_RTX.
      
      	2003-30-12  Paul Brook  <paul@codesourcery.com>
      
      	* longlong.h: protect arm inlines with !defined (__thumb__)
      
      	2003-30-12  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
      
      	2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
      
      	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
      	change.
      
      	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
      
      	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
      	to the virtual incoming args pointer for downward stacks.
      
      	2003-12-29  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm-cores.def: Add cost function.
      	* config/arm/arm.c (arm_*_rtx_costs): New functions.
      	(arm_rtx_costs): Remove
      	(struct processors): Add rtx_costs field.
      	(all_cores, all_architectures): Ditto.
      	(arm_override_options): Set targetm.rtx_costs.
      	(thumb_rtx_costs): New function.
      	(arm_rtx_costs_1): Remove cases handled elsewhere.
      	* config/arm/arm.h (processor_type): Add COSTS parameter.
      
      	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
      
      	* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
      	(arm926ejs.md): Include it.
      	* config/arm/arm926ejs.md: New pipeline description.
      
      	2003-12-24  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm.c (arm_arch6j): New variable.
      	(arm_override_options): Set it.
      	(arm_emit_extendsi): New function.
      	* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
      	* config/arm/arm.h (arm_arch6j): Declare.
      	* config/arm/arm.md: Add sign/zero extend insns.
      
      	2003-12-23  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm.c (all_architectures): Add armv6.
      	* doc/invoke.texi: Document it.
      
      	2003-12-19  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm.md: Add load1 and load_byte "type" attrs.  Modify
      	insn patterns to match.
      	* config/arm/arm-generic.md: Ditto.
      	* config/arm/cirrus.md: Ditto.
      	* config/arm/fpa.md: Ditto.
      	* config/amm/iwmmxt.md: Ditto.
      	* config/arm/arm1026ejs.md: Ditto.
      	* config/arm/arm1135jfs.md: Ditto.  Add insn_reservation and bypasses
      	for 11_loadb.
      
      	2003-12-18  Nathan Sidwell  <nathan@codesourcery.com>
      
      	* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
      	* config/arm/arm.c (arm_adjust_cost): Check shift cost for
      	TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
      	(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
      	arm_no_early_mul_dep): Correctly deal with conditional execution,
      	parallels and single shift operations.
      	(arm_no_early_alu_shift_value_dep): Define.
      	* arm.md (attr type): Replace 'normal' with 'alu',
      	'alu_shift' and 'alu_shift_reg'.
      	(attr core_cycles): Adjust.
      	(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
      	*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
      	*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
      	*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
      	*arith_shiftsi_compare0_scratch, *sub_shiftsi,
      	*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
      	*if_shift_move, *if_move_shift, *if_shift_shift): Set type
      	attribute appropriately.
      	* config/arm/arm1026ejs.md (alu_op): Adjust.
      	(alu_shift_op, alu_shift_reg_op): New.
      	* config/arm/arm1136.md: Add better bypasses for early
      	registers. Remove load[234] and store[234] bypasses.
      	(11_alu_op): Adjust.
      	(11_alu_shift_op, 11_alu_shift_reg_op): New.
      
      	2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
      
      	* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
      	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
      	* config/arm/arm.c (arm_no_early_store_addr_dep,
      	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
      	* config/arm/arm1026ejs.md: Add load-store bypass.
      	* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
      	Add bypasses between instructions.
      
      	2003-12-10  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm.c (arm_fpu_model): New variable.
      	(arm_fload_abi): New variable.
      	(target_fpe_name): Rename from target_fp_name.
      	(target_fpu_name): New variable.
      	(arm_is_cirrus): Remove.
      	(fpu_desc): New struct.
      	(all_fpus): Define.
      	(pf_model_for_fpu): Define.
      	(all_loat_abis): Define.
      	(arm_override_options): Set fp arch flags based on -mfpu=
      	and -float-abi=.
      	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
      	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
      	(*): Use new TARGET_* flags.
      	* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
      	(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
      	(TARGET_SOFT_FLOAT): Ditto.
      	(TARGET_SOFT_FLOAT_ABI): New.
      	(TARGET_MAVERICK): Rename from TARGET_CIRRUS.  No longer implies
      	TARGET_HARD_FLOAT.
      	(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
      	(TARGET_OPTIONS): Add -mfpu=.
      	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
      	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
      	(arm_pf_model): Define.
      	(arm_float_abi_type): Define.
      	(fputype): Add FPUTYPE_VFP.  Change SOFT_FPA->NONE
      	* config/arm/arm.md: Use new TARGET_* flags.
      	* config/arm/cirrus.md: Ditto.
      	* config/arm/fpa.md: Ditto.
      	* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
      	* config/arm/semi.h (ASM_SPEC): Ditto.
      	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
      	(FPUTYPE_DEFAULT): Set to VFP.
      	* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
      
      	2003-11-22  Phil Edwards  <phil@codesourcery.com>
      
      	PR target/12476
      	* config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
      	'bx' instead of 'b' to avoid branch range restrictions.  Output
      	the thunk immediately before the thunked-to function.
      	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
      	.thumb_func if a thunk is being generated.  Emit .code 16 along
      	with .thumb_func if a thunk is not being generated.
      
      	2003-11-15  Nicolas Pitre <nico@cam.org>
      
      	* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
      	arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
      	* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
      	(lshrdi3_iwmmxt): Renamed from lshrdi3.
      	* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
      
      	2003-11-12  Steve Woodford  <scw@wasabisystems.com>
      	    Ian Lance Taylor  <ian@wasabisystems.com>
      
      	* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
      	code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
      
      	2003-11-05  Phil Edwards  <phil@codesourcery.com>
      
      	* config/arm/arm.md (insn):  Add new V6 instruction names.
      	(generic_sched):  New attr.
      	* config/arm/arm-generic.md:  Use generic_sched here.
      	* config/arm/arm1026ejs.md:  Do not model fetch/issue/decode
      	stages of pipeline.  Adjust latency counts accordingly.
      	* config/arm/arm1136jfs.md:  New file.
      
      	2003-10-28  Mark Mitchell  <mark@codesourcery.com>
      
      	* config/arm/arm.h (processor_type): New enumeration type.
      	(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
      	ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
      	(CPP_CPU_ARCH_SPEC): Likewise.
      	* config/arm/arm.c (arm_tune): New variable.
      	(all_cores): Use cores.def.
      	(all_architectures): Add representative processor.
      	(arm_override_options): Restructure way in which tuning
      	information is deduced.
      	* arm.md: Update "insn" and "type" attributes throughout.
      	(insn): New attribute.
      	(type): Compute "mult" from "insn" attribute.  Add load2,
      	load3, load4 alternatives.
      	(arm automaton): Move to arm-generic.md.
      	* config/arm/arm-cores.def: New file.
      	* config/arm/arm-generic.md: Likewise.
      	* config/arm/arm1026ejs.md: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77171 138bc75d-0d04-0410-961f-82ee72b054a4
      a2cd141b
  21. 19 Jun, 2003 1 commit
    • zack's avatar
      * target.h (asm_out.file_start, file_start_app_off, · 92c473b8
      zack authored
      	file_start_file_directive): New hooks.
      	* target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
      	TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
      	New hook-definition macros.
      	* doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
      	* varasm.c (default_file_start): New.
      	* output.h: Prototype it.
      	* toplev.c (init_asm_output): Use targetm.asm_out.file_start.
      	* system.h: Poison ASM_FILE_START.
      
      	* config/alpha/alpha.c (alpha_write_verstamp): Delete.
      	(alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
      	(unicosmk_asm_file_start): Rename unicosmk_file_start,
      	make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
      	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
      	* config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
      	TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
      	comment.
      	* config/arc/arc.c (arc_asm_file_start): Rename
      	arc_file_start, take no arguments, make static.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/arm/arm.c (aof_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it, when appropriate.
      	* config/arm/coff.h, config/arm/elf.h:
      	Set TARGET_ASM_FILE_START_APP_OFF to true.
      	* config/avr/avr.c (asm_file_start): Rename avr_file_start,
      	take no arguments, make static.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
      	Set them.
      	* config/c4x/c4x.c (c4x_file_start): New static function.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
      	Set them.
      	* config/cris/cris.c (cris_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
      	dsp16xx_file_start, make static.
      	(luxworks_dsp16xx_file_start): Delete.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/h8300/h8300.c (asm_file_start): Rename
      	h8300_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/i370/i370.c (i370_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/i386/i386.c (x86_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
      	X86_FILE_START_FLTUSED): New macros, default to false.
      	* config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
      	* config/i386/sysv4.h, config/i386/sco5.h: Override
      	X86_FILE_START_VERSION_DIRECTIVE to true.
      	* config/ia64/ia64.c (ia64_file_start): New static function.
      	(TARGET_ASM_FILE_START): Set it.
      	(emit_safe_across_calls): Take no arguments.
      	* config/ia64/ia64.md: Update to match.
      	* config/m32r/m32r.c (m32r_asm_file_start): Rename
      	m32r_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START): Set it.
      	* config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
      	m68hc11_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	(print_options): Delete.
      	* config/m68k/m68k.c (m68k_hp320_file_start): New static function.
      	(TARGET_ASM_FILE_START_APP_OFF): Set.
      	* config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
      	m68k_hp320_file_start.
      	* config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
      	Make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/mmix/mmix.c (mmix_asm_file_start): Rename
      	mmix_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/mn10300/mn10300.c (asm_file_start): Rename
      	mn10300_file_start, make static, take no arguments.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
      	* config/pa/pa.c (pa_file_start_level, pa_file_start_space,
      	pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
      	pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
      	pa_hpux64_hpas_file_start): New static functions.
      	* config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
      	* config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
      	pa_linux_file_start.
      	* config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
      	pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
      	appropriate.
      	* config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
      	* config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
      	(rs6000_file_start): Make static, take no arguments.  Reset
      	default_cpu under certain conditions.
      	(rs6000_xcoff_file_start): New function.
      	* config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
      	* config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
      	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
      	* config/sh/sh.c (output_file_start): Rename
      	sh_file_start, make static, take no arguments.  Merge in old
      	code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/sh/sh.c (TARGET_ELF): Define to 0.
      	* config/sh/elf.h (TARGET_ELF): Redefine to 1.
      	* config/v850/v850.c (asm_file_start): Delete.
      	(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
      	* config/vax/vax.c (vax_file_start): New static function.
      	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
      
      	* config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
      	* config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
      	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h
      	* config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
      	* config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
      	* config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
      
      	* config/darwin.h, config/elfos.h, config/alpha/elf.h
      	* config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
      	* config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
      	* config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
      	* config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
      	* config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
      	* config/i370/i370.h, config/i386/att.h, config/i386/gas.h
      	* config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
      	* config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
      	* config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
      	* config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
      	* config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
      	* config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
      	* config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
      	* config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
      	* config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
      	* config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
      	* config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
      
      	* config/alpha/alpha-protos.h, config/arc/arc-protos.h
      	* config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
      	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
      	* config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
      	* config/mips/mips-protos.h, config/mmix/mmix-protos.h
      	* config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
      	* config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
      
      	* xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
      	Remove reference to ASM_FILE_START in comment.
      	* config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
      	* config/arm/linux-gas.h, config/arm/netbsd-elf.h
      	* config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68229 138bc75d-0d04-0410-961f-82ee72b054a4
      92c473b8
  22. 28 Apr, 2003 1 commit
  23. 09 Apr, 2003 1 commit
  24. 10 Feb, 2003 1 commit
  25. 16 Dec, 2002 1 commit
  26. 21 Nov, 2002 2 commits
  27. 07 Nov, 2002 1 commit
  28. 28 Jul, 2002 1 commit
    • zack's avatar
      * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two · a7424888
      zack authored
      	arguments.  Always use ".-symbol" as expression argument.
      	* doc/tm.texi: Update to match.  Document requirement for
      	".size symbol, .-symbol" to be acceptable to assembler.
      
      	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
      	config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
      	config/i386/freebsd-aout.h, config/i386/sco5.h,
      	config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
      	config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55820 138bc75d-0d04-0410-961f-82ee72b054a4
      a7424888
  29. 25 Jul, 2002 1 commit
    • zack's avatar
      * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE, · ef7af4c3
      zack authored
      	ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
      	* doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
      	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
      
      	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
      	config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
      	config/cris/aout.h, config/i386/freebsd-aout.h,
      	config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
      	config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
      	config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
      	config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
      	config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
      	config/xtensa/elf.h, config/xtensa/linux.h:
      	Use the new macros.
      	Where possible, remove redundant definitions of SIZE_ASM_OP,
      	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55735 138bc75d-0d04-0410-961f-82ee72b054a4
      ef7af4c3
  30. 20 May, 2002 1 commit
    • nickc's avatar
      * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march · a454f6a0
      nickc authored
          switches straight on to the assembler, do not abbreviate them.
          * config/arm/elf.h (ASM_SPEC): As above.
          * config/arm/semi.h (ASM_SPEC): As above.
          * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
          * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
          -mcpu=xscale on to the assembler by default.
          * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53667 138bc75d-0d04-0410-961f-82ee72b054a4
      a454f6a0
  31. 18 Mar, 2002 1 commit
    • rearnsha's avatar
      * arm.md (tablejump): Make this a define_expand. For PIC add the · fd957ef3
      rearnsha authored
      offset to the base of the table.
      (thumb_tablejump): Matcher for Thumb tablejump insn.
      * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
      as the difference of two labels.
      * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
      * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
      tables in the code.
      * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
      * arm.c (get_jump_table_size): If the table is not in the text
      section, return zero.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50960 138bc75d-0d04-0410-961f-82ee72b054a4
      fd957ef3
  32. 19 Dec, 2001 1 commit
  33. 16 Nov, 2001 1 commit
    • obrien's avatar
      2001-11-16 David O'Brien <obrien@FreeBSD.org> · 83e163bd
      obrien authored
      	* config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
      	arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
      	arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
      	arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
      	arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
      	arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
      	xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
      	* config/arm/aof.h: Don't include arm.h.
      	* config/arm/aout.h: Likewise.
      	* config/arm/coff.h: Don't include semi.h and aout.h.
      	* config/arm/elf.h: Don't include aout.h.
      	* config/arm/netbsd.h: Don't include netbsd.h and aout.h.
      	(TARGET_VERSION): Undef before defining.
      	(ARM_OS_NAME): Likewise
      	(TARGET_DEFAULT): Likewise
      	(TARGET_MEM_FUNCTIONS): Do not need to undefine now.
      	* config/arm/pe.h: Don't include arm/coff.h.
      	* config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
      	SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
      	* config/arm/riscix1-1.h: Likewise.
      	* config/arm/rix-gas.h: Don't include riscix.h.
      	(DBX_CONTIN_LENGTH): Undef before defining.
      	* config/arm/semi.h: Don't include aout.h.
      	* config/arm/semiaof.h: Don't include aof.h.
      	* config/arm/strongarm-coff.h: Don't include coff.h.
      	* config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
      	* config/arm/vxarm.h: Don't include arm/coff.h.
      	* config/arm/xscale-coff.h: Don't include coff.h.
      
      Approved by:  Nick Clifton <nickc@cambridge.redhat.com>
                    <m3ofm2c27q.fsf@north-pole.nickc.cambridge.redhat.com>
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47105 138bc75d-0d04-0410-961f-82ee72b054a4
      83e163bd
  34. 14 Sep, 2001 1 commit
  35. 09 Aug, 2001 1 commit
  36. 04 Aug, 2001 1 commit
    • rth's avatar
      * target.h (gcc_target): Add asm_out.named_section, · 2cb4ac60
      rth authored
      	section_type_flags, have_named_sections.
      	* target-def.h (TARGET_ASM_NAMED_SECTION): New.
      	(TARGET_HAVE_NAMED_SECTIONS): New.
      	(TARGET_SECTION_TYPE_FLAGS): New.
      
      	* Makefile.in (toplev.o): Depend on TARGET_H.
      	(varasm.o, dbxout.o): Likewise.
      	* c-common.c (decl_attributes): Check targetm.have_named_sections
      	instead of ifdef ASM_OUTPUT_SECTION_NAME.
      	* dbxout.c (dbxout_function_decl): Likewise.
      	(dbxout_function_end): Likewise.
      	* toplev.c (compile_file): Likewise.
      	* varasm.c (exception_section): Likewise.
      	* cp/decl2.c (finish_objects): Likewise.
      
      	* defaults.h (EH_FRAME_SECTION): Remove.
      	(EH_FRAME_SECTION_ASM_OP): Remove.
      	(EH_FRAME_SECTION_NAME): New.
      	(UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
      	(UNIQUE_SECTION_P): Remove.
      	* dwarf2out.c (SECTION_FORMAT): Remove.
      	(ASM_OUTPUT_SECTION): Remove.
      	(output_call_frame_info): Use named_section_flags.
      	(output_comp_unit, dwarf2out_start_source_file): Likewise.
      	(dwarf2out_end_source_file, dwarf2out_define): Likewise.
      	(dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
      	* varasm.c (in_eh_frame, eh_frame_section): Remove.
      	(named_section_flags): New.
      	(named_section): Use it and targetm.section_type_flags.
      	(resolve_unique_section): New.
      	(assemble_start_function): Use it.
      	(asm_emit_uninitialised, assemble_variable): Likewise.
      	(default_section_type_flags): New.
      	(default_no_named_section, default_elf_asm_named_section): New.
      	(default_coff_asm_named_section, default_pe_asm_named_section): New.
      	* output.h: Update varasm.c decls.
      	(SECTION_*): New flags.
      
      	* crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
      	(__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
      
      	* config/elfos.h (UNIQUE_SECTION_P): Remove.
      	* config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
      	* config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
      	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
      	* config/i386/i386-interix.h, config/i386/win32.h: Likewise.
      	* config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
      	* config/mips/elf.h, config/mips/elf64.h: Likewise.
      	* config/mips/iris6gld.h, config/mips/mips.h: Likewise.
      	* config/pa/pa64-hpux.h,
      
      	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
      	(TARGET_ASM_NAMED_SECTION): New.
      	* config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
      	* config/alpha/vms.h, config/arm/coff.h: Likewise.
      	* config/arm/conix-elf.h, config/arm/elf.h: Likewise.
      	* config/arm/linux-elf.h, config/arm/pe.h: Likewise.
      	* config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
      	* config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
      	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
      	* config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
      	* config/i386/sco5.h, config/i386/win32.h: Likewise.
      	* config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
      	* config/mcore/mcore.h, config/mips/elf.h: Likewise.
      	* config/mips/elf64.h, config/mips/iris6.h: Likewise.
      	* config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
      	* config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
      	* config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
      	* config/sparc/sysv4.h: Likewise.
      
      	* config/nextstep.h: Error until named sections implemented.
      
      	* config/a29k/a29k.c (a29k_asm_named_section): New.
      	* config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
      	(vms_section_type_flags, vms_asm_named_section): New.
      	* config/arm/arm.c (arm_elf_asm_named_section): New.
      	* config/avr/avr.c (asm_output_section_name): Remove.
      	* config/avr/avr-protos.h: Update.
      	* config/c4x/c4x.c (c4x_asm_named_section): New.
      	* config/h8300/h8300.c (h8300_asm_named_section): New.
      	* config/i386/i386.c (sco_asm_named_section): New.
      	* config/i386/winnt.c (SECTION_PE_SHARED): New.
      	(i386_pe_section_type_flags): New.
      	(i386_pe_asm_named_section): New.
      	* config/i386/i386-protos.h: Update.
      	* config/m68k/m68k.c (m68k_coff_asm_named_section): New.
      	* config/mcore/mcore.c (mcore_asm_named_section): New.
      	* config/mips/mips.c (iris6_asm_named_section): New.
      	* config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
      	instead of UNIQUE_SECTION_P.
      	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
      	(xcoff_asm_named_section): New.
      	* config/sh/sh.c (sh_asm_named_section): New.
      	* config/sparc/sparc.c (sparc_elf_asm_named_section): New.
      
      	* config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
      	* config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
      	(EH_FRAME_SECTION_NAME): New.
      	(EXCEPTION_SECTION): New.
      	* config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
      	(DEBUG_*_SECTION): Remove.
      	* config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
      	* config/mips/iris6.h (DEBUG_*_SECTION): Remove.
      	(EH_FRAME_SECTION_ASM_OP): Remove.
      
      	* doc/tm.texi (UNIQUE_SECTION_P): Remove.
      	(ASM_OUTPUT_SECTION_NAME): Remove.
      	(TARGET_ASM_NAMED_SECTION): New.
      	(TARGET_HAVE_NAMED_SECTIONS): New.
      	(TARGET_SECTION_TYPE_FLAGS): New.
      	(EH_FRAME_SECTION_ASM_OP): Remove.
      	(EH_FRAME_SECTION_NAME): New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44623 138bc75d-0d04-0410-961f-82ee72b054a4
      2cb4ac60
  37. 26 Jun, 2001 1 commit
    • neil's avatar
      * Makefile.in (TARGET_H, TARGET_DEF_H): New. · a767736d
      neil authored
      	(c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
      	* c-decl.c (duplicate_decls): Use function pointer.
      	* c-typeck.c (common_type): Similarly.
      	* tree.c (valid_machine_attribute): Similarly.
      	(merge_machine_type_attributes): Rename merge_type_attributes.
      	(merge_machine_decl_attributes): Rename merge_decl_attributes.
      	(merge_dllimport_decl_attributes): New function.
      	* tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
      	(merge_machine_decl_attributes): Rename merge_decl_attributes.
      	(merge_dllimport_decl_attributes): New prototype.
      	* target.h: New.
      	* target-def.h: New.
      
      doc:	(Joseph Myers)
      	* doc/gcc.texi, doc/tm.texi: Update documentation.
      
      cp:	Make-lang.in: Update dependencies.
      	* spew.c: Include target.h.
      	(duplicate_decls): Call target function.
      	* decl2.c: include target.h
      	(import_export_class): Use existence of target function pointer.
      	* typeck.c: Include target.h.
      	(qualify_type_recursive): Rename variable.  Call target function.
      	(type_after_usual_arithmetic_conversions): Similarly.
      	(common_type): Similarly.
      
      config:	* 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
      	avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
      	d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
      	i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
      	m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
      	mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
      	pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
      	sh/sh.c, sparc/sparc.c,	v850/v850.c, vax/vax.c, we32k/we32k.c)
      	: Include target.h and target-def.h.  Define target.
      
      	* arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
      	* arc/arc.c (arc_valid_machine_decl_attribute): Rename
      	arc_valid_decl_attribute, make static.
      	* arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* arm/arm-protos.h (arm_valid_machine_decl_attribute,
      	arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
      	arm_pe_merge_machine_decl_attributes): Remove.
      	* arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
      	arm_valid_decl_attribute_p, make static.
      	(arm_pe_valid_decl_attribute_p): Move from pe.c.
      	* arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
      	(arm_pe_merge_machine_decl_attributes): Move to tree.c.
      	* arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
      	(VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* avr/avr-protos.h (valid_machine_type_attribute,
      	valid_machine_decl_attribute): Remove.
      	* avr/avr.c (valid_machine_type_attribute,
      	valid_machine_decl_attribute): Rename and make static.
      	* avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
      	VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
      	* c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
      	* c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* d30v/d30v.h: Remove obsolete comments.
      	* h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
      	* h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
      	static.
      	* h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
      	(i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
      	i386_pe_valid_type_attributes_p): Remove.
      	* i386/i386-protos.h (ix86_valid_decl_attribute_p,
      	ix86_valid_type_attribute_p): Remove.
      	* i386/i386.c (ix86_valid_decl_attribute_p): Remove.
      	(ix86_valid_type_attribute_p): Make static.
      	* i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
      	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
      	* ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
      	* ia64/ia64.c (ia64_valid_type_attribute): Make static.
      	* ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
      	* m32r/m32r.c (m32r_valid_decl_attribute): Make static.
      	* m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
      	m68hc11_valid_type_attribute_p): Remove.
      	* m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
      	(m68hc11_valid_type_attribute_p): Make static.
      	* m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
      	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
      	mcore_merge_machine_decl_attribute): Remove.
      	* mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
      	make static.
      	(mcore_merge_machine_decl_attributes): Move to tree.c.
      	* mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
      	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	(TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
      	* ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
      	ns32k_valid_type_attribute_p): Remove.
      	* ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
      	(ns32k_valid_type_attribute_p): Make static.
      	* ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
      	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
      	rs6000_valid_type_attribute_p): Remove.
      	* rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
      	(rs6000_valid_type_attribute_p): Make static.
      	* rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
      	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
      	* sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
      	* sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
      	* sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      	* v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
      	* v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
      	* v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43585 138bc75d-0d04-0410-961f-82ee72b054a4
      a767736d
  38. 04 May, 2001 1 commit
  39. 16 Apr, 2001 1 commit
    • zack's avatar
      * toplev.c (output_lang_identify): Delete. · f006a2e6
      zack authored
      	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
      	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
      	If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
      	after calling ASM_FILE_END.
      
      	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
      	Instead, unconditionally emit an N_OPT stab with string equal
      	to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
      
      	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
      
      	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
      	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
      	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
      	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
      	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
      	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
      	config/i370/i370.h, config/i386/beos-elf.h,
      	config/i386/osf1elf.h, config/i386/osfrose.h,
      	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
      	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
      	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
      	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
      	config/mips/iris6.h, config/mips/osfrose.h,
      	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
      	config/sparc/sp64-elf.h:
      	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
      	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
      
      	* config/elfos.h, config/freebsd.h, config/linux.h,
      	config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
      	config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
      	config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
      	of ASM_FILE_START which merely emit a .version directive.  Delete
      	definitions of ASM_FILE_END which merely emit an .ident directive.
      
      	* config/avr/avr.h, config/vax/vax.h: Delete definition of
      	ASM_IDENTIFY_GCC and move part of its logic into
      	ASM_FILE_START.
      
      	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
      	config/sparc/linux-aout.h: Don't emit .version directive in
      	ASM_FILE_START.
      
      	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
      	(output_file_start): Correct comment.
      
      	* config/i386/osfrose.h: Don't emit trailing .ident directive.
      	* config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
      	to match gdb.
      	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
      	* config/rs6000/aix.h: Correct comment.
      
      	* config/i386/i386afe.h: Delete.
      	* config.gcc: Remove references to i386afe.h.
      
      	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
      	other macros deleted by this patch were undocumented.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41385 138bc75d-0d04-0410-961f-82ee72b054a4
      f006a2e6