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
|
# Tools Set for RTEMS ARM 4.11 Stable
|
||||||
#
|
#
|
||||||
|
|
||||||
%define _target arm-rtemseabi4.11
|
%define _target arm-rtems4.11
|
||||||
|
|
||||||
%define release 1
|
%define release 1
|
||||||
|
|
||||||
@ -11,10 +11,15 @@
|
|||||||
#
|
#
|
||||||
%include rtems-4.11-base.bset
|
%include rtems-4.11-base.bset
|
||||||
|
|
||||||
|
#
|
||||||
|
# Patch to enable EABI
|
||||||
|
#
|
||||||
|
Patch2: gcc-4.7-arm-to-eabi-20120511.diff
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tools configuration.
|
# Tools configuration.
|
||||||
#
|
#
|
||||||
expat-2.1.0-1
|
expat-2.1.0-1
|
||||||
tools/rtems-binutils-2.22-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
|
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
|
%prep
|
||||||
%setup -q -c -T -n %{name}-%{version}
|
%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
|
%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}
|
%{?source1:%setup -q -T -D -n %{name}-%{version} -a1}
|
||||||
cd gcc-%{gcc_version}
|
cd gcc-%{gcc_version}
|
||||||
|
%{?patch0:%patch0 -p1}
|
||||||
%{?patch1:%patch1 -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 ..
|
cd ..
|
||||||
|
|
||||||
# newlib
|
# newlib
|
||||||
%setup -q -T -D -n %{name}-%{version} -a10
|
%setup -q -T -D -n %{name}-%{version} -a10
|
||||||
cd newlib-%{newlib_version}
|
cd newlib-%{newlib_version}
|
||||||
%{?patch10:%patch10 -p1}
|
%{?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 ..
|
cd ..
|
||||||
|
|
||||||
# Link newlib into the gcc source tree
|
# Link newlib into the gcc source tree
|
||||||
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version}
|
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user