summaryrefslogtreecommitdiff
path: root/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-03-17 09:15:42 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-06-12 13:38:49 +0200
commitef81363d69b7293e3c8088a0939d34a10845e675 (patch)
tree6fd062cf00abf822035dd859706a0e80b4d1bee4 /boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch
parent470888bede7d604c870a6d47c6f41fa53a47a5d3 (diff)
at91dataflashboot: add two patches
The first patch allows to build with an EABI toolchain. The second patch disables the install step of at91dataflashboot Makefile since it tries to copy files to /tftpboot. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch')
-rw-r--r--boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch43
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" */