From 752cfd0f5f3ef6666c8be5c63d56c082b181569b Mon Sep 17 00:00:00 2001 From: John Bowler Date: Fri, 9 Sep 2005 22:38:20 +0000 Subject: 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. --- packages/gcc/gcc-3.4.4/gcc34-thumb-interwork.patch | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 packages/gcc/gcc-3.4.4/gcc34-thumb-interwork.patch (limited to 'packages/gcc/gcc-3.4.4') 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 + -- cgit v1.2.3