diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2005-09-09 22:38:20 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-09-09 22:38:20 +0000 |
commit | 752cfd0f5f3ef6666c8be5c63d56c082b181569b (patch) | |
tree | 4ba02e54c843e9f46bde5f15deeb519919220c4b | |
parent | 54e9c86c965874e1843b98fd0d625a333fe17289 (diff) |
gcc(libgcc_s.so.1): fix the arm interwork _call_via_rX out of line ops
The interworking symbols were being built but not exported from libgcc
(i.e. they were not in the version file), added a specific version file
for them and updated t-linux. Forced the cross build to always generate
ARM instructions (the thumb version does not currently work), bumped
PRs.
-rw-r--r-- | packages/gcc/gcc-3.4.4/gcc34-thumb-interwork.patch | 51 | ||||
-rw-r--r-- | packages/gcc/gcc-cross_3.4.4.bb | 5 | ||||
-rw-r--r-- | packages/gcc/gcc_3.4.4.bb | 3 |
3 files changed, 57 insertions, 2 deletions
diff --git a/packages/gcc/gcc-3.4.4/gcc34-thumb-interwork.patch b/packages/gcc/gcc-3.4.4/gcc34-thumb-interwork.patch new file mode 100644 index 0000000000..ee3a25c7ef --- /dev/null +++ b/packages/gcc/gcc-3.4.4/gcc34-thumb-interwork.patch @@ -0,0 +1,51 @@ +--- gcc-3.4.4/gcc/config/arm/interwork.ver.orig 2005-09-08 21:59:26.000000000 -0700 ++++ gcc-3.4.4/gcc/config/arm/interwork.ver 2005-09-08 22:11:10.211617698 -0700 +@@ -0,0 +1,37 @@ ++# We need to add the _call_via_rX and _interwork... calls, follow ++# the same test as in the lib1funcs.asm file (note that this is ++# evaluated by gcc -E) ++%if (defined __ARM_ARCH_4T__ || defined __ARM_ARCH_5T__ || defined __ARM_ARCH_5TE__) ++GCC_3.4.4 { ++ _call_via_r0 ++ _call_via_r1 ++ _call_via_r2 ++ _call_via_r3 ++ _call_via_r4 ++ _call_via_r5 ++ _call_via_r6 ++ _call_via_r7 ++ _call_via_r8 ++ _call_via_r9 ++ _call_via_sl ++ _call_via_fp ++ _call_via_ip ++ _call_via_sp ++ _call_via_lr ++ _interwork_call_via_r0 ++ _interwork_call_via_r1 ++ _interwork_call_via_r2 ++ _interwork_call_via_r3 ++ _interwork_call_via_r4 ++ _interwork_call_via_r5 ++ _interwork_call_via_r6 ++ _interwork_call_via_r7 ++ _interwork_call_via_r8 ++ _interwork_call_via_r9 ++ _interwork_call_via_sl ++ _interwork_call_via_fp ++ _interwork_call_via_ip ++ _interwork_call_via_sp ++ _interwork_call_via_lr ++} ++%endif +--- gcc-3.4.4/gcc/config/arm/t-linux.orig 2005-09-08 22:31:32.448528218 -0700 ++++ gcc-3.4.4/gcc/config/arm/t-linux 2005-09-08 21:59:34.651848882 -0700 +@@ -10,6 +10,8 @@ + _call_via_rX _interwork_call_via_rX \ + _fixsfsi _fixunssfsi + ++SHLIB_MAPFILES += $(srcdir)/config/arm/interwork.ver ++ + # MULTILIB_OPTIONS = mhard-float/msoft-float + # MULTILIB_DIRNAMES = hard-float soft-float + diff --git a/packages/gcc/gcc-cross_3.4.4.bb b/packages/gcc/gcc-cross_3.4.4.bb index c111ac00b7..9e8ebd51f5 100644 --- a/packages/gcc/gcc-cross_3.4.4.bb +++ b/packages/gcc/gcc-cross_3.4.4.bb @@ -5,7 +5,10 @@ inherit cross FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" # NOTE: split PR. If the main .oe changes something that affects its *build* # remember to increment this one too. -PR = "r1" +PR = "r2" + +# At present the thumb implementation is non-functional +ARM_INSTRUCTION_SET = "" DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" diff --git a/packages/gcc/gcc_3.4.4.bb b/packages/gcc/gcc_3.4.4.bb index f4a67b77c2..4d1e8fca63 100644 --- a/packages/gcc/gcc_3.4.4.bb +++ b/packages/gcc/gcc_3.4.4.bb @@ -1,4 +1,4 @@ -PR = "r2" +PR = "r3" DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" @@ -27,6 +27,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ SRC_URI += "file://gcc34-thumb-div0.patch;patch=1" SRC_URI += "file://gcc34-thumb-clearinsn.patch;patch=1" SRC_URI += "file://gcc34-thumb-lib1asmfuncs.patch;patch=1" +SRC_URI += "file://gcc34-thumb-interwork.patch;patch=1" SRC_URI += "file://gcc34-configure.in.patch;patch=1" include gcc3-build.inc |