summaryrefslogtreecommitdiffstats
path: root/libgloss
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2012-01-17 10:03:40 +0000
committerCorinna Vinschen <corinna@vinschen.de>2012-01-17 10:03:40 +0000
commitc3a549f6878359c9f5b950b58e16a1a2beed3290 (patch)
tree6352d41d9d9e3487c0628d55ac49116900801a8b /libgloss
parentd409f31ff34136f1b816526bc971136c7f7a74d0 (diff)
downloadcygnal-c3a549f6878359c9f5b950b58e16a1a2beed3290.tar.gz
cygnal-c3a549f6878359c9f5b950b58e16a1a2beed3290.tar.bz2
cygnal-c3a549f6878359c9f5b950b58e16a1a2beed3290.zip
* arm/linux-crt0.c: Use ldr instead of adr to get address of
_start_thumb.
Diffstat (limited to 'libgloss')
-rw-r--r--libgloss/ChangeLog5
-rw-r--r--libgloss/arm/linux-crt0.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index 5259f75a1..4e72045e8 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-17 Bin Cheng <bin.cheng@arm.com>
+
+ * arm/linux-crt0.c: Use ldr instead of adr to get address of
+ _start_thumb.
+
2011-12-18 Mike Frysinger <vapier@gentoo.org>
* bfin/clear_cache_range.c: New file.
diff --git a/libgloss/arm/linux-crt0.c b/libgloss/arm/linux-crt0.c
index 2c1dd4af3..c313d269f 100644
--- a/libgloss/arm/linux-crt0.c
+++ b/libgloss/arm/linux-crt0.c
@@ -18,8 +18,10 @@ asm("\n"
".global _start\n"
".type _start, %function\n"
"_start:\n"
- "\tadr r0, _start_thumb+1\n"
+ "\tldr r0, .LC0\n"
"\tbx r0\n"
+ ".LC0:\n"
+ "\t.word _start_thumb\n"
".size _start, .-_start\n");
__attribute__((naked, used))