summaryrefslogtreecommitdiff
path: root/arch/arm/crt_arch.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-08-15 14:52:27 -0400
committerRich Felker <dalias@aerifal.cx>2013-08-15 14:52:27 -0400
commitbadaa04accd6e606c5a5c448c579e4b18b6c1012 (patch)
tree6c73893362ab6a20f1ee246b743fe4e2ac68a5dc /arch/arm/crt_arch.h
parentc221af951693d526d3ae946f7e708af8e7a9bf85 (diff)
downloadmusl-badaa04accd6e606c5a5c448c579e4b18b6c1012.tar.gz
add function types to arm crt assembly
without these, calls may be resolved incorrectly if the calling code has been compiled to thumb instead of arm. it's not clear to me at this point whether crt_arch.h is even working if crt1.c is built as thumb; this needs testing. but the _init and _fini issues were known to cause crashes in static-linked apps when libc was built as thumb, and this commit should fix that issue.
Diffstat (limited to 'arch/arm/crt_arch.h')
-rw-r--r--arch/arm/crt_arch.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/crt_arch.h b/arch/arm/crt_arch.h
index 979fb081..bed99c27 100644
--- a/arch/arm/crt_arch.h
+++ b/arch/arm/crt_arch.h
@@ -1,5 +1,6 @@
__asm__("\
.global _start \n\
+.type _start,%function \n\
_start: \n\
mov fp, #0 \n\
mov lr, #0 \n\