summaryrefslogtreecommitdiff
path: root/meta/packages/gcc/gcc-4.3.1/arm-thumb.patch
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-07-18 12:28:46 +0000
committerRichard Purdie <richard@openedhand.com>2008-07-18 12:28:46 +0000
commite8bda8575637b967afaa0321fc3aeb69e809087a (patch)
treed4865b2556e227b403f9c13ad128d9bfb3c009d8 /meta/packages/gcc/gcc-4.3.1/arm-thumb.patch
parentf204c8376f18d6cc443e7f4533d7eeace5d45f95 (diff)
downloadopenembedded-core-e8bda8575637b967afaa0321fc3aeb69e809087a.tar.gz
openembedded-core-e8bda8575637b967afaa0321fc3aeb69e809087a.tar.bz2
openembedded-core-e8bda8575637b967afaa0321fc3aeb69e809087a.tar.xz
openembedded-core-e8bda8575637b967afaa0321fc3aeb69e809087a.zip
gcc 4.3.0 -> 4.3.1 (from OE)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4876 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gcc/gcc-4.3.1/arm-thumb.patch')
-rw-r--r--meta/packages/gcc/gcc-4.3.1/arm-thumb.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-4.3.1/arm-thumb.patch b/meta/packages/gcc/gcc-4.3.1/arm-thumb.patch
new file mode 100644
index 000000000..016a7a550
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.3.1/arm-thumb.patch
@@ -0,0 +1,64 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- gcc-4.1.1/gcc/config/arm/lib1funcs.asm~gcc
++++ gcc-4.1.1/gcc/config/arm/lib1funcs.asm
+@@ -995,10 +995,24 @@
+ .code 32
+ FUNC_START div0
+
++#if ! defined __thumb__
+ stmfd sp!, {r1, lr}
+ mov r0, #SIGFPE
+ bl SYM(raise) __PLT__
+ RETLDM r1
++#else
++ push {r1, lr}
++ mov r0, #SIGFPE
++ bl SYM(raise) __PLT__
++#if __ARM_ARCH__ > 4
++ pop {r1, pc}
++#else
++ @ on 4T that won't work
++ pop {r1}
++ pop {r3}
++ bx r3
++#endif
++#endif
+
+ FUNC_END div0
+
+@@ -1141,11 +1155,12 @@
+ code here switches to the correct mode before executing the function. */
+
+ .text
+- .align 0
++ .align 1
+ .force_thumb
+
+ .macro call_via register
+ THUMB_FUNC_START _call_via_\register
++ .hidden SYM (_call_via_\register)
+
+ bx \register
+ nop
+@@ -1242,6 +1257,7 @@
+ .code 16
+
+ THUMB_FUNC_START _interwork_call_via_\register
++ .hidden SYM (_interwork_call_via_\register)
+
+ bx pc
+ nop
+--- gcc-4.1.1/gcc/config/arm/t-linux~gcc
++++ gcc-4.1.1/gcc/config/arm/t-linux
+@@ -7,6 +7,7 @@
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _call_via_rX \
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float