diff options
author | Richard Purdie <richard@openedhand.com> | 2008-07-18 12:28:46 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-07-18 12:28:46 +0000 |
commit | e8bda8575637b967afaa0321fc3aeb69e809087a (patch) | |
tree | d4865b2556e227b403f9c13ad128d9bfb3c009d8 /meta/packages/gcc/gcc-4.3.1/arm-thumb.patch | |
parent | f204c8376f18d6cc443e7f4533d7eeace5d45f95 (diff) | |
download | openembedded-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.patch | 64 |
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 |