toolchain: gcc: update 7.x to 7.2.0
Bump gcc from 7.1 to 7.2 Compile & run tested: ar71xx Trace history of current patches and update with commit ref & comment to give more clue as to why they're still around/needed. Some have changed form since the original commit but some clue is better than no clue at all. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
		
				
					committed by
					
						
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			
						parent
						
							820101873d
						
					
				
				
					commit
					3f4f580954
				
			@@ -6,7 +6,7 @@ config GCC_VERSION
 | 
			
		||||
	string
 | 
			
		||||
	default "arc-2017.03-release"   if GCC_VERSION_6_3_ARC
 | 
			
		||||
	default "6.3.0"         if GCC_USE_VERSION_6
 | 
			
		||||
	default "7.1.0"         if GCC_USE_VERSION_7
 | 
			
		||||
	default "7.2.0"         if GCC_USE_VERSION_7
 | 
			
		||||
	default "5.4.0"
 | 
			
		||||
 | 
			
		||||
config GCC_VERSION_6_3
 | 
			
		||||
 
 | 
			
		||||
@@ -36,8 +36,9 @@ ifeq ($(PKG_VERSION),6.3.0)
 | 
			
		||||
  PKG_HASH:=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(PKG_VERSION),7.1.0)
 | 
			
		||||
  PKG_HASH:=8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17
 | 
			
		||||
ifeq ($(PKG_VERSION),7.2.0)
 | 
			
		||||
  PKG_HASH:=1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a
 | 
			
		||||
  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifneq ($(CONFIG_GCC_VERSION_6_3_ARC),)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +0,0 @@
 | 
			
		||||
--- a/gcc/gcc.c
 | 
			
		||||
+++ b/gcc/gcc.c
 | 
			
		||||
@@ -861,7 +861,9 @@ proper position among the other output f
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 #ifndef LINK_SSP_SPEC
 | 
			
		||||
-#ifdef TARGET_LIBC_PROVIDES_SSP
 | 
			
		||||
+#if DEFAULT_LIBC == LIBC_MUSL
 | 
			
		||||
+#define LINK_SSP_SPEC "-lssp_nonshared"
 | 
			
		||||
+#elif defined(TARGET_LIBC_PROVIDES_SSP)
 | 
			
		||||
 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
 | 
			
		||||
 		       "|fstack-protector-strong|fstack-protector-explicit:}"
 | 
			
		||||
 #else
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
--- a/gcc/config/arm/arm.h
 | 
			
		||||
+++ b/gcc/config/arm/arm.h
 | 
			
		||||
@@ -150,7 +150,7 @@ extern tree arm_fp16_type_node;
 | 
			
		||||
 /* Thumb-1 only.  */
 | 
			
		||||
 #define TARGET_THUMB1_ONLY		(TARGET_THUMB1 && !arm_arch_notm)
 | 
			
		||||
 
 | 
			
		||||
-#define TARGET_LDRD			(arm_arch5e && ARM_DOUBLEWORD_ALIGN \
 | 
			
		||||
+#define TARGET_LDRD			(arm_arch6 && ARM_DOUBLEWORD_ALIGN \
 | 
			
		||||
                                          && !TARGET_THUMB1)
 | 
			
		||||
 
 | 
			
		||||
 #define TARGET_CRC32			(arm_arch_crc)
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
--- a/gcc/config/rs6000/rs6000.c
 | 
			
		||||
+++ b/gcc/config/rs6000/rs6000.c
 | 
			
		||||
@@ -26889,7 +26889,7 @@ rs6000_savres_strategy (rs6000_stack_t *
 | 
			
		||||
   /* Define cutoff for using out-of-line functions to save registers.  */
 | 
			
		||||
   if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
 | 
			
		||||
     {
 | 
			
		||||
-      if (!optimize_size)
 | 
			
		||||
+      if (1)
 | 
			
		||||
 	{
 | 
			
		||||
 	  strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
 | 
			
		||||
 	  strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
--- a/libgcc/crtstuff.c
 | 
			
		||||
+++ b/libgcc/crtstuff.c
 | 
			
		||||
@@ -152,7 +152,7 @@ call_ ## FUNC (void)					\
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 #if !defined(USE_TM_CLONE_REGISTRY) && defined(OBJECT_FORMAT_ELF)
 | 
			
		||||
-# define USE_TM_CLONE_REGISTRY 1
 | 
			
		||||
+# define USE_TM_CLONE_REGISTRY 0
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 /* We do not want to add the weak attribute to the declarations of these
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
--- a/libgcc/config/mips/t-mips16
 | 
			
		||||
+++ b/libgcc/config/mips/t-mips16
 | 
			
		||||
@@ -43,3 +43,6 @@ SYNC_CFLAGS = -mno-mips16
 | 
			
		||||
 
 | 
			
		||||
 # Version these symbols if building libgcc.so.
 | 
			
		||||
 SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver
 | 
			
		||||
+
 | 
			
		||||
+CRTSTUFF_T_CFLAGS += -mno-mips16
 | 
			
		||||
+CRTSTUFF_T_CFLAGS_S += -mno-mips16
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
--- a/libstdc++-v3/include/Makefile.in
 | 
			
		||||
+++ b/libstdc++-v3/include/Makefile.in
 | 
			
		||||
@@ -1475,7 +1475,7 @@ stamp-bits: ${bits_headers}
 | 
			
		||||
 	@$(STAMP) stamp-bits
 | 
			
		||||
 
 | 
			
		||||
 stamp-bits-sup: stamp-bits ${bits_sup_headers}
 | 
			
		||||
-	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
 | 
			
		||||
+	@-cd ${bits_builddir} && $(LN_S) $(filter-out stamp-bits,$?) . 2>/dev/null
 | 
			
		||||
 	@$(STAMP) stamp-bits-sup
 | 
			
		||||
 
 | 
			
		||||
 stamp-c_base: ${c_base_headers}
 | 
			
		||||
@@ -1,3 +1,15 @@
 | 
			
		||||
commit 31285a20390a5e53a74a2a71d1b5c82f366ddd5a
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Tue May 6 11:49:05 2014 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: revert an upstream patch that is causing a regression on powerpc
 | 
			
		||||
    
 | 
			
		||||
    https://forum.openwrt.org/viewtopic.php?pid=232494#p232494
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 40709
 | 
			
		||||
 | 
			
		||||
Revert of:
 | 
			
		||||
 | 
			
		||||
commit 275035b56823b26d5fb7e90fad945b998648edf2
 | 
			
		||||
@@ -1,3 +1,13 @@
 | 
			
		||||
commit 81cc26c706b2bc8c8c1eb1a322e5c5157900836e
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Sun Oct 19 21:45:51 2014 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: do not assume that the Mac OS X filesystem is case insensitive
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 42973
 | 
			
		||||
 | 
			
		||||
--- a/include/filenames.h
 | 
			
		||||
+++ b/include/filenames.h
 | 
			
		||||
@@ -43,11 +43,6 @@ extern "C" {
 | 
			
		||||
@@ -1,6 +1,18 @@
 | 
			
		||||
commit 098bd91f5eae625c7d2ee621e10930fc4434e5e2
 | 
			
		||||
Author: Luka Perkov <luka@openwrt.org>
 | 
			
		||||
Date:   Tue Feb 26 16:16:33 2013 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: don't build documentation
 | 
			
		||||
    
 | 
			
		||||
    This closes #13039.
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Luka Perkov <luka@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 35807
 | 
			
		||||
 | 
			
		||||
--- a/gcc/Makefile.in
 | 
			
		||||
+++ b/gcc/Makefile.in
 | 
			
		||||
@@ -3120,18 +3120,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
 | 
			
		||||
@@ -3121,18 +3121,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
 | 
			
		||||
 doc/gccint.info: $(TEXI_GCCINT_FILES)
 | 
			
		||||
 doc/cppinternals.info: $(TEXI_CPPINT_FILES)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								toolchain/gcc/patches/7.2.0/230-musl_libssp.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								toolchain/gcc/patches/7.2.0/230-musl_libssp.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
commit 1877bc9d8f2be143fbe530347a945850d0ecd234
 | 
			
		||||
Author: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
Date:   Mon Jun 22 10:31:07 2015 +0000
 | 
			
		||||
 | 
			
		||||
    gcc/musl: rework SSP-support
 | 
			
		||||
    
 | 
			
		||||
    Make musl provide libssp_nonshared.a and make GCC link it unconditionally
 | 
			
		||||
    if musl is used. This should be a no-op if SSP is disabled and seems to be
 | 
			
		||||
    the only reliable way of dealing with SSP over all packages due to the mess
 | 
			
		||||
    that is linkerflags handling in packages.
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Steven Barth <steven@midlink.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 46108
 | 
			
		||||
 | 
			
		||||
--- a/gcc/gcc.c
 | 
			
		||||
+++ b/gcc/gcc.c
 | 
			
		||||
@@ -861,7 +861,9 @@ proper position among the other output f
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 #ifndef LINK_SSP_SPEC
 | 
			
		||||
-#ifdef TARGET_LIBC_PROVIDES_SSP
 | 
			
		||||
+#if DEFAULT_LIBC == LIBC_MUSL
 | 
			
		||||
+#define LINK_SSP_SPEC "-lssp_nonshared"
 | 
			
		||||
+#elif defined(TARGET_LIBC_PROVIDES_SSP)
 | 
			
		||||
 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
 | 
			
		||||
 		       "|fstack-protector-strong|fstack-protector-explicit:}"
 | 
			
		||||
 #else
 | 
			
		||||
@@ -1,3 +1,13 @@
 | 
			
		||||
commit ecf7671b769fe96f7b5134be442089f8bdba55d2
 | 
			
		||||
Author: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
Date:   Thu Aug 4 20:29:45 2016 +0200
 | 
			
		||||
 | 
			
		||||
gcc: add a patch to generate better code with Os on mips
 | 
			
		||||
 | 
			
		||||
Also happens to reduce compressed code size a bit
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 | 
			
		||||
--- a/gcc/config/mips/mips.c
 | 
			
		||||
+++ b/gcc/config/mips/mips.c
 | 
			
		||||
@@ -19784,7 +19784,7 @@ mips_option_override (void)
 | 
			
		||||
							
								
								
									
										32
									
								
								toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
commit b050f87d13b5dc7ed82feb9a90f4529de58bdf25
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Wed Feb 19 19:20:10 2014 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: prevent the use of LDRD/STRD on ARMv5TE
 | 
			
		||||
    
 | 
			
		||||
    These instructions are for 64-bit load/store. On ARMv5TE, the CPU
 | 
			
		||||
    requires addresses to be aligned to 64-bit. When misaligned, behavior is
 | 
			
		||||
    undefined (effectively either loads the same word twice on LDRD, or
 | 
			
		||||
    corrupts surrounding memory on STRD).
 | 
			
		||||
    
 | 
			
		||||
    On ARMv6 and newer, unaligned access is safe.
 | 
			
		||||
    
 | 
			
		||||
    Removing these instructions for ARMv5TE is necessary, because GCC
 | 
			
		||||
    ignores alignment information in pointers and does unsafe optimizations
 | 
			
		||||
    that have shown up as bugs in various places.
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 39638
 | 
			
		||||
 | 
			
		||||
--- a/gcc/config/arm/arm.h
 | 
			
		||||
+++ b/gcc/config/arm/arm.h
 | 
			
		||||
@@ -150,7 +150,7 @@ extern tree arm_fp16_type_node;
 | 
			
		||||
 /* Thumb-1 only.  */
 | 
			
		||||
 #define TARGET_THUMB1_ONLY		(TARGET_THUMB1 && !arm_arch_notm)
 | 
			
		||||
 
 | 
			
		||||
-#define TARGET_LDRD			(arm_arch5e && ARM_DOUBLEWORD_ALIGN \
 | 
			
		||||
+#define TARGET_LDRD			(arm_arch6 && ARM_DOUBLEWORD_ALIGN \
 | 
			
		||||
                                          && !TARGET_THUMB1)
 | 
			
		||||
 
 | 
			
		||||
 #define TARGET_CRC32			(arm_arch_crc)
 | 
			
		||||
@@ -1,3 +1,11 @@
 | 
			
		||||
commit 8570c4be394cff7282f332f97da2ff569a927ddb
 | 
			
		||||
Author: Imre Kaloz <kaloz@openwrt.org>
 | 
			
		||||
Date:   Wed Feb 2 20:06:12 2011 +0000
 | 
			
		||||
 | 
			
		||||
    fixup arm soft-float symbols
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 25325
 | 
			
		||||
 | 
			
		||||
--- a/libgcc/config/arm/t-linux
 | 
			
		||||
+++ b/libgcc/config/arm/t-linux
 | 
			
		||||
@@ -1,6 +1,10 @@
 | 
			
		||||
@@ -1,3 +1,11 @@
 | 
			
		||||
commit c96312958c0621e72c9b32da5bc224ffe2161384
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Mon Oct 19 23:26:09 2009 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: create a proper libgcc_pic.a static library for relinking (4.3.3+ for now, backport will follow)
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 18086
 | 
			
		||||
 | 
			
		||||
--- a/libgcc/Makefile.in
 | 
			
		||||
+++ b/libgcc/Makefile.in
 | 
			
		||||
@@ -920,11 +920,12 @@ $(libgcov-driver-objects): %$(objext): $
 | 
			
		||||
@@ -1,3 +1,12 @@
 | 
			
		||||
commit 7edc8ca5456d9743dd0075eb3cc5b04f4f24c8cc
 | 
			
		||||
Author: Imre Kaloz <kaloz@openwrt.org>
 | 
			
		||||
Date:   Wed Feb 2 19:34:36 2011 +0000
 | 
			
		||||
 | 
			
		||||
    add armv4 fixup patches
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 25322
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--- a/gcc/config/arm/linux-eabi.h
 | 
			
		||||
+++ b/gcc/config/arm/linux-eabi.h
 | 
			
		||||
@@ -88,10 +88,15 @@
 | 
			
		||||
@@ -1,3 +1,10 @@
 | 
			
		||||
commit dcfc40358b5a3cae7320c17f8d1cebd5ad5540cd
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Sun Feb 12 20:25:47 2012 +0000
 | 
			
		||||
 | 
			
		||||
    gcc 4.6: port over the missing patch 850-use_shared_libgcc.patch to prevent libgcc crap from leaking into every single binary
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 30486
 | 
			
		||||
--- a/gcc/config/arm/linux-eabi.h
 | 
			
		||||
+++ b/gcc/config/arm/linux-eabi.h
 | 
			
		||||
@@ -126,10 +126,6 @@
 | 
			
		||||
@@ -1,3 +1,13 @@
 | 
			
		||||
commit 64661de100da1ec1061ef3e5e400285dce115e6b
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Sun May 10 13:16:35 2015 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: add some size optimization patches
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 45664
 | 
			
		||||
 | 
			
		||||
--- a/libgcc/config/t-libunwind
 | 
			
		||||
+++ b/libgcc/config/t-libunwind
 | 
			
		||||
@@ -2,8 +2,7 @@
 | 
			
		||||
							
								
								
									
										18
									
								
								toolchain/gcc/patches/7.2.0/870-ppc_no_crtsavres.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								toolchain/gcc/patches/7.2.0/870-ppc_no_crtsavres.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
commit d8c570a1531035c3e26bcd94741e5f5b9c36b5d9
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Mon Mar 5 00:51:01 2012 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: do not emit references to _savegpr_* and _restgpr_* on powerpc, as they are tricky to deal with wrt. libgcc. they cannot be linked dynamically
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 30814
 | 
			
		||||
--- a/gcc/config/rs6000/rs6000.c
 | 
			
		||||
+++ b/gcc/config/rs6000/rs6000.c
 | 
			
		||||
@@ -26936,7 +26936,7 @@ rs6000_savres_strategy (rs6000_stack_t *
 | 
			
		||||
   /* Define cutoff for using out-of-line functions to save registers.  */
 | 
			
		||||
   if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
 | 
			
		||||
     {
 | 
			
		||||
-      if (!optimize_size)
 | 
			
		||||
+      if (1)
 | 
			
		||||
 	{
 | 
			
		||||
 	  strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
 | 
			
		||||
 	  strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
 | 
			
		||||
							
								
								
									
										22
									
								
								toolchain/gcc/patches/7.2.0/881-no_tm_section.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								toolchain/gcc/patches/7.2.0/881-no_tm_section.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
commit 565988ab47bd9b96b50608564aee2104aeb4b7ae
 | 
			
		||||
Author: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
Date:   Tue Dec 13 14:20:49 2016 +0100
 | 
			
		||||
 | 
			
		||||
    gcc: rip out transactional memory related bloat from crtbegin
 | 
			
		||||
    
 | 
			
		||||
    Slightly improves compression for each executable, saving about 4k from
 | 
			
		||||
    the default ar71xx rootfs
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 | 
			
		||||
--- a/libgcc/crtstuff.c
 | 
			
		||||
+++ b/libgcc/crtstuff.c
 | 
			
		||||
@@ -152,7 +152,7 @@ call_ ## FUNC (void)					\
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 #if !defined(USE_TM_CLONE_REGISTRY) && defined(OBJECT_FORMAT_ELF)
 | 
			
		||||
-# define USE_TM_CLONE_REGISTRY 1
 | 
			
		||||
+# define USE_TM_CLONE_REGISTRY 0
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 /* We do not want to add the weak attribute to the declarations of these
 | 
			
		||||
							
								
								
									
										30
									
								
								toolchain/gcc/patches/7.2.0/900-bad-mips16-crt.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								toolchain/gcc/patches/7.2.0/900-bad-mips16-crt.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
commit 9dc38e48f7a6f88b7ac7bfaced91f53660204e46
 | 
			
		||||
Author: Florian Fainelli <florian@openwrt.org>
 | 
			
		||||
Date:   Fri Apr 5 12:36:06 2013 +0000
 | 
			
		||||
 | 
			
		||||
    toolchain/gcc: .init and .fini need to pick one ISA
 | 
			
		||||
    
 | 
			
		||||
    The .init and .fini sections are built by concatenating code
 | 
			
		||||
    fragments. Putting mips16 code in the middle of a mips32 code block
 | 
			
		||||
    doesn't work. Make gcc built the magic crt stuff in no-mips16 mode.
 | 
			
		||||
    
 | 
			
		||||
    This is specific to 4.6-linaro but is probably portable to other gcc
 | 
			
		||||
    flavors. Adding this to the t-libgcc-mips16 makefile fragment is a
 | 
			
		||||
    hack not suitable for pushing upstream, but there is no mips/t-linux
 | 
			
		||||
    or mips/t-uclibc and I am not going to touch gcc/configure for two
 | 
			
		||||
    lines.
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Jay Carlson <nop@nop.com>
 | 
			
		||||
    Signed-off-by: Florian Fainelli <florian@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 36200
 | 
			
		||||
 | 
			
		||||
--- a/libgcc/config/mips/t-mips16
 | 
			
		||||
+++ b/libgcc/config/mips/t-mips16
 | 
			
		||||
@@ -43,3 +43,6 @@ SYNC_CFLAGS = -mno-mips16
 | 
			
		||||
 
 | 
			
		||||
 # Version these symbols if building libgcc.so.
 | 
			
		||||
 SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver
 | 
			
		||||
+
 | 
			
		||||
+CRTSTUFF_T_CFLAGS += -mno-mips16
 | 
			
		||||
+CRTSTUFF_T_CFLAGS_S += -mno-mips16
 | 
			
		||||
@@ -1,3 +1,10 @@
 | 
			
		||||
commit 99368862e44740ff4fd33760893f04e14f9dbdf1
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Tue Jul 31 00:52:27 2007 +0000
 | 
			
		||||
 | 
			
		||||
    Port the mbsd_multi patch from freewrt, which adds -fhonour-copts. This will emit warnings in packages that don't use our target cflags properly
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 8256
 | 
			
		||||
 | 
			
		||||
	This patch brings over a feature from MirBSD:
 | 
			
		||||
	* -fhonour-copts
 | 
			
		||||
@@ -107,7 +114,7 @@
 | 
			
		||||
 ; On SVR4 targets, it also controls whether or not to emit a
 | 
			
		||||
--- a/gcc/opts.c
 | 
			
		||||
+++ b/gcc/opts.c
 | 
			
		||||
@@ -1921,6 +1921,9 @@ common_handle_option (struct gcc_options
 | 
			
		||||
@@ -1928,6 +1928,9 @@ common_handle_option (struct gcc_options
 | 
			
		||||
 			       opts, opts_set, loc, dc);
 | 
			
		||||
       break;
 | 
			
		||||
 
 | 
			
		||||
@@ -119,7 +126,7 @@
 | 
			
		||||
       opts->x_warn_larger_than = value != -1;
 | 
			
		||||
--- a/gcc/doc/invoke.texi
 | 
			
		||||
+++ b/gcc/doc/invoke.texi
 | 
			
		||||
@@ -6565,6 +6565,17 @@ This option is only supported for C and
 | 
			
		||||
@@ -6567,6 +6567,17 @@ This option is only supported for C and
 | 
			
		||||
 @option{-Wall} and by @option{-Wpedantic}, which can be disabled with
 | 
			
		||||
 @option{-Wno-pointer-sign}.
 | 
			
		||||
 
 | 
			
		||||
@@ -137,4 +144,3 @@
 | 
			
		||||
 @item -Wstack-protector
 | 
			
		||||
 @opindex Wstack-protector
 | 
			
		||||
 @opindex Wno-stack-protector
 | 
			
		||||
 | 
			
		||||
@@ -1,6 +1,13 @@
 | 
			
		||||
Author: Jo-Philipp Wich <jow@openwrt.org>
 | 
			
		||||
Date:   Sat Apr 21 03:02:39 2012 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: add patch to make the getenv() spec function nonfatal if requested environment variable is unset
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 31390
 | 
			
		||||
 | 
			
		||||
--- a/gcc/gcc.c
 | 
			
		||||
+++ b/gcc/gcc.c
 | 
			
		||||
@@ -9277,8 +9277,10 @@ getenv_spec_function (int argc, const ch
 | 
			
		||||
@@ -9280,8 +9280,10 @@ getenv_spec_function (int argc, const ch
 | 
			
		||||
     value = varname;
 | 
			
		||||
 
 | 
			
		||||
   if (!value)
 | 
			
		||||
							
								
								
									
										33
									
								
								toolchain/gcc/patches/7.2.0/940-no-clobber-stamp-bits.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								toolchain/gcc/patches/7.2.0/940-no-clobber-stamp-bits.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
commit 548d9a008ff265e9eaa3c7e0e6e301c6bd5645e6
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Fri Dec 12 17:01:57 2014 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: don't clobber stamp-bits with a symlink to itself
 | 
			
		||||
    
 | 
			
		||||
    Several versions of gcc have an issue in libstdc++v3 where the build may
 | 
			
		||||
    clobber stamp-bits with a link to itself.  This doesn't manifest itself
 | 
			
		||||
    on all systems.  On several Ubuntu systems, this doesn't appear to be a
 | 
			
		||||
    problem, but it is an issue on Fedora 16 systems.
 | 
			
		||||
    
 | 
			
		||||
    To fix the issue, we'll simply filter out stamp-bits from the symlinks
 | 
			
		||||
    to be generated.
 | 
			
		||||
    
 | 
			
		||||
    Note: gcc 4.4.7 is unaffected by this issue, so no fix is necessary
 | 
			
		||||
    there.
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: John Szakmeister <john@szakmeister.net>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 43669
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--- a/libstdc++-v3/include/Makefile.in
 | 
			
		||||
+++ b/libstdc++-v3/include/Makefile.in
 | 
			
		||||
@@ -1476,7 +1476,7 @@ stamp-bits: ${bits_headers}
 | 
			
		||||
 	@$(STAMP) stamp-bits
 | 
			
		||||
 
 | 
			
		||||
 stamp-bits-sup: stamp-bits ${bits_sup_headers}
 | 
			
		||||
-	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
 | 
			
		||||
+	@-cd ${bits_builddir} && $(LN_S) $(filter-out stamp-bits,$?) . 2>/dev/null
 | 
			
		||||
 	@$(STAMP) stamp-bits-sup
 | 
			
		||||
 
 | 
			
		||||
 stamp-c_base: ${c_base_headers}
 | 
			
		||||
@@ -1,3 +1,13 @@
 | 
			
		||||
commit 331735a357a73c7b8adc205241ac3cc6543d985e
 | 
			
		||||
Author: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
Date:   Tue Nov 17 12:38:22 2015 +0000
 | 
			
		||||
 | 
			
		||||
    gcc: add a patch to 5.x that supports translation of __FILE__ paths
 | 
			
		||||
    
 | 
			
		||||
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 | 
			
		||||
    
 | 
			
		||||
    SVN-Revision: 47490
 | 
			
		||||
 | 
			
		||||
Forward ported from attachment to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47047
 | 
			
		||||
 | 
			
		||||
--- a/gcc/c-family/c-opts.c
 | 
			
		||||
@@ -53,7 +63,7 @@ Forward ported from attachment to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=4
 | 
			
		||||
 When preprocessing, handle directives, but do not expand macros.
 | 
			
		||||
--- a/gcc/doc/invoke.texi
 | 
			
		||||
+++ b/gcc/doc/invoke.texi
 | 
			
		||||
@@ -11861,6 +11861,12 @@ by @option{-fplugin=@var{name}} instead
 | 
			
		||||
@@ -11863,6 +11863,12 @@ by @option{-fplugin=@var{name}} instead
 | 
			
		||||
 @option{-fplugin=@var{path}/@var{name}.so}.  This option is not meant
 | 
			
		||||
 to be used by the user, but only passed by the driver.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user