mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
Architecture arm-rtems4.11 uses EABI.
Switch the arm-rtems4.11 to use EABI. The patch do this is taken from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53325.
This commit is contained in:
parent
2fd402d0f2
commit
9f04b64113
@ -2,7 +2,7 @@
|
||||
# Tools Set for RTEMS ARM 4.11 Stable
|
||||
#
|
||||
|
||||
%define _target arm-rtemseabi4.11
|
||||
%define _target arm-rtems4.11
|
||||
|
||||
%define release 1
|
||||
|
||||
@ -11,10 +11,15 @@
|
||||
#
|
||||
%include rtems-4.11-base.bset
|
||||
|
||||
#
|
||||
# Patch to enable EABI
|
||||
#
|
||||
Patch2: gcc-4.7-arm-to-eabi-20120511.diff
|
||||
|
||||
#
|
||||
# Tools configuration.
|
||||
#
|
||||
expat-2.1.0-1
|
||||
tools/rtems-binutils-2.22-1
|
||||
tools/rtems-gcc-4.6.3-newlib-1.20.0-1
|
||||
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
|
||||
tools/rtems-gdb-7.5-1
|
||||
|
102
rtems/patches/gcc-4.7-arm-to-eabi-20120511.diff
Normal file
102
rtems/patches/gcc-4.7-arm-to-eabi-20120511.diff
Normal file
@ -0,0 +1,102 @@
|
||||
commit a48b4fb1619e628f8ead188bc6687696e5468b0e
|
||||
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
Date: Fri May 4 09:30:32 2012 +0200
|
||||
|
||||
ARM RTEMS changes
|
||||
|
||||
2012-04-04 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* config.gcc (arm*-*-rtemself*): New.
|
||||
(arm*-*-rtems*): Removed.
|
||||
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
|
||||
"arm*-*-rtemseabi*" to "arm*-*-rtems*".
|
||||
|
||||
2012-04-04 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* config.host (arm*-*-rtemself*): New.
|
||||
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
|
||||
"arm*-*-rtemseabi*" to "arm*-*-rtems*".
|
||||
|
||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
||||
index a2c947d..27864b4 100644
|
||||
--- a/gcc/config.gcc
|
||||
+++ b/gcc/config.gcc
|
||||
@@ -251,7 +251,7 @@ case ${target} in
|
||||
| arm*-*-elf \
|
||||
| arm*-*-freebsd* \
|
||||
| arm*-*-linux* \
|
||||
- | arm*-*-rtems* \
|
||||
+ | arm*-*-rtemself* \
|
||||
| arm*-*-uclinux* \
|
||||
| arm*-wince-pe* \
|
||||
| mips-sgi-irix6.5 \
|
||||
@@ -885,7 +885,12 @@ arm*-*-ecos-elf)
|
||||
tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
|
||||
tmake_file="arm/t-arm arm/t-arm-elf"
|
||||
;;
|
||||
-arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
|
||||
+arm*-*-rtemself*)
|
||||
+ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
|
||||
+ tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
|
||||
+ use_gcc_stdint=provide
|
||||
+ ;;
|
||||
+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
|
||||
# The BPABI long long divmod functions return a 128-bit value in
|
||||
# registers r0-r3. Correctly modeling that requires the use of
|
||||
# TImode.
|
||||
@@ -899,9 +904,10 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
|
||||
tmake_file="${tmake_file} arm/t-bpabi"
|
||||
use_gcc_stdint=wrap
|
||||
;;
|
||||
- arm*-*-rtemseabi*)
|
||||
+ arm*-*-rtems*)
|
||||
tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h"
|
||||
tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi"
|
||||
+ use_gcc_stdint=provide
|
||||
;;
|
||||
arm*-*-symbianelf*)
|
||||
tm_file="${tm_file} arm/symbian.h"
|
||||
@@ -912,10 +918,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
|
||||
esac
|
||||
tm_file="${tm_file} arm/aout.h arm/arm.h"
|
||||
;;
|
||||
-arm*-*-rtems*)
|
||||
- tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
|
||||
- tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
|
||||
- ;;
|
||||
arm*-*-elf)
|
||||
tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
||||
tmake_file="arm/t-arm arm/t-arm-elf"
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index 79be4ed..da6ffc2 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -354,11 +354,15 @@ arm*-*-ecos-elf)
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
-arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
|
||||
+arm*-*-rtemself*)
|
||||
+ tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
+ extra_parts="$extra_parts crti.o crtn.o"
|
||||
+ ;;
|
||||
+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
|
||||
tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
|
||||
tm_file="$tm_file arm/bpabi-lib.h"
|
||||
case ${host} in
|
||||
- arm*-*-eabi* | arm*-*-rtemseabi*)
|
||||
+ arm*-*-eabi* | arm*-*-rtems*)
|
||||
tmake_file="${tmake_file} arm/t-bpabi"
|
||||
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
|
||||
;;
|
||||
@@ -371,10 +375,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
|
||||
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
unwind_header=config/arm/unwind-arm.h
|
||||
;;
|
||||
-arm*-*-rtems*)
|
||||
- tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
- extra_parts="$extra_parts crti.o crtn.o"
|
||||
- ;;
|
||||
arm*-*-elf)
|
||||
tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
@ -58,23 +58,37 @@ Source22: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2
|
||||
%prep
|
||||
%setup -q -c -T -n %{name}-%{version}
|
||||
|
||||
# gcc core
|
||||
# gcc and optional the g++ core if separate packages
|
||||
%setup -q -T -D -n %{name}-%{version} -a0
|
||||
cd gcc-%{gcc_version}
|
||||
%{?patch0:%patch0 -p1}
|
||||
cd ..
|
||||
|
||||
# g++
|
||||
%{?source1:%setup -q -T -D -n %{name}-%{version} -a1}
|
||||
cd gcc-%{gcc_version}
|
||||
%{?patch0:%patch0 -p1}
|
||||
%{?patch1:%patch1 -p1}
|
||||
%{?patch2:%patch2 -p1}
|
||||
%{?patch3:%patch3 -p1}
|
||||
%{?patch4:%patch4 -p1}
|
||||
%{?patch5:%patch5 -p1}
|
||||
%{?patch6:%patch6 -p1}
|
||||
%{?patch7:%patch7 -p1}
|
||||
%{?patch8:%patch8 -p1}
|
||||
%{?patch9:%patch9 -p1}
|
||||
cd ..
|
||||
|
||||
# newlib
|
||||
%setup -q -T -D -n %{name}-%{version} -a10
|
||||
cd newlib-%{newlib_version}
|
||||
%{?patch10:%patch10 -p1}
|
||||
%{?patch11:%patch11 -p1}
|
||||
%{?patch12:%patch12 -p1}
|
||||
%{?patch13:%patch13 -p1}
|
||||
%{?patch14:%patch14 -p1}
|
||||
%{?patch15:%patch15 -p1}
|
||||
%{?patch16:%patch16 -p1}
|
||||
%{?patch17:%patch17 -p1}
|
||||
%{?patch18:%patch18 -p1}
|
||||
%{?patch19:%patch19 -p1}
|
||||
cd ..
|
||||
|
||||
# Link newlib into the gcc source tree
|
||||
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user