Skip to contentSkip to conversation

Clean up leon cpu types and remove gcc 4.4.x

PATCH New Andreas Larsson 2 participants 5 messages Oct 30, 2014

lore
Share & tools
lore
#0 lore raw

cover Clean up leon cpu types and remove gcc 4.4.x

[Resent due to server rejection]

Use -mcpu=leon3 for LEON systems, remove the non-mainline sparcsfleon, sparchfleon, sparcsfleonv8, and sparchfleonv8 targets, and remove gcc 4.4.x that no longer have any architectures needing it.

Andreas Larsson (2):
arch: sparc: Add leon3 cpu type and remove sparc{s,h}fleon{,v8}
gcc: remove version 4.4.x

 Config.in.legacy                                   |    7 +
 arch/Config.in.sparc                               |   15 +-
 package/gcc/4.4.7/100-uclibc-conf.patch            |   13 --
 package/gcc/4.4.7/301-missing-execinfo_h.patch     |   11 -
 package/gcc/4.4.7/302-c99-snprintf.patch           |   13 --
 .../gcc/4.4.7/305-libmudflap-susv3-legacy.patch    |   49 ----
 package/gcc/4.4.7/810-arm-softfloat-libgcc.patch   |   38 ----
 package/gcc/4.4.7/950-sparc-leon.patch             |  239 --------------------
 package/gcc/4.4.7/gcc-44-pr39429.patch             |   24 --
 .../powerpc-link-with-math-lib.patch.conditional   |  137 -----------
 package/gcc/Config.in.host                         |   39 +---
 11 files changed, 14 insertions(+), 571 deletions(-)
 delete mode 100644 package/gcc/4.4.7/100-uclibc-conf.patch
 delete mode 100644 package/gcc/4.4.7/301-missing-execinfo_h.patch
 delete mode 100644 package/gcc/4.4.7/302-c99-snprintf.patch
 delete mode 100644 package/gcc/4.4.7/305-libmudflap-susv3-legacy.patch
 delete mode 100644 package/gcc/4.4.7/810-arm-softfloat-libgcc.patch
 delete mode 100644 package/gcc/4.4.7/950-sparc-leon.patch
 delete mode 100644 package/gcc/4.4.7/gcc-44-pr39429.patch
 delete mode 100644 package/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/2 arch: sparc: Add leon3 cpu type and remove sparc{s, h}fleon{, v8}

There is support for -mcpu=leon3 from gcc 4.8.3. Use this for LEON systems instead of the non-mainline targets sparcsfleon, sparchfleon, sparcsfleonv8, and sparchfleonv8.

---
 arch/Config.in.sparc                   |   15 +-
 package/gcc/4.4.7/950-sparc-leon.patch |  239 --------------------------------
 package/gcc/Config.in.host             |   19 +--
 3 files changed, 9 insertions(+), 264 deletions(-)
 delete mode 100644 package/gcc/4.4.7/950-sparc-leon.patch
arch/Config.in.sparc +3 -12
index 657c825..cd845b2 100644
@@ -7,14 +7,8 @@ choice
 
 config BR2_sparc_v8
 	bool "v8"
-config BR2_sparc_sparchfleon
-	bool "hfleon"
-config BR2_sparc_sparchfleonv8
-	bool "hfleonv8"
-config BR2_sparc_sparcsfleon
-	bool "sfleon"
-config BR2_sparc_sparcsfleonv8
-	bool "sfleonv8"
+config BR2_sparc_leon3
+	bool "leon3"
 endchoice
 
 config BR2_ARCH
@@ -30,7 +24,4 @@ config BR2_GCC_TARGET_TUNE
 	default "v8"		if BR2_sparc_v8
 
 config BR2_GCC_TARGET_CPU
-	default "sparchfleon"	if BR2_sparc_sparchfleon
-	default "sparchfleonv8"	if BR2_sparc_sparchfleonv8
-	default "sparcsfleon"	if BR2_sparc_sparcsfleon
-	default "sparcsfleonv8"	if BR2_sparc_sparcsfleonv8
+	default "leon3"		if BR2_sparc_leon3
package/gcc/4.4.7/950-sparc-leon.patch deleted +0 -239

239 lines not on this page · raw message

package/gcc/Config.in.host +6 -13
index d96428c..8bf1051 100644
@@ -8,7 +8,6 @@ config BR2_GCC_SUPPORTS_GRAPHITE
 
 choice
 	prompt "GCC compiler Version"
-	default BR2_GCC_VERSION_4_4_X if BR2_sparc_sparchfleon || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleon || BR2_sparc_sparcsfleonv8
 	default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32
 	default BR2_GCC_VERSION_4_8_ARC if BR2_arc
 	default BR2_GCC_VERSION_4_9_X if BR2_microblaze || BR2_powerpc64le
@@ -31,6 +30,8 @@ choice
 		depends on !BR2_cortex_a5 && !BR2_cortex_a7 && \
 			!BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_fa526 && \
 			!BR2_pj4
+		# SPARC -mcpu=leon3 appeared in gcc 4.8.3
+		depends on !BR2_sparc_leon3
 		# ARM EABIhf support appeared in gcc 4.6
 		depends on !BR2_ARM_EABIHF
 		# ARM VFPv4 support appeared in gcc 4.5
@@ -53,9 +54,8 @@ choice
 			!BR2_cortex_a15 && !BR2_fa526 && !BR2_pj4
 		# Broken or unsupported PPC cores
 		depends on !BR2_power8
-		# Broken or unsupported SPARC cores
-		depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
-			&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		# SPARC -mcpu=leon3 appeared in gcc 4.8.3
+		depends on !BR2_sparc_leon3
 		# Broken or unsupported X86 cores
 		depends on !BR2_x86_corei7 && !BR2_x86_jaguar
 		# ARM EABIhf support appeared in gcc 4.6
@@ -73,9 +73,8 @@ choice
 		depends on !BR2_cortex_a12 && !BR2_pj4
 		# Broken or unsupported PPC cores
 		depends on !BR2_power8
-		# Broken or unsupported SPARC cores
-		depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
-			&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		# SPARC -mcpu=leon3 appeared in gcc 4.8.3
+		depends on !BR2_sparc_leon3
 		# Broken or unsupported x86 cores
 		depends on !BR2_x86_jaguar
 		select BR2_GCC_NEEDS_MPC
@@ -89,9 +88,6 @@ choice
 		depends on !BR2_cortex_a12
 		# Broken or unsupported PPC cores
 		depends on !BR2_power8
-		# Broken or unsupported SPARC cores
-		depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
-			&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
 		select BR2_GCC_NEEDS_MPC
 		select BR2_GCC_SUPPORTS_GRAPHITE
 
@@ -105,9 +101,6 @@ choice
 		bool "gcc 4.9.x"
 		# Broken or unsupported architectures
 		depends on !BR2_arc && !BR2_avr32 && !BR2_bfin
-		# Broken or unsupported SPARC cores
-		depends on !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 \
-			&& !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
 		# PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
 		select BR2_GCC_NEEDS_MPC
 		select BR2_GCC_SUPPORTS_GRAPHITE
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 1/2 arch: sparc: Add leon3 cpu type and remove sparc{s, h}fleon{, v8}

Dear Andreas Larsson,

Quoted 11 lines · Andreas Larsson

There is support for -mcpu=leon3 from gcc 4.8.3. Use this for LEON systems instead of the non-mainline targets sparcsfleon, sparchfleon, sparcsfleonv8, and sparchfleonv8.

---
 arch/Config.in.sparc                   |   15 +-
 package/gcc/4.4.7/950-sparc-leon.patch |  239 --------------------------------
 package/gcc/Config.in.host             |   19 +--
 3 files changed, 9 insertions(+), 264 deletions(-)
 delete mode 100644 package/gcc/4.4.7/950-sparc-leon.patch

I've added some Config.in.legacy handling for the removed options, and committed your patch. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 2/2 gcc: remove version 4.4.x

In reply to Andreas Larsson

That gcc series is old and is not used as the default version for any of the architectures we support, so this commit gets rid of it.

---
 Config.in.legacy                                   |    7 +
 package/gcc/4.4.7/100-uclibc-conf.patch            |   13 --
 package/gcc/4.4.7/301-missing-execinfo_h.patch     |   11 --
 package/gcc/4.4.7/302-c99-snprintf.patch           |   13 --
 .../gcc/4.4.7/305-libmudflap-susv3-legacy.patch    |   49 -------
 package/gcc/4.4.7/810-arm-softfloat-libgcc.patch   |   38 ------
 package/gcc/4.4.7/gcc-44-pr39429.patch             |   24 ----
 .../powerpc-link-with-math-lib.patch.conditional   |  137 --------------------
 package/gcc/Config.in.host                         |   24 ----
 9 files changed, 7 insertions(+), 309 deletions(-)
 delete mode 100644 package/gcc/4.4.7/100-uclibc-conf.patch
 delete mode 100644 package/gcc/4.4.7/301-missing-execinfo_h.patch
 delete mode 100644 package/gcc/4.4.7/302-c99-snprintf.patch
 delete mode 100644 package/gcc/4.4.7/305-libmudflap-susv3-legacy.patch
 delete mode 100644 package/gcc/4.4.7/810-arm-softfloat-libgcc.patch
 delete mode 100644 package/gcc/4.4.7/gcc-44-pr39429.patch
 delete mode 100644 package/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional
Config.in.legacy +7 -0
index b441e67..ffed7b9 100644
@@ -220,6 +220,13 @@ config BR2_GCC_VERSION_4_3_X
 	  The 4.3.x version of gcc has been removed. Use a newer
 	  version instead.
 
+config BR2_GCC_VERSION_4_4_X
+	bool "gcc 4.4.x has been removed"
+	select BR2_LEGACY
+	help
+	  The 4.4.x version of gcc has been removed. Use a newer
+	  version instead.
+
 config BR2_GCC_VERSION_4_6_X
 	bool "gcc 4.6.x has been removed"
 	select BR2_LEGACY
package/gcc/4.4.7/100-uclibc-conf.patch deleted +0 -13
deleted file mode 100644
index 6bad179..0000000
@@ -1,13 +0,0 @@
---- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh
-+++ gcc/contrib/regression/objs-gcc.sh
-@@ -105,6 +105,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
package/gcc/4.4.7/301-missing-execinfo_h.patch deleted +0 -11
deleted file mode 100644
index 0e2092f..0000000
@@ -1,11 +0,0 @@
---- gcc-4.0.0/boehm-gc/include/gc.h-orig	2005-04-28 22:28:57.000000000 -0500
-+++ gcc-4.0.0/boehm-gc/include/gc.h	2005-04-28 22:30:38.000000000 -0500
-@@ -500,7 +500,7 @@
- #ifdef __linux__
- # 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
package/gcc/4.4.7/302-c99-snprintf.patch deleted +0 -13
deleted file mode 100644
index ba51a0e..0000000
@@ -1,13 +0,0 @@
-Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio
-===================================================================
---- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio	(revision 129202)
-+++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio	(working copy)
-@@ -144,7 +144,7 @@
- 
- _GLIBCXX_END_NAMESPACE
- 
--#if _GLIBCXX_USE_C99
-+#if _GLIBCXX_USE_C99 || defined __UCLIBC__
- 
- #undef snprintf
- #undef vfscanf
package/gcc/4.4.7/305-libmudflap-susv3-legacy.patch deleted +0 -49

49 lines not on this page · raw message

package/gcc/4.4.7/810-arm-softfloat-libgcc.patch deleted +0 -38
deleted file mode 100644
index e6a30a3..0000000
@@ -1,38 +0,0 @@
-[PATCH] add the correct symbols to libgcc for uclibc arm softfloat
-
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- gcc/config/arm/linux-elf.h |    2 +-
- gcc/config/arm/t-linux     |    6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-Index: gcc-4.4.0/gcc/config/arm/t-linux
-===================================================================
---- gcc-4.4.0.orig/gcc/config/arm/t-linux
-+++ gcc-4.4.0/gcc/config/arm/t-linux
-@@ -4,7 +4,11 @@
- 
- LIB1ASMSRC = arm/lib1funcs.asm
- LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
--	_arm_addsubdf3 _arm_addsubsf3
-+	_arm_addsubdf3 _arm_addsubsf3 \
-+	_arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
-+	_arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
-+	_arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
-+	_arm_fixsfsi _arm_fixunssfsi
- 
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
-Index: gcc-4.4.0/gcc/config/arm/linux-elf.h
-===================================================================
---- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h
-+++ gcc-4.4.0/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"
- 
package/gcc/4.4.7/gcc-44-pr39429.patch deleted +0 -24
deleted file mode 100644
index 4e1dc9e..0000000
@@ -1,24 +0,0 @@
-From: Michael Olbrich <[email protected]>
-Subject: Fix: compiler create bad asm codes.
-
-See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details.
-
-Signed-off-by: Michael Olbrich <[email protected]>
-
----
- gcc/config/arm/arm.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: b/gcc/config/arm/arm.c
-===================================================================
---- a/gcc/config/arm/arm.c
-+++ b/gcc/config/arm/arm.c
-@@ -6838,7 +6838,7 @@ adjacent_mem_locations (rtx a, rtx b)
-       /* Don't accept any offset that will require multiple
- 	 instructions to handle, since this would cause the
- 	 arith_adjacentmem pattern to output an overlong sequence.  */
--      if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
-+      if (!const_ok_for_op (val0, PLUS) || !const_ok_for_op (val1, PLUS))
- 	return 0;
- 
-       /* Don't allow an eliminable register: register elimination can make
package/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional deleted +0 -137

137 lines not on this page · raw message

package/gcc/Config.in.host +0 -24
index 8bf1051..ba23c64 100644
@@ -21,29 +21,6 @@ choice
 		# Only supported architecture
 		depends on BR2_avr32
 
-	config BR2_GCC_VERSION_4_4_X
-		bool "gcc 4.4.x"
-		# Broken or unsupported architectures
-		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
-			&& !BR2_avr32 && !BR2_powerpc64le
-		# Broken or unsupported ARM cores
-		depends on !BR2_cortex_a5 && !BR2_cortex_a7 && \
-			!BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_fa526 && \
-			!BR2_pj4
-		# SPARC -mcpu=leon3 appeared in gcc 4.8.3
-		depends on !BR2_sparc_leon3
-		# ARM EABIhf support appeared in gcc 4.6
-		depends on !BR2_ARM_EABIHF
-		# ARM VFPv4 support appeared in gcc 4.5
-		depends on !BR2_ARM_FPU_VFPV4 && !BR2_ARM_FPU_VFPV4D16
-		# Broken or unsupported PPC cores
-		depends on !BR2_powerpc_476 && !BR2_powerpc_476fp \
-			&& !BR2_power8
-		# Broken or unsupported x86 cores
-		depends on !BR2_x86_atom && !BR2_x86_corei7 && !BR2_x86_jaguar
-		# musl patches only for gcc 4.7+
-		depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
-
 	config BR2_GCC_VERSION_4_5_X
 		bool "gcc 4.5.x"
 		# Broken or unsupported architectures
@@ -114,7 +91,6 @@ config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
 config BR2_GCC_VERSION
 	string
 	default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
-	default "4.4.7"     if BR2_GCC_VERSION_4_4_X
 	default "4.5.4"     if BR2_GCC_VERSION_4_5_X
 	default "4.7.4"     if BR2_GCC_VERSION_4_7_X
 	default "4.8.3"     if BR2_GCC_VERSION_4_8_X
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH 2/2 gcc: remove version 4.4.x

Dear Andreas Larsson,

Quoted 14 lines · Andreas Larsson

That gcc series is old and is not used as the default version for any of the architectures we support, so this commit gets rid of it.

---
 Config.in.legacy                                   |    7 +
 package/gcc/4.4.7/100-uclibc-conf.patch            |   13 --
 package/gcc/4.4.7/301-missing-execinfo_h.patch     |   11 --
 package/gcc/4.4.7/302-c99-snprintf.patch           |   13 --
 .../gcc/4.4.7/305-libmudflap-susv3-legacy.patch    |   49 -------
 package/gcc/4.4.7/810-arm-softfloat-libgcc.patch   |   38 ------
 package/gcc/4.4.7/gcc-44-pr39429.patch             |   24 ----
 .../powerpc-link-with-math-lib.patch.conditional   |  137 --------------------
 package/gcc/Config.in.host                         |   24 ----
Quoted 8 lines
 9 files changed, 7 insertions(+), 309 deletions(-)
 delete mode 100644 package/gcc/4.4.7/100-uclibc-conf.patch
 delete mode 100644 package/gcc/4.4.7/301-missing-execinfo_h.patch
 delete mode 100644 package/gcc/4.4.7/302-c99-snprintf.patch
 delete mode 100644 package/gcc/4.4.7/305-libmudflap-susv3-legacy.patch
 delete mode 100644 package/gcc/4.4.7/810-arm-softfloat-libgcc.patch
 delete mode 100644 package/gcc/4.4.7/gcc-44-pr39429.patch
 delete mode 100644 package/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional

I moved the Config.in.legacy option to the right place and applied. You placed the Config.in.legacy option together with the other gcc versions that were deprecated. But that's not how Config.in.legacy works: it works by classifying options by the Buildroot version in which they were deprecated.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com