diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2010-06-14 21:41:12 +0200 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2010-06-14 21:41:12 +0200 |
commit | 22b80a23fcee4c7a1b88f2fd5cf017d96c515b92 (patch) | |
tree | 1785a4099a6c2b3b2e981307cc734562f42e1818 /boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch | |
parent | f4b7efe504a028035dd121e38caff2c781183ef9 (diff) | |
parent | fa2a311b7756fc458ae55b5aa90ac865cef6c498 (diff) |
Merge branch 'bootloaders-cleanup' of git://git.busybox.net/~tpetazzoni/git/buildroot
Diffstat (limited to 'boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch')
-rw-r--r-- | boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch b/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch new file mode 100644 index 000000000..e38905f7c --- /dev/null +++ b/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch @@ -0,0 +1,43 @@ +Get at91dataflashboot to build with EABI toolchains, by providing the +__aeabi_uidiv and __aeabi_uidivmod symbols. The code is based on +U-Boot's code. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + _udivsi3.S | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +Index: DataflashBoot-1.05/_udivsi3.S +=================================================================== +--- DataflashBoot-1.05.orig/_udivsi3.S ++++ DataflashBoot-1.05/_udivsi3.S +@@ -12,8 +12,11 @@ + .text + .globl __udivsi3 + .type __udivsi3 ,function ++ .globl __aeabi_uidiv ++ .type __aeabi_uidiv ,function + .align 0 + __udivsi3 : ++ __aeabi_uidiv: + cmp divisor, #0 + beq Ldiv0 + mov curbit, #1 +@@ -68,6 +71,17 @@ + mov r0, #0 @ about as wrong as it could be + ldmia sp!, {pc} + .size __udivsi3 , . - __udivsi3 ++ ++.globl __aeabi_uidivmod ++__aeabi_uidivmod: ++ ++ stmfd sp!, {r0, r1, ip, lr} ++ bl __aeabi_uidiv ++ ldmfd sp!, {r1, r2, ip, lr} ++ mul r3, r0, r2 ++ sub r1, r1, r3 ++ mov pc, lr ++ + /* # 235 "libgcc1.S" */ + /* # 320 "libgcc1.S" */ + /* # 421 "libgcc1.S" */ |