Module Name: src Committed By: mrg Date: Thu Jun 30 09:06:35 UTC 2016
Modified Files: src/external/gpl3/gcc/dist/libgcc: config.host src/external/gpl3/gcc/lib/libgcc/arch/ia64: defs.mk src/external/gpl3/gcc/lib/libiberty/arch/ia64: config.h Added Files: src/external/gpl3/gcc/usr.bin/gcc/arch/ia64: insn-modes.h Log Message: enable some soft-fp for ia64, needed for libgcc. re-mknative-gcc. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/external/gpl3/gcc/dist/libgcc/config.host cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/gcc/lib/libgcc/arch/ia64/defs.mk cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h cvs rdiff -u -r0 -r1.1 \ src/external/gpl3/gcc/usr.bin/gcc/arch/ia64/insn-modes.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/gpl3/gcc/dist/libgcc/config.host diff -u src/external/gpl3/gcc/dist/libgcc/config.host:1.12 src/external/gpl3/gcc/dist/libgcc/config.host:1.13 --- src/external/gpl3/gcc/dist/libgcc/config.host:1.12 Tue Jun 7 06:14:18 2016 +++ src/external/gpl3/gcc/dist/libgcc/config.host Thu Jun 30 09:06:35 2016 @@ -765,7 +765,7 @@ ia64*-*-linux*) ;; ia64*-*-netbsd*) extra_parts="${extra_parts} crtfastmath.o" - tmake_file="${tmake_file} ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" + tmake_file="${tmake_file} ia64/t-ia64 ia64/t-ia64-elf t-crtfm ia64/t-softfp t-softfp ia64/t-eh-ia64" ;; ia64*-*-hpux*) tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux" Index: src/external/gpl3/gcc/lib/libgcc/arch/ia64/defs.mk diff -u src/external/gpl3/gcc/lib/libgcc/arch/ia64/defs.mk:1.3 src/external/gpl3/gcc/lib/libgcc/arch/ia64/defs.mk:1.4 --- src/external/gpl3/gcc/lib/libgcc/arch/ia64/defs.mk:1.3 Thu Jun 30 01:44:48 2016 +++ src/external/gpl3/gcc/lib/libgcc/arch/ia64/defs.mk Thu Jun 30 09:06:35 2016 @@ -3,7 +3,7 @@ # Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp # G_INCLUDES=-I. -I. -I../.././gcc -I${GNUHOSTDIST}/libgcc -I${GNUHOSTDIST}/libgcc/. -I${GNUHOSTDIST}/libgcc/../gcc -I${GNUHOSTDIST}/libgcc/../include -G_LIB2ADD= enable-execute-stack.c +G_LIB2ADD= ${GNUHOSTDIST}/libgcc/config/ia64/tf-signs.c ${GNUHOSTDIST}/libgcc/config/ia64/sfp-exceptions.c enable-execute-stack.c G_LIB2ADDEH=${GNUHOSTDIST}/libgcc/config/ia64/unwind-ia64.c ${GNUHOSTDIST}/libgcc/unwind-sjlj.c ${GNUHOSTDIST}/libgcc/unwind-c.c ${GNUHOSTDIST}/libgcc/emutls.c G_LIB2ADD_ST= G_LIB1ASMFUNCS=__divxf3 __divdf3 __divsf3 __divdi3 __moddi3 __udivdi3 __umoddi3 __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal __nonlocal_goto __restore_stack_nonlocal __trampoline _fixtfdi _fixunstfdi _floatditf Index: src/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h diff -u src/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h:1.4 src/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h:1.5 --- src/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h:1.4 Thu Jun 30 01:44:49 2016 +++ src/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h Thu Jun 30 09:06:35 2016 @@ -224,7 +224,7 @@ #define HAVE_RINDEX 1 /* Define to 1 if you have the `sbrk' function. */ -/* #undef HAVE_SBRK */ +#define HAVE_SBRK 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 Added files: Index: src/external/gpl3/gcc/usr.bin/gcc/arch/ia64/insn-modes.h diff -u /dev/null src/external/gpl3/gcc/usr.bin/gcc/arch/ia64/insn-modes.h:1.1 --- /dev/null Thu Jun 30 09:06:35 2016 +++ src/external/gpl3/gcc/usr.bin/gcc/arch/ia64/insn-modes.h Thu Jun 30 09:06:35 2016 @@ -0,0 +1,420 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.87 2016/03/17 23:41:21 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */ + +/* Generated automatically from machmode.def and config/ia64/ia64-modes.def + by genmodes. */ + +#ifndef GCC_INSN_MODES_H +#define GCC_INSN_MODES_H + +enum machine_mode +{ + VOIDmode, /* machmode.def:172 */ +#define HAVE_VOIDmode + BLKmode, /* machmode.def:176 */ +#define HAVE_BLKmode + CCmode, /* machmode.def:214 */ +#define HAVE_CCmode + CCImode, /* config/ia64/ia64-modes.def:76 */ +#define HAVE_CCImode + BImode, /* machmode.def:179 */ +#define HAVE_BImode + QImode, /* machmode.def:187 */ +#define HAVE_QImode + HImode, /* machmode.def:188 */ +#define HAVE_HImode + SImode, /* machmode.def:189 */ +#define HAVE_SImode + DImode, /* machmode.def:190 */ +#define HAVE_DImode + TImode, /* machmode.def:191 */ +#define HAVE_TImode + OImode, /* config/ia64/ia64-modes.def:68 */ +#define HAVE_OImode + QQmode, /* machmode.def:217 */ +#define HAVE_QQmode + HQmode, /* machmode.def:218 */ +#define HAVE_HQmode + SQmode, /* machmode.def:219 */ +#define HAVE_SQmode + DQmode, /* machmode.def:220 */ +#define HAVE_DQmode + TQmode, /* machmode.def:221 */ +#define HAVE_TQmode + UQQmode, /* machmode.def:223 */ +#define HAVE_UQQmode + UHQmode, /* machmode.def:224 */ +#define HAVE_UHQmode + USQmode, /* machmode.def:225 */ +#define HAVE_USQmode + UDQmode, /* machmode.def:226 */ +#define HAVE_UDQmode + UTQmode, /* machmode.def:227 */ +#define HAVE_UTQmode + HAmode, /* machmode.def:229 */ +#define HAVE_HAmode + SAmode, /* machmode.def:230 */ +#define HAVE_SAmode + DAmode, /* machmode.def:231 */ +#define HAVE_DAmode + TAmode, /* machmode.def:232 */ +#define HAVE_TAmode + UHAmode, /* machmode.def:234 */ +#define HAVE_UHAmode + USAmode, /* machmode.def:235 */ +#define HAVE_USAmode + UDAmode, /* machmode.def:236 */ +#define HAVE_UDAmode + UTAmode, /* machmode.def:237 */ +#define HAVE_UTAmode + SFmode, /* machmode.def:209 */ +#define HAVE_SFmode + DFmode, /* machmode.def:210 */ +#define HAVE_DFmode + XFmode, /* config/ia64/ia64-modes.def:29 */ +#define HAVE_XFmode + RFmode, /* config/ia64/ia64-modes.def:30 */ +#define HAVE_RFmode + TFmode, /* config/ia64/ia64-modes.def:31 */ +#define HAVE_TFmode + SDmode, /* machmode.def:249 */ +#define HAVE_SDmode + DDmode, /* machmode.def:250 */ +#define HAVE_DDmode + TDmode, /* machmode.def:251 */ +#define HAVE_TDmode + CQImode, /* machmode.def:245 */ +#define HAVE_CQImode + CHImode, /* machmode.def:245 */ +#define HAVE_CHImode + CSImode, /* machmode.def:245 */ +#define HAVE_CSImode + CDImode, /* machmode.def:245 */ +#define HAVE_CDImode + CTImode, /* machmode.def:245 */ +#define HAVE_CTImode + COImode, /* machmode.def:245 */ +#define HAVE_COImode + SCmode, /* machmode.def:246 */ +#define HAVE_SCmode + DCmode, /* machmode.def:246 */ +#define HAVE_DCmode + XCmode, /* machmode.def:246 */ +#define HAVE_XCmode + RCmode, /* machmode.def:246 */ +#define HAVE_RCmode + TCmode, /* machmode.def:246 */ +#define HAVE_TCmode + V4QImode, /* config/ia64/ia64-modes.def:79 */ +#define HAVE_V4QImode + V2HImode, /* config/ia64/ia64-modes.def:79 */ +#define HAVE_V2HImode + V8QImode, /* config/ia64/ia64-modes.def:80 */ +#define HAVE_V8QImode + V4HImode, /* config/ia64/ia64-modes.def:80 */ +#define HAVE_V4HImode + V2SImode, /* config/ia64/ia64-modes.def:80 */ +#define HAVE_V2SImode + V16QImode, /* config/ia64/ia64-modes.def:81 */ +#define HAVE_V16QImode + V8HImode, /* config/ia64/ia64-modes.def:82 */ +#define HAVE_V8HImode + V4SImode, /* config/ia64/ia64-modes.def:83 */ +#define HAVE_V4SImode + V2SFmode, /* config/ia64/ia64-modes.def:84 */ +#define HAVE_V2SFmode + V4SFmode, /* config/ia64/ia64-modes.def:85 */ +#define HAVE_V4SFmode + MAX_MACHINE_MODE, + + MIN_MODE_RANDOM = VOIDmode, + MAX_MODE_RANDOM = BLKmode, + + MIN_MODE_CC = CCmode, + MAX_MODE_CC = CCImode, + + MIN_MODE_INT = QImode, + MAX_MODE_INT = OImode, + + MIN_MODE_PARTIAL_INT = VOIDmode, + MAX_MODE_PARTIAL_INT = VOIDmode, + + MIN_MODE_POINTER_BOUNDS = VOIDmode, + MAX_MODE_POINTER_BOUNDS = VOIDmode, + + MIN_MODE_FRACT = QQmode, + MAX_MODE_FRACT = TQmode, + + MIN_MODE_UFRACT = UQQmode, + MAX_MODE_UFRACT = UTQmode, + + MIN_MODE_ACCUM = HAmode, + MAX_MODE_ACCUM = TAmode, + + MIN_MODE_UACCUM = UHAmode, + MAX_MODE_UACCUM = UTAmode, + + MIN_MODE_FLOAT = SFmode, + MAX_MODE_FLOAT = TFmode, + + MIN_MODE_DECIMAL_FLOAT = SDmode, + MAX_MODE_DECIMAL_FLOAT = TDmode, + + MIN_MODE_COMPLEX_INT = CQImode, + MAX_MODE_COMPLEX_INT = COImode, + + MIN_MODE_COMPLEX_FLOAT = SCmode, + MAX_MODE_COMPLEX_FLOAT = TCmode, + + MIN_MODE_VECTOR_INT = V4QImode, + MAX_MODE_VECTOR_INT = V4SImode, + + MIN_MODE_VECTOR_FRACT = VOIDmode, + MAX_MODE_VECTOR_FRACT = VOIDmode, + + MIN_MODE_VECTOR_UFRACT = VOIDmode, + MAX_MODE_VECTOR_UFRACT = VOIDmode, + + MIN_MODE_VECTOR_ACCUM = VOIDmode, + MAX_MODE_VECTOR_ACCUM = VOIDmode, + + MIN_MODE_VECTOR_UACCUM = VOIDmode, + MAX_MODE_VECTOR_UACCUM = VOIDmode, + + MIN_MODE_VECTOR_FLOAT = V2SFmode, + MAX_MODE_VECTOR_FLOAT = V4SFmode, + + NUM_MACHINE_MODES = MAX_MACHINE_MODE +}; + +#define CONST_MODE_SIZE +#define CONST_MODE_BASE_ALIGN +#define CONST_MODE_IBIT const +#define CONST_MODE_FBIT const + +#define BITS_PER_UNIT (8) +#define MAX_BITSIZE_MODE_ANY_INT (32*BITS_PER_UNIT) +#define MAX_BITSIZE_MODE_ANY_MODE (64*BITS_PER_UNIT) +#define NUM_INT_N_ENTS 1 + +#if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001 + +#ifdef __cplusplus +inline __attribute__((__always_inline__)) +#else +extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) +#endif +unsigned char +mode_size_inline (machine_mode mode) +{ + extern unsigned char mode_size[NUM_MACHINE_MODES]; + switch (mode) + { + case VOIDmode: return 0; + case BLKmode: return 0; + case CCmode: return 4; + case CCImode: return 4; + case BImode: return 1; + case QImode: return 1; + case HImode: return 2; + case SImode: return 4; + case DImode: return 8; + case TImode: return 16; + case OImode: return 32; + case QQmode: return 1; + case HQmode: return 2; + case SQmode: return 4; + case DQmode: return 8; + case TQmode: return 16; + case UQQmode: return 1; + case UHQmode: return 2; + case USQmode: return 4; + case UDQmode: return 8; + case UTQmode: return 16; + case HAmode: return 2; + case SAmode: return 4; + case DAmode: return 8; + case TAmode: return 16; + case UHAmode: return 2; + case USAmode: return 4; + case UDAmode: return 8; + case UTAmode: return 16; + case SFmode: return 4; + case DFmode: return 8; + case TFmode: return 16; + case SDmode: return 4; + case DDmode: return 8; + case TDmode: return 16; + case CQImode: return 2; + case CHImode: return 4; + case CSImode: return 8; + case CDImode: return 16; + case CTImode: return 32; + case COImode: return 64; + case SCmode: return 8; + case DCmode: return 16; + case TCmode: return 32; + case V4QImode: return 4; + case V2HImode: return 4; + case V8QImode: return 8; + case V4HImode: return 8; + case V2SImode: return 8; + case V16QImode: return 16; + case V8HImode: return 16; + case V4SImode: return 16; + case V2SFmode: return 8; + case V4SFmode: return 16; + default: return mode_size[mode]; + } +} + +#ifdef __cplusplus +inline __attribute__((__always_inline__)) +#else +extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) +#endif +unsigned char +mode_nunits_inline (machine_mode mode) +{ + extern const unsigned char mode_nunits[NUM_MACHINE_MODES]; + switch (mode) + { + case VOIDmode: return 0; + case BLKmode: return 0; + case CCmode: return 1; + case CCImode: return 1; + case BImode: return 1; + case QImode: return 1; + case HImode: return 1; + case SImode: return 1; + case DImode: return 1; + case TImode: return 1; + case OImode: return 1; + case QQmode: return 1; + case HQmode: return 1; + case SQmode: return 1; + case DQmode: return 1; + case TQmode: return 1; + case UQQmode: return 1; + case UHQmode: return 1; + case USQmode: return 1; + case UDQmode: return 1; + case UTQmode: return 1; + case HAmode: return 1; + case SAmode: return 1; + case DAmode: return 1; + case TAmode: return 1; + case UHAmode: return 1; + case USAmode: return 1; + case UDAmode: return 1; + case UTAmode: return 1; + case SFmode: return 1; + case DFmode: return 1; + case XFmode: return 1; + case RFmode: return 1; + case TFmode: return 1; + case SDmode: return 1; + case DDmode: return 1; + case TDmode: return 1; + case CQImode: return 2; + case CHImode: return 2; + case CSImode: return 2; + case CDImode: return 2; + case CTImode: return 2; + case COImode: return 2; + case SCmode: return 2; + case DCmode: return 2; + case XCmode: return 2; + case RCmode: return 2; + case TCmode: return 2; + case V4QImode: return 4; + case V2HImode: return 2; + case V8QImode: return 8; + case V4HImode: return 4; + case V2SImode: return 2; + case V16QImode: return 16; + case V8HImode: return 8; + case V4SImode: return 4; + case V2SFmode: return 2; + case V4SFmode: return 4; + default: return mode_nunits[mode]; + } +} + +#ifdef __cplusplus +inline __attribute__((__always_inline__)) +#else +extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) +#endif +unsigned char +mode_inner_inline (machine_mode mode) +{ + extern const unsigned char mode_inner[NUM_MACHINE_MODES]; + switch (mode) + { + case VOIDmode: return VOIDmode; + case BLKmode: return VOIDmode; + case CCmode: return VOIDmode; + case CCImode: return VOIDmode; + case BImode: return VOIDmode; + case QImode: return VOIDmode; + case HImode: return VOIDmode; + case SImode: return VOIDmode; + case DImode: return VOIDmode; + case TImode: return VOIDmode; + case OImode: return VOIDmode; + case QQmode: return VOIDmode; + case HQmode: return VOIDmode; + case SQmode: return VOIDmode; + case DQmode: return VOIDmode; + case TQmode: return VOIDmode; + case UQQmode: return VOIDmode; + case UHQmode: return VOIDmode; + case USQmode: return VOIDmode; + case UDQmode: return VOIDmode; + case UTQmode: return VOIDmode; + case HAmode: return VOIDmode; + case SAmode: return VOIDmode; + case DAmode: return VOIDmode; + case TAmode: return VOIDmode; + case UHAmode: return VOIDmode; + case USAmode: return VOIDmode; + case UDAmode: return VOIDmode; + case UTAmode: return VOIDmode; + case SFmode: return VOIDmode; + case DFmode: return VOIDmode; + case XFmode: return VOIDmode; + case RFmode: return VOIDmode; + case TFmode: return VOIDmode; + case SDmode: return VOIDmode; + case DDmode: return VOIDmode; + case TDmode: return VOIDmode; + case CQImode: return QImode; + case CHImode: return HImode; + case CSImode: return SImode; + case CDImode: return DImode; + case CTImode: return TImode; + case COImode: return OImode; + case SCmode: return SFmode; + case DCmode: return DFmode; + case XCmode: return XFmode; + case RCmode: return RFmode; + case TCmode: return TFmode; + case V4QImode: return QImode; + case V2HImode: return HImode; + case V8QImode: return QImode; + case V4HImode: return HImode; + case V2SImode: return SImode; + case V16QImode: return QImode; + case V8HImode: return HImode; + case V4SImode: return SImode; + case V2SFmode: return SFmode; + case V4SFmode: return SFmode; + default: return mode_inner[mode]; + } +} + +#endif /* GCC_VERSION >= 4001 */ + +#endif /* insn-modes.h */