* [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series
@ 2014-04-24 1:00 Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 2/6] arm: update processor types Gustavo Zacarias
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2014-04-24 1:00 UTC (permalink / raw)
To: buildroot
Add the recently released gcc 4.9.0.
Use 4.8.2 patches and remove those that no longer apply/are needed
(mostly PR fixes and xtensa).
libmudflap was removed upstream.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/gcc/4.9.0/100-uclibc-conf.patch | 15 +++
package/gcc/4.9.0/301-missing-execinfo_h.patch | 13 +++
package/gcc/4.9.0/302-c99-snprintf.patch | 13 +++
package/gcc/4.9.0/810-arm-softfloat-libgcc.patch | 30 +++++
package/gcc/4.9.0/830-arm_unbreak_armv4t.patch | 13 +++
.../powerpc-link-with-math-lib.patch.conditional | 122 +++++++++++++++++++++
package/gcc/Config.in.host | 7 ++
7 files changed, 213 insertions(+)
create mode 100644 package/gcc/4.9.0/100-uclibc-conf.patch
create mode 100644 package/gcc/4.9.0/301-missing-execinfo_h.patch
create mode 100644 package/gcc/4.9.0/302-c99-snprintf.patch
create mode 100644 package/gcc/4.9.0/810-arm-softfloat-libgcc.patch
create mode 100644 package/gcc/4.9.0/830-arm_unbreak_armv4t.patch
create mode 100644 package/gcc/4.9.0/powerpc-link-with-math-lib.patch.conditional
diff --git a/package/gcc/4.9.0/100-uclibc-conf.patch b/package/gcc/4.9.0/100-uclibc-conf.patch
new file mode 100644
index 0000000..d56bf0a
--- /dev/null
+++ b/package/gcc/4.9.0/100-uclibc-conf.patch
@@ -0,0 +1,15 @@
+Index: gcc-4.8.0/contrib/regression/objs-gcc.sh
+===================================================================
+--- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200
++++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100
+@@ -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
diff --git a/package/gcc/4.9.0/301-missing-execinfo_h.patch b/package/gcc/4.9.0/301-missing-execinfo_h.patch
new file mode 100644
index 0000000..00efda2
--- /dev/null
+++ b/package/gcc/4.9.0/301-missing-execinfo_h.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.8.0/boehm-gc/include/gc.h
+===================================================================
+--- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
++++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100
+@@ -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
diff --git a/package/gcc/4.9.0/302-c99-snprintf.patch b/package/gcc/4.9.0/302-c99-snprintf.patch
new file mode 100644
index 0000000..cd4d2cc
--- /dev/null
+++ b/package/gcc/4.9.0/302-c99-snprintf.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.8.0/libstdc++-v3/include/c_global/cstdio
+===================================================================
+--- gcc-4.8.0.orig/libstdc++-v3/include/c_global/cstdio 2013-02-03 18:54:05.000000000 +0100
++++ gcc-4.8.0/libstdc++-v3/include/c_global/cstdio 2013-03-23 17:39:32.000000000 +0100
+@@ -138,7 +138,7 @@
+ using ::vsprintf;
+ } // namespace
+
+-#if _GLIBCXX_USE_C99
++#if _GLIBCXX_USE_C99 || defined __UCLIBC__
+
+ #undef snprintf
+ #undef vfscanf
diff --git a/package/gcc/4.9.0/810-arm-softfloat-libgcc.patch b/package/gcc/4.9.0/810-arm-softfloat-libgcc.patch
new file mode 100644
index 0000000..c8cb377
--- /dev/null
+++ b/package/gcc/4.9.0/810-arm-softfloat-libgcc.patch
@@ -0,0 +1,30 @@
+Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100
+@@ -55,7 +55,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+Index: gcc-4.8.0/libgcc/config/arm/t-linux
+===================================================================
+--- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100
++++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100
+@@ -1,6 +1,11 @@
+ LIB1ASMSRC = arm/lib1funcs.S
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
+- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
++ _ctzsi2 _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
+
+ # Just for these, we omit the frame pointer since it makes such a big
+ # difference.
diff --git a/package/gcc/4.9.0/830-arm_unbreak_armv4t.patch b/package/gcc/4.9.0/830-arm_unbreak_armv4t.patch
new file mode 100644
index 0000000..37f8f2a
--- /dev/null
+++ b/package/gcc/4.9.0/830-arm_unbreak_armv4t.patch
@@ -0,0 +1,13 @@
+http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
+
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -45,7 +45,7 @@
+ The ARM10TDMI core is the default for armv5t, so set
+ SUBTARGET_CPU_DEFAULT to achieve this. */
+ #undef SUBTARGET_CPU_DEFAULT
+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
+
+ /* TARGET_BIG_ENDIAN_DEFAULT is set in
+ config.gcc for big endian configurations. */
diff --git a/package/gcc/4.9.0/powerpc-link-with-math-lib.patch.conditional b/package/gcc/4.9.0/powerpc-link-with-math-lib.patch.conditional
new file mode 100644
index 0000000..b7094fe
--- /dev/null
+++ b/package/gcc/4.9.0/powerpc-link-with-math-lib.patch.conditional
@@ -0,0 +1,122 @@
+http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
+
+On glibc the libc.so carries a copy of the math function copysignl() but
+on uClibc math functions like copysignl() live in libm. Since libgcc_s
+contains unresolved symbols, any attempt to link against libgcc_s
+without explicitely specifying -lm fails, resulting in a broken
+bootstrap of the compiler.
+
+Forward port to gcc 4.5.1 by Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+---
+ libgcc/Makefile.in | 4 +++-
+ libgcc/configure | 32 ++++++++++++++++++++++++++++++++
+ libgcc/configure.ac | 21 +++++++++++++++++++++
+ 3 files changed, 56 insertions(+), 1 deletion(-)
+
+Index: gcc-4.8.0/libgcc/Makefile.in
+===================================================================
+--- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100
++++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100
+@@ -41,6 +41,7 @@
+ decimal_float = @decimal_float@
+ enable_decimal_float = @enable_decimal_float@
+ fixed_point = @fixed_point@
++LIBGCC_LIBM = @LIBGCC_LIBM@
+
+ host_noncanonical = @host_noncanonical@
+ target_noncanonical = @target_noncanonical@
+@@ -927,9 +928,10 @@
+ @multilib_dir@,$(MULTIDIR),$(subst \
+ @shlib_objs@,$(objects) libgcc.a,$(subst \
+ @shlib_base_name@,libgcc_s,$(subst \
++ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \
+ @shlib_map_file@,$(mapfile),$(subst \
+ @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
+- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
++ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
+
+ libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
+ # @multilib_flags@ is still needed because this may use
+Index: gcc-4.8.0/libgcc/configure
+===================================================================
+--- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100
++++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100
+@@ -564,6 +564,7 @@
+ tmake_file
+ sfp_machine_header
+ set_use_emutls
++LIBGCC_LIBM
+ set_have_cc_tls
+ vis_hide
+ fixed_point
+@@ -4481,6 +4482,37 @@
+ fi
+ fi
+
++# On powerpc libgcc_s references copysignl which is a libm function but
++# glibc apparently also provides it via libc as opposed to uClibc where
++# it lives in libm.
++echo "$as_me:$LINENO: checking for library containing copysignl" >&5
++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
++if test "${libgcc_cv_copysignl_lib+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ echo '#include <features.h>' > conftest.c
++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
++ libgcc_cv_copysignl_lib="-lc"
++ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }
++ then
++ libgcc_cv_copysignl_lib="-lm"
++ fi
++ rm -f conftest.*
++
++fi
++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
++
++case /${libgcc_cv_copysignl_lib}/ in
++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
++ *) LIBGCC_LIBM= ;;
++esac
+
+ # Conditionalize the makefile for this target machine.
+ tmake_file_=
+Index: gcc-4.8.0/libgcc/configure.ac
+===================================================================
+--- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200
++++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100
+@@ -326,6 +326,27 @@
+ fi
+ AC_SUBST(set_have_cc_tls)
+
++# On powerpc libgcc_s references copysignl which is a libm function but
++# glibc apparently also provides it via libc as opposed to uClibc where
++# it lives in libm.
++AC_CACHE_CHECK
++ libgcc_cv_copysignl_lib,
++ echo '#include <features.h>' > conftest.c
++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
++ libgcc_cv_copysignl_lib="-lc"
++ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
++ then
++ libgcc_cv_copysignl_lib="-lm"
++ fi
++ rm -f conftest.*
++ ])
++
++case /${libgcc_cv_copysignl_lib}/ in
++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
++ *) LIBGCC_LIBM= ;;
++esac
++AC_SUBST(LIBGCC_LIBM)
++
+ # See if we have emulated thread-local storage.
+ GCC_CHECK_EMUTLS
+ set_use_emutls=
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 4fd8ec9..6b44e94 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -58,6 +58,11 @@ choice
select BR2_GCC_NEEDS_MPC
bool "gcc 4.8-arc"
+ config BR2_GCC_VERSION_4_9_X
+ depends on !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+ select BR2_GCC_NEEDS_MPC
+ bool "gcc 4.9.x"
+
config BR2_GCC_VERSION_4_9_MICROBLAZE
depends on BR2_microblaze
select BR2_GCC_NEEDS_MPC
@@ -96,6 +101,7 @@ config BR2_GCC_VERSION
default "4.6.4" if BR2_GCC_VERSION_4_6_X
default "4.7.3" if BR2_GCC_VERSION_4_7_X
default "4.8.2" if BR2_GCC_VERSION_4_8_X
+ default "4.9.0" if BR2_GCC_VERSION_4_9_X
default "c6227bc154124e270f15793deddfa3fe18f7db54" if BR2_GCC_VERSION_4_8_ARC
default "b93bb009e021aba64dd4b8cdb0bbc5a176c55543" if BR2_GCC_VERSION_4_9_MICROBLAZE
default BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP
@@ -159,6 +165,7 @@ config BR2_GCC_ENABLE_LIBMUDFLAP
# There are architectures, or specific configurations for
# which mudflap is not supported.
depends on !BR2_avr32 && !BR2_bfin && !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
+ depends on !BR2_GCC_VERSION_4_9_X
help
libmudflap is a gcc library used for the mudflap pointer
debugging functionality. It is only needed if you intend to
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 2/6] arm: update processor types
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
@ 2014-04-24 1:00 ` Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 3/6] package/gcc: disable libsanitizer for uClibc Gustavo Zacarias
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2014-04-24 1:00 UTC (permalink / raw)
To: buildroot
Update the arm processor types: add the cortex A12 variant supported by
gcc 4.9.x
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
arch/Config.in.arm | 7 +++++++
package/gcc/Config.in.host | 12 ++++++------
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index dd58744..b7a9ed6 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -98,6 +98,11 @@ config BR2_cortex_a9
select BR2_ARM_CPU_MAYBE_HAS_NEON
select BR2_ARM_CPU_MAYBE_HAS_VFPV3
select BR2_ARM_CPU_HAS_THUMB2
+config BR2_cortex_a12
+ bool "cortex-A12"
+ select BR2_ARM_CPU_HAS_NEON
+ select BR2_ARM_CPU_HAS_VFPV4
+ select BR2_ARM_CPU_HAS_THUMB2
config BR2_cortex_a15
bool "cortex-A15"
select BR2_ARM_CPU_HAS_NEON
@@ -357,6 +362,7 @@ config BR2_GCC_TARGET_CPU
default "cortex-a7" if BR2_cortex_a7
default "cortex-a8" if BR2_cortex_a8
default "cortex-a9" if BR2_cortex_a9
+ default "cortex-a12" if BR2_cortex_a12
default "cortex-a15" if BR2_cortex_a15
default "fa526" if BR2_fa526
default "marvell-pj4" if BR2_pj4
@@ -379,6 +385,7 @@ config BR2_GCC_TARGET_ARCH
default "armv7-a" if BR2_cortex_a7
default "armv7-a" if BR2_cortex_a8
default "armv7-a" if BR2_cortex_a9
+ default "armv7-a" if BR2_cortex_a12
default "armv7-a" if BR2_cortex_a15
default "armv4" if BR2_fa526
default "armv7-a" if BR2_pj4
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 6b44e94..9b77951 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -19,12 +19,12 @@ choice
bool "gcc 4.2.2-avr32-2.1.5"
config BR2_GCC_VERSION_4_3_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
depends on !BR2_ARM_EABIHF
bool "gcc 4.3.x"
config BR2_GCC_VERSION_4_4_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
bool "gcc 4.4.x"
# ARM EABIhf support appeared in gcc 4.6
depends on !BR2_ARM_EABIHF
@@ -32,24 +32,24 @@ choice
depends on !BR2_ARM_FPU_VFPV4 && !BR2_ARM_FPU_VFPV4D16
config BR2_GCC_VERSION_4_5_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a15 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
select BR2_GCC_NEEDS_MPC
# ARM EABIhf support appeared in gcc 4.6
depends on !BR2_ARM_EABIHF
bool "gcc 4.5.x"
config BR2_GCC_VERSION_4_6_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
select BR2_GCC_NEEDS_MPC
bool "gcc 4.6.x"
config BR2_GCC_VERSION_4_7_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
select BR2_GCC_NEEDS_MPC
bool "gcc 4.7.x"
config BR2_GCC_VERSION_4_8_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+ depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
select BR2_GCC_NEEDS_MPC
bool "gcc 4.8.x"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 3/6] package/gcc: disable libsanitizer for uClibc
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 2/6] arm: update processor types Gustavo Zacarias
@ 2014-04-24 1:00 ` Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64 Gustavo Zacarias
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2014-04-24 1:00 UTC (permalink / raw)
To: buildroot
libsanitizer requires wordexp() support which we lack in our current
default uClibc configurations (and it's fat & big).
Hence disable it when the toolchain is uClibc-based.
It only affects gcc 4.9+ since it's default on now for supported
platforms.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/gcc/gcc.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index dff6dce..32219cc 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -125,6 +125,11 @@ ifneq ($(BR2_TOOLCHAIN_BUILDROOT_WCHAR),y)
HOST_GCC_COMMON_CONF_OPT += --disable-libquadmath
endif
+# libsanitizer requires wordexp, not in default uClibc config
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_UCLIBC),y)
+HOST_GCC_COMMON_CONF_OPT += --disable-libsanitizer
+endif
+
ifeq ($(BR2_GCC_ENABLE_TLS),y)
HOST_GCC_COMMON_CONF_OPT += --enable-tls
else
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 2/6] arm: update processor types Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 3/6] package/gcc: disable libsanitizer for uClibc Gustavo Zacarias
@ 2014-04-24 1:00 ` Gustavo Zacarias
2014-04-24 4:04 ` Baruch Siach
2014-04-24 1:00 ` [Buildroot] [PATCHv2 5/6] gcc: " Gustavo Zacarias
` (2 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Gustavo Zacarias @ 2014-04-24 1:00 UTC (permalink / raw)
To: buildroot
Versions lower than 2.24 fail to build a working kernel as in:
Freeing unused kernel memory: 184K (ffffffc00059a000 - ffffffc0005c8000)
init[1]: unhandled level 2 translation fault (11) at 0x00000008, esr
0x92000006
pgd = ffffffc876403000
[00000008] *pgd=00000008f6ea0003, *pmd=0000000000000000
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/binutils/Config.in.host | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 58738e8..2f86f51 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -14,30 +14,30 @@ choice
bool "binutils 2.18-avr32-1.0.1"
config BR2_BINUTILS_VERSION_2_20_1
- depends on !BR2_avr32
+ depends on !BR2_avr32 && !BR2_aarch64
depends on !BR2_ARM_EABIHF
bool "binutils 2.20.1"
config BR2_BINUTILS_VERSION_2_21
- depends on !BR2_avr32
+ depends on !BR2_avr32 && !BR2_aarch64
depends on !BR2_ARM_EABIHF
bool "binutils 2.21"
config BR2_BINUTILS_VERSION_2_21_1
- depends on !BR2_avr32
+ depends on !BR2_avr32 && !BR2_aarch64
depends on !BR2_ARM_EABIHF
bool "binutils 2.21.1"
config BR2_BINUTILS_VERSION_2_22
- depends on !BR2_avr32
+ depends on !BR2_avr32 && !BR2_aarch64
bool "binutils 2.22"
config BR2_BINUTILS_VERSION_2_23_1
- depends on !BR2_avr32
+ depends on !BR2_avr32 && !BR2_aarch64
bool "binutils 2.23.1"
config BR2_BINUTILS_VERSION_2_23_2
- depends on !BR2_avr32
+ depends on !BR2_avr32 && !BR2_aarch64
bool "binutils 2.23.2"
config BR2_BINUTILS_VERSION_2_24
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 5/6] gcc: enable for aarch64
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
` (2 preceding siblings ...)
2014-04-24 1:00 ` [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64 Gustavo Zacarias
@ 2014-04-24 1:00 ` Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 6/6] toolchain: enable internal " Gustavo Zacarias
2014-04-24 13:22 ` [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Peter Korsgaard
5 siblings, 0 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2014-04-24 1:00 UTC (permalink / raw)
To: buildroot
Only version 4.8+ supports it so keep it narrowed down.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/gcc/Config.in.host | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 9b77951..ca991da 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -7,6 +7,7 @@ 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_X if BR2_aarch64
default BR2_GCC_VERSION_4_8_ARC if BR2_arc
default BR2_GCC_VERSION_4_9_MICROBLAZE if BR2_microblaze
default BR2_GCC_VERSION_4_5_X if BR2_bfin
@@ -19,12 +20,12 @@ choice
bool "gcc 4.2.2-avr32-2.1.5"
config BR2_GCC_VERSION_4_3_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
depends on !BR2_ARM_EABIHF
bool "gcc 4.3.x"
config BR2_GCC_VERSION_4_4_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
bool "gcc 4.4.x"
# ARM EABIhf support appeared in gcc 4.6
depends on !BR2_ARM_EABIHF
@@ -32,19 +33,19 @@ choice
depends on !BR2_ARM_FPU_VFPV4 && !BR2_ARM_FPU_VFPV4D16
config BR2_GCC_VERSION_4_5_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
select BR2_GCC_NEEDS_MPC
# ARM EABIhf support appeared in gcc 4.6
depends on !BR2_ARM_EABIHF
bool "gcc 4.5.x"
config BR2_GCC_VERSION_4_6_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
select BR2_GCC_NEEDS_MPC
bool "gcc 4.6.x"
config BR2_GCC_VERSION_4_7_X
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
+ depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
select BR2_GCC_NEEDS_MPC
bool "gcc 4.7.x"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 6/6] toolchain: enable internal for aarch64
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
` (3 preceding siblings ...)
2014-04-24 1:00 ` [Buildroot] [PATCHv2 5/6] gcc: " Gustavo Zacarias
@ 2014-04-24 1:00 ` Gustavo Zacarias
2014-04-24 13:22 ` [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Peter Korsgaard
5 siblings, 0 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2014-04-24 1:00 UTC (permalink / raw)
To: buildroot
Enable the internal toolchain backend for aarch64.
Tested with arm_foundationv8_defconfig and ARMs foundation v8 emulator.
Both glibc & eglibc work.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
toolchain/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/Config.in b/toolchain/Config.in
index a1065ac..54b5d17 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -43,7 +43,7 @@ choice
config BR2_TOOLCHAIN_BUILDROOT
bool "Buildroot toolchain"
- depends on !BR2_aarch64 && !BR2_nios2
+ depends on !BR2_nios2
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
config BR2_TOOLCHAIN_EXTERNAL
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64
2014-04-24 1:00 ` [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64 Gustavo Zacarias
@ 2014-04-24 4:04 ` Baruch Siach
2014-04-24 13:20 ` Peter Korsgaard
0 siblings, 1 reply; 9+ messages in thread
From: Baruch Siach @ 2014-04-24 4:04 UTC (permalink / raw)
To: buildroot
Hi Gustavo,
On Wed, Apr 23, 2014 at 10:00:33PM -0300, Gustavo Zacarias wrote:
> Versions lower than 2.24 fail to build a working kernel as in:
>
> Freeing unused kernel memory: 184K (ffffffc00059a000 - ffffffc0005c8000)
> init[1]: unhandled level 2 translation fault (11) at 0x00000008, esr
> 0x92000006
> pgd = ffffffc876403000
> [00000008] *pgd=00000008f6ea0003, *pmd=0000000000000000
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
The subject line is misleading. This patch actually disables aarch64 for
binutils < 2.24.
baruch
> package/binutils/Config.in.host | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
> index 58738e8..2f86f51 100644
> --- a/package/binutils/Config.in.host
> +++ b/package/binutils/Config.in.host
> @@ -14,30 +14,30 @@ choice
> bool "binutils 2.18-avr32-1.0.1"
>
> config BR2_BINUTILS_VERSION_2_20_1
> - depends on !BR2_avr32
> + depends on !BR2_avr32 && !BR2_aarch64
> depends on !BR2_ARM_EABIHF
> bool "binutils 2.20.1"
>
> config BR2_BINUTILS_VERSION_2_21
> - depends on !BR2_avr32
> + depends on !BR2_avr32 && !BR2_aarch64
> depends on !BR2_ARM_EABIHF
> bool "binutils 2.21"
>
> config BR2_BINUTILS_VERSION_2_21_1
> - depends on !BR2_avr32
> + depends on !BR2_avr32 && !BR2_aarch64
> depends on !BR2_ARM_EABIHF
> bool "binutils 2.21.1"
>
> config BR2_BINUTILS_VERSION_2_22
> - depends on !BR2_avr32
> + depends on !BR2_avr32 && !BR2_aarch64
> bool "binutils 2.22"
>
> config BR2_BINUTILS_VERSION_2_23_1
> - depends on !BR2_avr32
> + depends on !BR2_avr32 && !BR2_aarch64
> bool "binutils 2.23.1"
>
> config BR2_BINUTILS_VERSION_2_23_2
> - depends on !BR2_avr32
> + depends on !BR2_avr32 && !BR2_aarch64
> bool "binutils 2.23.2"
>
> config BR2_BINUTILS_VERSION_2_24
> --
> 1.8.3.2
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64
2014-04-24 4:04 ` Baruch Siach
@ 2014-04-24 13:20 ` Peter Korsgaard
0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2014-04-24 13:20 UTC (permalink / raw)
To: buildroot
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes:
> Hi Gustavo,
> On Wed, Apr 23, 2014 at 10:00:33PM -0300, Gustavo Zacarias wrote:
>> Versions lower than 2.24 fail to build a working kernel as in:
>>
>> Freeing unused kernel memory: 184K (ffffffc00059a000 - ffffffc0005c8000)
>> init[1]: unhandled level 2 translation fault (11) at 0x00000008, esr
>> 0x92000006
>> pgd = ffffffc876403000
>> [00000008] *pgd=00000008f6ea0003, *pmd=0000000000000000
>>
>> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
>> ---
> The subject line is misleading. This patch actually disables aarch64 for
> binutils < 2.24.
Agreed. I have changed the subject to reflect that and committed,
thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
` (4 preceding siblings ...)
2014-04-24 1:00 ` [Buildroot] [PATCHv2 6/6] toolchain: enable internal " Gustavo Zacarias
@ 2014-04-24 13:22 ` Peter Korsgaard
5 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2014-04-24 13:22 UTC (permalink / raw)
To: buildroot
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:
> Add the recently released gcc 4.9.0.
> Use 4.8.2 patches and remove those that no longer apply/are needed
> (mostly PR fixes and xtensa).
> libmudflap was removed upstream.
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Committed series, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-04-24 13:22 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-24 1:00 [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 2/6] arm: update processor types Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 3/6] package/gcc: disable libsanitizer for uClibc Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 4/6] binutils: enable for aarch64 Gustavo Zacarias
2014-04-24 4:04 ` Baruch Siach
2014-04-24 13:20 ` Peter Korsgaard
2014-04-24 1:00 ` [Buildroot] [PATCHv2 5/6] gcc: " Gustavo Zacarias
2014-04-24 1:00 ` [Buildroot] [PATCHv2 6/6] toolchain: enable internal " Gustavo Zacarias
2014-04-24 13:22 ` [Buildroot] [PATCHv2 1/6] toolchain: add gcc 4.9 series Peter Korsgaard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.