add gcc-4.5.0 preliminary support
SVN-Revision: 21033
This commit is contained in:
		| @@ -42,6 +42,9 @@ if !LINUX_2_4 | ||||
| 	config GCC_VERSION_4_4_3 | ||||
| 		bool "gcc 4.4.3" | ||||
|  | ||||
| 	config GCC_VERSION_4_5_0 | ||||
| 		bool "gcc 4.5.0" | ||||
|  | ||||
| 	config GCC_VERSION_LLVM | ||||
| 		bool "llvm-gcc 4.2" | ||||
| 		depends BROKEN | ||||
|   | ||||
| @@ -10,6 +10,7 @@ config GCC_VERSION | ||||
| 	default "4.4.1+cs"  if GCC_VERSION_4_4_1_CS | ||||
| 	default "4.4.2"	    if GCC_VERSION_4_4_2 | ||||
| 	default "4.4.3"	    if GCC_VERSION_4_4_3 | ||||
| 	default "4.5.0"	    if GCC_VERSION_4_5_0 | ||||
| 	default "4.4.3+cs"  if GCC_VERSION_4_4_3_CS | ||||
| 	default "llvm"	    if GCC_VERSION_LLVM | ||||
| 	default "4.1.2" | ||||
| @@ -30,6 +31,7 @@ config GCC_VERSION_4 | ||||
| 	default y	if GCC_VERSION_4_2 | ||||
| 	default y	if GCC_VERSION_4_3 | ||||
| 	default y	if GCC_VERSION_4_4 | ||||
| 	default y	if GCC_VERSION_4_5 | ||||
|  | ||||
| config GCC_VERSION_4_1 | ||||
| 	bool | ||||
| @@ -54,6 +56,10 @@ config GCC_VERSION_4_4 | ||||
| 	default y	if GCC_VERSION_4_4_3 | ||||
| 	default y	if GCC_VERSION_4_4_3_CS | ||||
|  | ||||
| config GCC_VERSION_4_5 | ||||
| 	bool | ||||
| 	default y       if GCC_VERSION_4_5_0 | ||||
|  | ||||
| endif | ||||
|  | ||||
| if !TOOLCHAINOPTS | ||||
|   | ||||
| @@ -63,6 +63,9 @@ else | ||||
|   ifeq ($(PKG_VERSION),4.4.3) | ||||
|     PKG_MD5SUM:=fe1ca818fc6d2caeffc9051fe67ff103 | ||||
|   endif | ||||
|   ifeq ($(PKG_VERSION),4.5.0) | ||||
|   PKG_MD5SUM:=ff27b7c4a5d5060c8a8543a44abca31f | ||||
|   endif | ||||
| endif | ||||
|  | ||||
| PATCH_DIR=./patches/$(GCC_VERSION) | ||||
| @@ -108,6 +111,15 @@ ifneq ($(CONFIG_GCC_VERSION_4_3)$(CONFIG_GCC_VERSION_4_4),) | ||||
| 		--disable-decimal-float | ||||
| endif | ||||
|  | ||||
| ifneq ($(CONFIG_GCC_VERSION_4_5),) | ||||
|   GCC_BUILD_TARGET_LIBGCC:=y | ||||
|   GCC_CONFIGURE+= \ | ||||
|                 --with-gmp=$(TOPDIR)/staging_dir/host \ | ||||
|                 --with-mpc=$(TOPDIR)/staging_dir/host \ | ||||
|                 --with-mpfr=$(TOPDIR)/staging_dir/host \ | ||||
|                 --disable-decimal-float | ||||
| endif | ||||
|  | ||||
| ifneq ($(CONFIG_SSP_SUPPORT),) | ||||
|   GCC_CONFIGURE+= \ | ||||
| 		--enable-libssp | ||||
|   | ||||
							
								
								
									
										33
									
								
								toolchain/gcc/patches/4.5.0/100-uclibc-conf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								toolchain/gcc/patches/4.5.0/100-uclibc-conf.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| --- a/contrib/regression/objs-gcc.sh | ||||
| +++ b/contrib/regression/objs-gcc.sh | ||||
| @@ -106,6 +106,10 @@ | ||||
|   then | ||||
|    make all-gdb all-dejagnu all-ld || exit 1 | ||||
|    make install-gdb install-dejagnu install-ld || exit 1 | ||||
| +elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] | ||||
| + then | ||||
| +  make all-gdb all-dejagnu all-ld || exit 1 | ||||
| +  make install-gdb install-dejagnu install-ld || exit 1 | ||||
|  elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then | ||||
|    make bootstrap || exit 1 | ||||
|    make install || exit 1 | ||||
| --- a/libjava/classpath/ltconfig | ||||
| +++ b/libjava/classpath/ltconfig | ||||
| @@ -603,7 +603,7 @@ | ||||
|   | ||||
|  # Transform linux* to *-*-linux-gnu*, to support old configure scripts. | ||||
|  case $host_os in | ||||
| -linux-gnu*) ;; | ||||
| +linux-gnu*|linux-uclibc*) ;; | ||||
|  linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` | ||||
|  esac | ||||
|   | ||||
| @@ -1251,7 +1251,7 @@ | ||||
|    ;; | ||||
|   | ||||
|  # This must be Linux ELF. | ||||
| -linux-gnu*) | ||||
| +linux*) | ||||
|    version_type=linux | ||||
|    need_lib_prefix=no | ||||
|    need_version=no | ||||
							
								
								
									
										11
									
								
								toolchain/gcc/patches/4.5.0/301-missing-execinfo_h.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								toolchain/gcc/patches/4.5.0/301-missing-execinfo_h.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| --- a/boehm-gc/include/gc.h | ||||
| +++ b/boehm-gc/include/gc.h | ||||
| @@ -503,7 +503,7 @@ | ||||
|  #if defined(__linux__) || defined(__GLIBC__) | ||||
|  # include <features.h> | ||||
|  # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ | ||||
| -     && !defined(__ia64__) | ||||
| +     && !defined(__ia64__) && !defined(__UCLIBC__) | ||||
|  #   ifndef GC_HAVE_BUILTIN_BACKTRACE | ||||
|  #     define GC_HAVE_BUILTIN_BACKTRACE | ||||
|  #   endif | ||||
							
								
								
									
										11
									
								
								toolchain/gcc/patches/4.5.0/302-c99-snprintf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								toolchain/gcc/patches/4.5.0/302-c99-snprintf.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| --- a/libstdc++-v3/include/c_global/cstdio | ||||
| +++ b/libstdc++-v3/include/c_global/cstdio | ||||
| @@ -139,7 +139,7 @@ | ||||
|   | ||||
|  _GLIBCXX_END_NAMESPACE | ||||
|   | ||||
| -#if _GLIBCXX_USE_C99 | ||||
| +#if _GLIBCXX_USE_C99 || defined __UCLIBC__ | ||||
|   | ||||
|  #undef snprintf | ||||
|  #undef vfscanf | ||||
| @@ -0,0 +1,47 @@ | ||||
| --- a/libmudflap/mf-hooks2.c | ||||
| +++ b/libmudflap/mf-hooks2.c | ||||
| @@ -421,7 +421,7 @@ | ||||
|  { | ||||
|    TRACE ("%s\n", __PRETTY_FUNCTION__); | ||||
|    MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); | ||||
| -  bzero (s, n); | ||||
| +  memset (s, 0, n); | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -431,7 +431,7 @@ | ||||
|    TRACE ("%s\n", __PRETTY_FUNCTION__); | ||||
|    MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); | ||||
|    MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); | ||||
| -  bcopy (src, dest, n); | ||||
| +  memmove (dest, src, n); | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -441,7 +441,7 @@ | ||||
|    TRACE ("%s\n", __PRETTY_FUNCTION__); | ||||
|    MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); | ||||
|    MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); | ||||
| -  return bcmp (s1, s2, n); | ||||
| +  return n == 0 ? 0 : memcmp (s1, s2, n); | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -450,7 +450,7 @@ | ||||
|    size_t n = strlen (s); | ||||
|    TRACE ("%s\n", __PRETTY_FUNCTION__); | ||||
|    MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); | ||||
| -  return index (s, c); | ||||
| +  return strchr (s, c); | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -459,7 +459,7 @@ | ||||
|    size_t n = strlen (s); | ||||
|    TRACE ("%s\n", __PRETTY_FUNCTION__); | ||||
|    MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); | ||||
| -  return rindex (s, c); | ||||
| +  return strrchr (s, c); | ||||
|  } | ||||
|   | ||||
|  /* XXX:  stpcpy, memccpy */ | ||||
							
								
								
									
										9368
									
								
								toolchain/gcc/patches/4.5.0/600-ubicom_support.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9368
									
								
								toolchain/gcc/patches/4.5.0/600-ubicom_support.patch
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										25
									
								
								toolchain/gcc/patches/4.5.0/810-arm-softfloat-libgcc.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								toolchain/gcc/patches/4.5.0/810-arm-softfloat-libgcc.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| --- a/gcc/config/arm/linux-elf.h | ||||
| +++ b/gcc/config/arm/linux-elf.h | ||||
| @@ -60,7 +60,7 @@ | ||||
|     %{shared:-lc} \ | ||||
|     %{!shared:%{profile:-lc_p}%{!profile:-lc}}" | ||||
|   | ||||
| -#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" | ||||
| +#define LIBGCC_SPEC "-lgcc" | ||||
|   | ||||
|  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" | ||||
|   | ||||
| --- a/gcc/config/arm/t-linux | ||||
| +++ b/gcc/config/arm/t-linux | ||||
| @@ -4,7 +4,10 @@ | ||||
|   | ||||
|  LIB1ASMSRC = arm/lib1funcs.asm | ||||
|  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ | ||||
| -	_arm_addsubdf3 _arm_addsubsf3 | ||||
| +	_arm_addsubdf3 _arm_addsubsf3 \ | ||||
| +	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ | ||||
| +	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ | ||||
| +	_fixsfsi _fixunssfsi _floatdidf _floatundidf _floatdisf _floatundisf | ||||
|   | ||||
|  # MULTILIB_OPTIONS = mhard-float/msoft-float | ||||
|  # MULTILIB_DIRNAMES = hard-float soft-float | ||||
							
								
								
									
										36
									
								
								toolchain/gcc/patches/4.5.0/820-libgcc_pic.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								toolchain/gcc/patches/4.5.0/820-libgcc_pic.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| --- a/libgcc/Makefile.in | ||||
| +++ b/libgcc/Makefile.in | ||||
| @@ -729,11 +729,12 @@ $(libgcov-objects): %$(objext): $(gcc_sr | ||||
|   | ||||
|  # Static libraries. | ||||
|  libgcc.a: $(libgcc-objects) | ||||
| +libgcc_pic.a: $(libgcc-s-objects) | ||||
|  libgcov.a: $(libgcov-objects) | ||||
|  libunwind.a: $(libunwind-objects) | ||||
|  libgcc_eh.a: $(libgcc-eh-objects) | ||||
|   | ||||
| -libgcc.a libgcov.a libunwind.a libgcc_eh.a: | ||||
| +libgcc.a libgcov.a libunwind.a libgcc_eh.a libgcc_pic.a: | ||||
|  	-rm -f $@ | ||||
|   | ||||
|  	objects="$(objects)";					\ | ||||
| @@ -755,7 +756,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E | ||||
|  endif | ||||
|   | ||||
|  ifeq ($(enable_shared),yes) | ||||
| -all: libgcc_eh.a libgcc_s$(SHLIB_EXT) | ||||
| +all: libgcc_eh.a libgcc_pic.a libgcc_s$(SHLIB_EXT) | ||||
|  ifneq ($(LIBUNWIND),) | ||||
|  all: libunwind$(SHLIB_EXT) | ||||
|  endif | ||||
| @@ -928,6 +929,10 @@ install-shared: | ||||
|  	chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a | ||||
|  	$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a | ||||
|   | ||||
| +	$(INSTALL_DATA) libgcc_pic.a $(mapfile) $(DESTDIR)$(inst_libdir)/ | ||||
| +	chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_pic.a | ||||
| +	$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_pic.a | ||||
| + | ||||
|  	$(subst @multilib_dir@,$(MULTIDIR),$(subst \ | ||||
|  		@shlib_base_name@,libgcc_s,$(subst \ | ||||
|  		@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL)))) | ||||
							
								
								
									
										253
									
								
								toolchain/gcc/patches/4.5.0/910-mbsd_multi.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										253
									
								
								toolchain/gcc/patches/4.5.0/910-mbsd_multi.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,253 @@ | ||||
|  | ||||
| 	This patch brings over a few features from MirBSD: | ||||
| 	* -fhonour-copts | ||||
| 	  If this option is not given, it's warned (depending | ||||
| 	  on environment variables). This is to catch errors | ||||
| 	  of misbuilt packages which override CFLAGS themselves. | ||||
| 	* -Werror-maybe-reset | ||||
| 	  Has the effect of -Wno-error if GCC_NO_WERROR is | ||||
| 	  set and not '0', a no-operation otherwise. This is | ||||
| 	  to be able to use -Werror in "make" but prevent | ||||
| 	  GNU autoconf generated configure scripts from | ||||
| 	  freaking out. | ||||
| 	* Make -fno-strict-aliasing and -fno-delete-null-pointer-checks | ||||
| 	  the default for -O2/-Os, because they trigger gcc bugs | ||||
| 	  and can delete code with security implications. | ||||
|  | ||||
| 	This patch was authored by Thorsten Glaser <tg at mirbsd.de> | ||||
| 	with copyright assignment to the FSF in effect. | ||||
|  | ||||
| --- a/gcc/c-opts.c | ||||
| +++ b/gcc/c-opts.c | ||||
| @@ -105,6 +105,9 @@ | ||||
|  /* Number of deferred options scanned for -include.  */ | ||||
|  static size_t include_cursor; | ||||
|   | ||||
| +/* Check if a port honours COPTS.  */ | ||||
| +static int honour_copts = 0; | ||||
| + | ||||
|  static void set_Wimplicit (int); | ||||
|  static void handle_OPT_d (const char *); | ||||
|  static void set_std_cxx98 (int); | ||||
| @@ -690,6 +701,12 @@ | ||||
|        flag_exceptions = value; | ||||
|        break; | ||||
|   | ||||
| +    case OPT_fhonour_copts: | ||||
| +      if (c_language == clk_c) { | ||||
| +	honour_copts++; | ||||
| +      } | ||||
| +      break; | ||||
| + | ||||
|      case OPT_fimplement_inlines: | ||||
|        flag_implement_inlines = value; | ||||
|        break; | ||||
| @@ -1209,6 +1226,47 @@ | ||||
|        return false; | ||||
|      } | ||||
|   | ||||
| +  if (c_language == clk_c) { | ||||
| +    char *ev = getenv ("GCC_HONOUR_COPTS"); | ||||
| +    int evv; | ||||
| +    if (ev == NULL) | ||||
| +      evv = -1; | ||||
| +    else if ((*ev == '0') || (*ev == '\0')) | ||||
| +      evv = 0; | ||||
| +    else if (*ev == '1') | ||||
| +      evv = 1; | ||||
| +    else if (*ev == '2') | ||||
| +      evv = 2; | ||||
| +    else if (*ev == 's') | ||||
| +      evv = -1; | ||||
| +    else { | ||||
| +      warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1"); | ||||
| +      evv = 1; /* maybe depend this on something like MIRBSD_NATIVE?  */ | ||||
| +    } | ||||
| +    if (evv == 1) { | ||||
| +      if (honour_copts == 0) { | ||||
| +	error ("someone does not honour COPTS at all in lenient mode"); | ||||
| +	return false; | ||||
| +      } else if (honour_copts != 1) { | ||||
| +	warning (0, "someone does not honour COPTS correctly, passed %d times", | ||||
| +	 honour_copts); | ||||
| +      } | ||||
| +    } else if (evv == 2) { | ||||
| +      if (honour_copts == 0) { | ||||
| +	error ("someone does not honour COPTS at all in strict mode"); | ||||
| +	return false; | ||||
| +      } else if (honour_copts != 1) { | ||||
| +	error ("someone does not honour COPTS correctly, passed %d times", | ||||
| +	 honour_copts); | ||||
| +	return false; | ||||
| +      } | ||||
| +    } else if (evv == 0) { | ||||
| +      if (honour_copts != 1) | ||||
| +	inform (0, "someone does not honour COPTS correctly, passed %d times", | ||||
| +	 honour_copts); | ||||
| +    } | ||||
| +  } | ||||
| + | ||||
|    return true; | ||||
|  } | ||||
|   | ||||
| --- a/gcc/c.opt | ||||
| +++ b/gcc/c.opt | ||||
| @@ -215,6 +215,10 @@ | ||||
|  C ObjC RejectNegative Warning | ||||
|  This switch is deprecated; use -Werror=implicit-function-declaration instead | ||||
|   | ||||
| +Werror-maybe-reset | ||||
| +C ObjC C++ ObjC++ | ||||
| +; Documented in common.opt | ||||
| + | ||||
|  Wfloat-equal | ||||
|  C ObjC C++ ObjC++ Var(warn_float_equal) Warning | ||||
|  Warn if testing floating point numbers for equality | ||||
| @@ -609,6 +613,9 @@ | ||||
|  fhonor-std | ||||
|  C++ ObjC++ | ||||
|   | ||||
| +fhonour-copts | ||||
| +C ObjC C++ ObjC++ RejectNegative | ||||
| + | ||||
|  fhosted | ||||
|  C ObjC | ||||
|  Assume normal C execution environment | ||||
| --- a/gcc/common.opt | ||||
| +++ b/gcc/common.opt | ||||
| @@ -102,6 +102,10 @@ | ||||
|  Common Joined | ||||
|  Treat specified warning as error | ||||
|   | ||||
| +Werror-maybe-reset | ||||
| +Common | ||||
| +If environment variable GCC_NO_WERROR is set, act as -Wno-error | ||||
| + | ||||
|  Wextra | ||||
|  Common Warning | ||||
|  Print extra (possibly unwanted) warnings | ||||
| @@ -573,6 +577,9 @@ | ||||
|  Common Report Var(flag_guess_branch_prob) Optimization | ||||
|  Enable guessing of branch probabilities | ||||
|   | ||||
| +fhonour-copts | ||||
| +Common RejectNegative | ||||
| + | ||||
|  ; Nonzero means ignore `#ident' directives.  0 means handle them. | ||||
|  ; Generate position-independent code for executables if possible | ||||
|  ; On SVR4 targets, it also controls whether or not to emit a | ||||
| --- a/gcc/opts.c | ||||
| +++ b/gcc/opts.c | ||||
| @@ -891,8 +891,6 @@ | ||||
|    flag_schedule_insns_after_reload = opt2; | ||||
|  #endif | ||||
|    flag_regmove = opt2; | ||||
| -  flag_strict_aliasing = opt2; | ||||
| -  flag_strict_overflow = opt2; | ||||
|    flag_reorder_blocks = opt2; | ||||
|    flag_reorder_functions = opt2; | ||||
|    flag_tree_vrp = opt2; | ||||
| @@ -912,6 +910,9 @@ | ||||
|   | ||||
|    /* -O3 optimizations.  */ | ||||
|    opt3 = (optimize >= 3); | ||||
| +  flag_strict_aliasing = opt3; | ||||
| +  flag_strict_overflow = opt3; | ||||
| +  flag_delete_null_pointer_checks = opt3; | ||||
|    flag_predictive_commoning = opt3; | ||||
|    flag_inline_functions = opt3; | ||||
|    flag_unswitch_loops = opt3; | ||||
| @@ -1638,6 +1639,17 @@ | ||||
|        enable_warning_as_error (arg, value, lang_mask); | ||||
|        break; | ||||
|   | ||||
| +    case OPT_Werror_maybe_reset: | ||||
| +      { | ||||
| +       char *ev = getenv ("GCC_NO_WERROR"); | ||||
| +       if ((ev != NULL) && (*ev != '0')) | ||||
| +         warnings_are_errors = 0; | ||||
| +      } | ||||
| +      break; | ||||
| + | ||||
| +    case OPT_fhonour_copts: | ||||
| +      break; | ||||
| + | ||||
|      case OPT_Wlarger_than_: | ||||
|        /* This form corresponds to -Wlarger-than-. | ||||
|  	 Kept for backward compatibility. | ||||
| --- a/gcc/doc/cppopts.texi | ||||
| +++ b/gcc/doc/cppopts.texi | ||||
| @@ -164,6 +164,11 @@ | ||||
|  Make all warnings into hard errors.  Source code which triggers warnings | ||||
|  will be rejected. | ||||
|   | ||||
| + at item -Werror-maybe-reset | ||||
| + at opindex Werror-maybe-reset | ||||
| +Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment | ||||
| +variable is set to anything other than 0 or empty. | ||||
| + | ||||
|  @item -Wsystem-headers | ||||
|  @opindex Wsystem-headers | ||||
|  Issue warnings for code in system headers.  These are normally unhelpful | ||||
| --- a/gcc/doc/invoke.texi | ||||
| +++ b/gcc/doc/invoke.texi | ||||
| @@ -234,7 +234,7 @@ | ||||
|  -Wconversion  -Wcoverage-mismatch  -Wno-deprecated  @gol | ||||
|  -Wno-deprecated-declarations -Wdisabled-optimization  @gol | ||||
|  -Wno-div-by-zero -Wempty-body  -Wenum-compare -Wno-endif-labels @gol | ||||
| --Werror  -Werror=* @gol | ||||
| +-Werror  -Werror=* -Werror-maybe-reset @gol | ||||
|  -Wfatal-errors  -Wfloat-equal  -Wformat  -Wformat=2 @gol | ||||
|  -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol | ||||
|  -Wformat-security  -Wformat-y2k @gol | ||||
| @@ -4161,6 +4161,22 @@ | ||||
|  @option{-Wall} and by @option{-pedantic}, which can be disabled with | ||||
|  @option{-Wno-pointer-sign}. | ||||
|   | ||||
| + at item -Werror-maybe-reset | ||||
| + at opindex Werror-maybe-reset | ||||
| +Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment | ||||
| +variable is set to anything other than 0 or empty. | ||||
| + | ||||
| + at item -fhonour-copts | ||||
| + at opindex fhonour-copts | ||||
| +If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not | ||||
| +given at least once, and warn if it is given more than once. | ||||
| +If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not | ||||
| +given exactly once. | ||||
| +If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option | ||||
| +is not given exactly once. | ||||
| +The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}. | ||||
| +This flag and environment variable only affect the C language. | ||||
| + | ||||
|  @item -Wstack-protector | ||||
|  @opindex Wstack-protector | ||||
|  @opindex Wno-stack-protector | ||||
| @@ -5699,7 +5715,7 @@ | ||||
|  second branch or a point immediately following it, depending on whether | ||||
|  the condition is known to be true or false. | ||||
|   | ||||
| -Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. | ||||
| +Enabled at levels @option{-O3}. | ||||
|   | ||||
|  @item -fsplit-wide-types | ||||
|  @opindex fsplit-wide-types | ||||
| @@ -5844,7 +5860,7 @@ | ||||
|  @option{-fno-delete-null-pointer-checks} to disable this optimization | ||||
|  for programs which depend on that behavior. | ||||
|   | ||||
| -Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. | ||||
| +Enabled at levels @option{-O3}. | ||||
|   | ||||
|  @item -fexpensive-optimizations | ||||
|  @opindex fexpensive-optimizations | ||||
| --- a/gcc/java/jvspec.c | ||||
| +++ b/gcc/java/jvspec.c | ||||
| @@ -670,6 +670,7 @@ | ||||
|       class name.  Append dummy `.c' that can be stripped by set_input so %b | ||||
|       is correct.  */  | ||||
|    set_input (concat (main_class_name, "main.c", NULL)); | ||||
| +  putenv ("GCC_HONOUR_COPTS=s"); /* XXX hack!  */ | ||||
|    err = do_spec (jvgenmain_spec); | ||||
|    if (err == 0) | ||||
|      { | ||||
| @@ -0,0 +1,14 @@ | ||||
| --- gcc-4.4.0/gcc/config/arm/arm-protos.h	2009-02-20 16:20:38.000000000 +0100 | ||||
| +++ gcc-4.4.0.new/gcc/config/arm/arm-protos.h	2009-04-22 16:00:58.000000000 +0200 | ||||
| @@ -43,10 +43,10 @@ | ||||
|  extern void arm_output_fn_unwind (FILE *, bool); | ||||
|     | ||||
|   | ||||
| -#ifdef RTX_CODE | ||||
|  extern bool arm_vector_mode_supported_p (enum machine_mode); | ||||
|  extern int arm_hard_regno_mode_ok (unsigned int, enum machine_mode); | ||||
|  extern int const_ok_for_arm (HOST_WIDE_INT); | ||||
| +#ifdef RTX_CODE | ||||
|  extern int arm_split_constant (RTX_CODE, enum machine_mode, rtx, | ||||
|  			       HOST_WIDE_INT, rtx, rtx, int); | ||||
|  extern RTX_CODE arm_canonicalize_comparison (RTX_CODE, enum machine_mode, | ||||
							
								
								
									
										12
									
								
								toolchain/gcc/patches/4.5.0/999-coldfire.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								toolchain/gcc/patches/4.5.0/999-coldfire.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| Index: gcc-4.4.2/gcc/config.gcc | ||||
| =================================================================== | ||||
| --- gcc-4.4.2.orig/gcc/config.gcc	2009-10-21 16:19:39.000000000 +0200 | ||||
| +++ gcc-4.4.2/gcc/config.gcc	2009-10-21 16:19:40.000000000 +0200 | ||||
| @@ -1506,6 +1506,7 @@ | ||||
|  	if test x$sjlj != x1; then | ||||
|  	    tmake_file="$tmake_file m68k/t-slibgcc-elf-ver" | ||||
|  	fi | ||||
| +	tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf" | ||||
|  	;; | ||||
|  m68k-*-rtems*) | ||||
|  	default_m68k_cpu=68020 | ||||
| @@ -11,8 +11,12 @@ curdir:=tools | ||||
| # subdirectories to descend into | ||||
| tools-y := | ||||
| ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) | ||||
| ifeq ($(CONFIG_GCC_VERSION_4_5),y) | ||||
| tools-$(CONFIG_GCC_VERSION_4_5) += gmp mpfr mpc | ||||
| else | ||||
| tools-$(CONFIG_GCC_VERSION_4_3)$(CONFIG_GCC_VERSION_4_4) += gmp mpfr | ||||
| endif | ||||
| endif | ||||
| tools-y += m4 autoconf automake bison pkg-config sed mklibs | ||||
| tools-y += sstrip ipkg-utils genext2fs libuuid mtd-utils mkimage | ||||
| tools-y += firmware-utils patch-cmdline quilt yaffs2 | ||||
| @@ -40,6 +44,7 @@ $(curdir)/quilt/compile := $(curdir)/sed/install | ||||
| $(curdir)/dtc/compile := $(curdir)/bison/install | ||||
| $(curdir)/autoconf/compile := $(curdir)/m4/install | ||||
| $(curdir)/automake/compile := $(curdir)/m4/install $(curdir)/autoconf/install | ||||
| $(curdir)/mpc/compile := $(curdir)/gmp/install | ||||
| $(curdir)/mpfr/compile := $(curdir)/gmp/install | ||||
| $(curdir)/mtd-utils/compile := $(curdir)/libuuid/install | ||||
|  | ||||
|   | ||||
							
								
								
									
										40
									
								
								tools/mpc/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								tools/mpc/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| # | ||||
| # Copyright (C) 2009 OpenWrt.org | ||||
| # | ||||
| # This is free software, licensed under the GNU General Public License v2. | ||||
| # See /LICENSE for more information. | ||||
| # | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=mpc | ||||
| PKG_VERSION:=0.8.1 | ||||
|  | ||||
| PKG_SOURCE_URL:=http://www.multiprecision.org/mpc/download/ | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||
| PKG_MD5SUM:=5b34aa804d514cc295414a963aedb6bf | ||||
|  | ||||
| include $(INCLUDE_DIR)/host-build.mk | ||||
|  | ||||
| unexport CFLAGS | ||||
|  | ||||
| ifeq ($(HOST_OS),Darwin) | ||||
|   GNU_HOST_NAME:= | ||||
|   HOST_CONFIGURE_ARGS:=$(filter-out --target= --build= --host=,$(HOST_CONFIGURE_ARGS)) | ||||
| endif | ||||
|  | ||||
| HOST_CONFIGURE_ARGS += \ | ||||
| 	--enable-static \ | ||||
| 	--disable-shared \ | ||||
| 	--with-mpfr=$(TOPDIR)/staging_dir/host \ | ||||
| 	--with-gmp=$(TOPDIR)/staging_dir/host | ||||
|  | ||||
| define Host/Configure | ||||
| 	(cd $(HOST_BUILD_DIR)/$(3); \ | ||||
| 		$(HOST_CONFIGURE_CMD) \ | ||||
| 		$(HOST_CONFIGURE_VARS) \ | ||||
| 		$(HOST_CONFIGURE_ARGS); \ | ||||
| 	) | ||||
| endef | ||||
|  | ||||
|  | ||||
| $(eval $(call HostBuild)) | ||||
| @@ -7,11 +7,11 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=mpfr | ||||
| PKG_VERSION:=2.4.1 | ||||
| PKG_VERSION:=2.4.2 | ||||
|  | ||||
| PKG_SOURCE_URL:=http://www.mpfr.org/mpfr-$(PKG_VERSION) | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_MD5SUM:=c5ee0a8ce82ad55fe29ac57edd35d09e | ||||
| PKG_MD5SUM:=89e59fe665e2b3ad44a6789f40b059a0 | ||||
|  | ||||
| include $(INCLUDE_DIR)/host-build.mk | ||||
|  | ||||
|   | ||||
| @@ -7,18 +7,18 @@ diff -urN mpfr-2.4.1/Makefile.am mpfr-2.4.1.new/Makefile.am | ||||
|   | ||||
| -SUBDIRS = tests | ||||
| +SUBDIRS = | ||||
|  EXTRA_DIST = BUGS FAQ.html PATCHES VERSION get_patches.sh round_raw_generic.c gen_inverse.h jyn_asympt.c | ||||
|   | ||||
|  include_HEADERS = mpfr.h mpf2mpfr.h | ||||
|  nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LIB FAQ.html NEWS TODO \ | ||||
|    examples/ReadMe examples/divworst.c examples/rndo-add.c examples/sample.c | ||||
| diff -urN mpfr-2.4.1/Makefile.in mpfr-2.4.1.new/Makefile.in | ||||
| --- mpfr-2.4.1/Makefile.in	2009-02-25 17:18:06.000000000 +0100 | ||||
| +++ mpfr-2.4.1.new/Makefile.in	2009-08-20 14:58:32.000000000 +0200 | ||||
| @@ -295,7 +295,7 @@ | ||||
| @@ -344,7 +344,7 @@ | ||||
|  top_srcdir = @top_srcdir@ | ||||
|  AUTOMAKE_OPTIONS = gnu ansi2knr | ||||
|  ACLOCAL_AMFLAGS = -I m4 | ||||
| -SUBDIRS = tests | ||||
| +SUBDIRS = | ||||
|  EXTRA_DIST = BUGS FAQ.html PATCHES VERSION get_patches.sh round_raw_generic.c gen_inverse.h jyn_asympt.c | ||||
|  include_HEADERS = mpfr.h mpf2mpfr.h | ||||
|  lib_LTLIBRARIES = libmpfr.la | ||||
|  nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LIB FAQ.html NEWS TODO \ | ||||
|    examples/ReadMe examples/divworst.c examples/rndo-add.c examples/sample.c | ||||
|   | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Alexandros C. Couloumbis
					Alexandros C. Couloumbis