* [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1
@ 2011-12-30 20:10 Gustavo Zacarias
2011-12-30 20:10 ` [Buildroot] [PATCH 2/2] toolchain: add powerpc SPE ABI support Gustavo Zacarias
2012-01-02 14:55 ` [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1 Peter Korsgaard
0 siblings, 2 replies; 3+ messages in thread
From: Gustavo Zacarias @ 2011-12-30 20:10 UTC (permalink / raw)
To: buildroot
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
toolchain/uClibc/Config.in | 2 +-
.../uClibc-0.9.32-Fix-e500-fpu-libm-build.patch | 31 -----------------
...-0.9.32-fix-daylight-saving-time-handling.patch | 36 --------------------
...ibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch | 28 ---------------
..._libc_epoll_pwait-compile-failure-on-x86.patch} | 0
...-e500-__fe_nomask_env-use-of-__set_errno.patch} | 0
...> uClibc-0.9.32.1-linuxthreads-errno-fix.patch} | 0
...patch => uClibc-0.9.32.1-sparc-errno-fix.patch} | 0
...unshare.patch => uClibc-0.9.32.1-unshare.patch} | 0
9 files changed, 1 insertions(+), 96 deletions(-)
delete mode 100644 toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch
delete mode 100644 toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch
delete mode 100644 toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch
rename toolchain/uClibc/{uClibc-0.9.32-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch => uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch} (100%)
rename toolchain/uClibc/{uClibc-0.9.32-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch => uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch} (100%)
rename toolchain/uClibc/{uClibc-0.9.32-linuxthreads-errno-fix.patch => uClibc-0.9.32.1-linuxthreads-errno-fix.patch} (100%)
rename toolchain/uClibc/{uClibc-0.9.32-sparc-errno-fix.patch => uClibc-0.9.32.1-sparc-errno-fix.patch} (100%)
rename toolchain/uClibc/{uClibc-0.9.32-unshare.patch => uClibc-0.9.32.1-unshare.patch} (100%)
diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in
index 4b480fd..19c71e0 100644
--- a/toolchain/uClibc/Config.in
+++ b/toolchain/uClibc/Config.in
@@ -32,7 +32,7 @@ config BR2_USE_UCLIBC_SNAPSHOT
config BR2_UCLIBC_VERSION_STRING
string
default 0.9.31.1 if BR2_UCLIBC_VERSION_0_9_31
- default 0.9.32 if BR2_UCLIBC_VERSION_0_9_32
+ default 0.9.32.1 if BR2_UCLIBC_VERSION_0_9_32
default $BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT
config BR2_UCLIBC_CONFIG
diff --git a/toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch b/toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch
deleted file mode 100644
index a228bc1..0000000
--- a/toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch
+++ /dev/null
@@ -1,31 +0,0 @@
->From 826984dee547b41238dc9572a1c756506a3c9148 Mon Sep 17 00:00:00 2001
-From: Jason Woodward <jason.woodward@timesys.com>
-Date: Sat, 11 Jun 2011 19:09:53 -0400
-Subject: [PATCH] Fix e500 fpu libm build
-
-Define libm_ARCH_fpu_OUT in libm/powerpc/e500/Makefile.arch as it is used
-in libm/powerpc/e500/fpu/Makefile.arch
-
- libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC))
-
-This appears to have been broken since cd3a494e99fa4bcad1c2a621b71361005528bead
-
-Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
----
- libm/powerpc/e500/Makefile.arch | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/libm/powerpc/e500/Makefile.arch b/libm/powerpc/e500/Makefile.arch
-index 912ce7f..febde67 100644
---- a/libm/powerpc/e500/Makefile.arch
-+++ b/libm/powerpc/e500/Makefile.arch
-@@ -6,5 +6,6 @@
- #
-
- libm_ARCH_fpu_DIR := $(libm_SUBARCH_DIR)/fpu
-+libm_ARCH_fpu_OUT := $(libm_SUBARCH_OUT)/fpu
- -include $(libm_ARCH_fpu_DIR)/Makefile.arch
-
---
-1.7.0.4
-
diff --git a/toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch b/toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch
deleted file mode 100644
index 5a96113..0000000
--- a/toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 47f3da1cf49377c25772bb54d07db55225bbb142 Mon Sep 17 00:00:00 2001
-From: Guillaume Bourcier <guillaumebourcier@free.fr>
-Date: Tue, 11 Oct 2011 13:45:33 +0200
-Subject: [PATCH] libc: fix daylight saving time handling
-
-The algorithm computing daylight saving time incorrectly adds a day for
-each month after January for leap years. The clock shift from/to DST can
-be delayed if the last Sunday of a transition month is exactly seven
-days before the first of the following month.
-
-This change adds a day for the February month only.
-
-Signed-off-by: Guillaume Bourcier <guillaumebourcier@free.fr>
-Signed-off-by: Richard Braun <rbraun@sceen.net>
-Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
----
- libc/misc/time/time.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
-index 19d68e1..8e2ebf1 100644
---- a/libc/misc/time/time.c
-+++ b/libc/misc/time/time.c
-@@ -689,7 +689,7 @@ static int tm_isdst(register const struct tm *__restrict ptm,
- ++day;
- }
- monlen = 31 + day_cor[r->month -1] - day_cor[r->month];
-- if (isleap && (r->month > 1)) {
-+ if (isleap && (r->month == 2)) {
- ++monlen;
- }
- /* Wweekday (0 is Sunday) of 1st of the month
---
-1.7.3.4
-
diff --git a/toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch b/toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch
deleted file mode 100644
index c90c34c..0000000
--- a/toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch
+++ /dev/null
@@ -1,28 +0,0 @@
->From 69d9cf20955d0222a5a2631021bc10854ea98128 Mon Sep 17 00:00:00 2001
-From: Jason Woodward <jason.woodward@timesys.com>
-Date: Sat, 11 Jun 2011 20:39:33 -0400
-Subject: [PATCH] honor UCLIBC_HAS_FENV for e500
-
-Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
----
- libm/powerpc/e500/fpu/Makefile.arch | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/libm/powerpc/e500/fpu/Makefile.arch b/libm/powerpc/e500/fpu/Makefile.arch
-index 8f00e09..904561e 100644
---- a/libm/powerpc/e500/fpu/Makefile.arch
-+++ b/libm/powerpc/e500/fpu/Makefile.arch
-@@ -6,8 +6,10 @@
- #
-
-
-+ifeq ($(UCLIBC_HAS_FENV),y)
- libm_ARCH_SRC:=$(wildcard $(libm_ARCH_fpu_DIR)/*.c)
- libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC))
-+endif
-
- libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
-
---
-1.7.0.4
-
diff --git a/toolchain/uClibc/uClibc-0.9.32-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch b/toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch
similarity index 100%
rename from toolchain/uClibc/uClibc-0.9.32-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch
rename to toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch
diff --git a/toolchain/uClibc/uClibc-0.9.32-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch b/toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch
similarity index 100%
rename from toolchain/uClibc/uClibc-0.9.32-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch
rename to toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch
diff --git a/toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch
similarity index 100%
rename from toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch
rename to toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch
diff --git a/toolchain/uClibc/uClibc-0.9.32-sparc-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch
similarity index 100%
rename from toolchain/uClibc/uClibc-0.9.32-sparc-errno-fix.patch
rename to toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch
diff --git a/toolchain/uClibc/uClibc-0.9.32-unshare.patch b/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch
similarity index 100%
rename from toolchain/uClibc/uClibc-0.9.32-unshare.patch
rename to toolchain/uClibc/uClibc-0.9.32.1-unshare.patch
--
1.7.3.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 2/2] toolchain: add powerpc SPE ABI support
2011-12-30 20:10 [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1 Gustavo Zacarias
@ 2011-12-30 20:10 ` Gustavo Zacarias
2012-01-02 14:55 ` [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1 Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Gustavo Zacarias @ 2011-12-30 20:10 UTC (permalink / raw)
To: buildroot
Add the ability for buildroot to build an SPE ABI enabled toolchain.
This is mandatory for e500v1/v2 cores since they don't support classic
FPU mode as the e500mc does.
Useful for Freescale's PowerQUICC III and single/dual-core QorIQ
line of processors.
The new TARGET_ABI variable is used rather than TARGET_CFLAGS for
uclibc's CPU_CFLAGS to avoid breakish CFLAGS leaking in, a good example
being -mthumb for ARM.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/Makefile.in | 17 ++++++++++++++++-
target/Config.in.arch | 21 ++++++++++++++++++++-
toolchain/gcc/Makefile.in | 5 +++++
toolchain/uClibc/uclibc.mk | 8 +++++++-
4 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/package/Makefile.in b/package/Makefile.in
index c3af5d3..dc8d038 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -31,6 +31,21 @@ ABI=eabi
endif
endif
+# For FSL PowerPC there's SPE
+ifeq ($(BR2_powerpc_SPE),y)
+ABI=spe
+# MPC8540s are e500v1 with single precision FP
+ifeq ($(BR2_powerpc_8540),y)
+TARGET_ABI+=-mabi=spe -mfloat-gprs=single -Wa,-me500
+endif
+ifeq ($(BR2_powerpc_8548),y)
+TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500x2
+endif
+ifeq ($(BR2_powerpc_e500mc),y)
+TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500mc
+endif
+endif
+
REAL_GNU_TARGET_NAME=$(ARCH)-unknown-linux-$(LIBC)$(ABI)
STAGING_DIR=$(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sysroot
@@ -60,7 +75,7 @@ ifeq ($(BR2_DEBUG_3),y)
TARGET_DEBUGGING=-g3
endif
-TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
+TARGET_CFLAGS=$(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
ifneq ($(BR2_PREFER_STATIC_LIB),y)
ifeq ($(BR2_x86_64),y)
diff --git a/target/Config.in.arch b/target/Config.in.arch
index 5e9fad4..417441d 100644
--- a/target/Config.in.arch
+++ b/target/Config.in.arch
@@ -447,7 +447,9 @@ config BR2_powerpc_860
config BR2_powerpc_970
bool "970"
config BR2_powerpc_8540
- bool "8540"
+ bool "8540 / e500v1"
+config BR2_powerpc_8548
+ bool "8548 / e500v2"
comment "e300c2 needs gcc >= 4.4.x"
config BR2_powerpc_e300c2
bool "e300c2"
@@ -459,6 +461,22 @@ config BR2_powerpc_e500mc
bool "e500mc"
endchoice
+choice
+ prompt "Target ABI"
+ depends on BR2_powerpc
+ default BR2_powerpc_CLASSIC if BR2_powerpc_e500mc
+ default BR2_powerpc_SPE if BR2_powerpc_8540 || BR2_powerpc_8548
+ help
+ Application Binary Interface to use
+
+config BR2_powerpc_CLASSIC
+ bool "Classic"
+ depends on !(BR2_powerpc_8540 || BR2_powerpc_8548)
+config BR2_powerpc_SPE
+ bool "SPE"
+ depends on BR2_powerpc_8540 || BR2_powerpc_8548 || BR2_powerpc_e500mc
+endchoice
+
config BR2_ARCH
string
default "arm" if BR2_arm
@@ -614,6 +632,7 @@ config BR2_GCC_TARGET_TUNE
default 860 if BR2_powerpc_860
default 970 if BR2_powerpc_970
default 8540 if BR2_powerpc_8540
+ default 8548 if BR2_powerpc_8548
default e300c2 if BR2_powerpc_e300c2
default e300c3 if BR2_powerpc_e300c3
default e500mc if BR2_powerpc_e500mc
diff --git a/toolchain/gcc/Makefile.in b/toolchain/gcc/Makefile.in
index 2e55ed0..d9efcf0 100644
--- a/toolchain/gcc/Makefile.in
+++ b/toolchain/gcc/Makefile.in
@@ -47,6 +47,11 @@ EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap
SOFT_FLOAT_CONFIG_OPTION:=
endif
+# Disable mudflap and enable proper double/long double for SPE ABI
+ifeq ($(BR2_powerpc_SPE),y)
+EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap --enable-e500_double --with-long-double-128
+endif
+
ifeq ($(BR2_PACKAGE_GCC_TARGET),y)
EXTRA_TARGET_GCC_CONFIG_OPTIONS:=
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index fbfb0df..adaf545 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -217,7 +217,7 @@ ifeq ($(UCLIBC_TARGET_ARCH),sparc)
$(SED) 's/^.*$(UCLIBC_SPARC_TYPE)[^B].*/$(UCLIBC_SPARC_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(UCLIBC_TARGET_ARCH),powerpc)
-ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_e500mc),y)
+ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc),y)
/bin/echo "# CONFIG_CLASSIC is not set" >> $(UCLIBC_DIR)/.oldconfig
/bin/echo "CONFIG_E500=y" >> $(UCLIBC_DIR)/.oldconfig
else
@@ -385,6 +385,7 @@ $(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.oldconfig
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ CPU_CFLAGS="$(TARGET_ABI)" \
HOSTCC="$(HOSTCC)" \
oldconfig
touch $@
@@ -403,6 +404,7 @@ $(UCLIBC_DIR)/.configured: $(LINUX_HEADERS_DIR)/.configured $(UCLIBC_DIR)/.confi
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ CPU_CFLAGS="$(TARGET_ABI)" \
HOSTCC="$(HOSTCC)" headers \
lib/crt1.o lib/crti.o lib/crtn.o \
install_headers
@@ -424,6 +426,7 @@ $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(gcc_intermediate) $(LIBFLO
DEVEL_PREFIX=/ \
RUNTIME_PREFIX=/ \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ CPU_CFLAGS="$(TARGET_ABI)" \
HOSTCC="$(HOSTCC)" \
all
touch -c $@
@@ -435,6 +438,7 @@ uclibc-menuconfig: dirs $(UCLIBC_DIR)/.config
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ CPU_CFLAGS="$(TARGET_ABI)" \
HOSTCC="$(HOSTCC)" \
menuconfig && \
touch -c $(UCLIBC_DIR)/.config
@@ -447,6 +451,7 @@ $(STAGING_DIR)/usr/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=/ \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ CPU_CFLAGS="$(TARGET_ABI)" \
install_runtime install_dev
# Install the kernel headers to the staging dir if necessary
if [ ! -f $(STAGING_DIR)/usr/include/linux/version.h ]; then \
@@ -477,6 +482,7 @@ $(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/usr/lib/libc.a
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=/ \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ CPU_CFLAGS="$(TARGET_ABI)" \
install_runtime
touch -c $@
--
1.7.3.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1
2011-12-30 20:10 [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1 Gustavo Zacarias
2011-12-30 20:10 ` [Buildroot] [PATCH 2/2] toolchain: add powerpc SPE ABI support Gustavo Zacarias
@ 2012-01-02 14:55 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2012-01-02 14:55 UTC (permalink / raw)
To: buildroot
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:
Gustavo> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-01-02 14:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-30 20:10 [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1 Gustavo Zacarias
2011-12-30 20:10 ` [Buildroot] [PATCH 2/2] toolchain: add powerpc SPE ABI support Gustavo Zacarias
2012-01-02 14:55 ` [Buildroot] [PATCH 1/2] uClibc: bump 0.9.32.x version to 0.9.32.1 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.