Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(944)

Unified Diff: core/arch/arm/arm.asm

Issue 175430044: i#1551 Port DynamoRIO to ARM: fix link error for ARM build (Closed) Base URL: https://dynamorio.googlecode.com/svn/trunk
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | core/arch/arm/clean_call_opt.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/arch/arm/arm.asm
diff --git a/core/arch/arm/arm.asm b/core/arch/arm/arm.asm
index 5586d40688680a9abe75b7b930168b132a993649..b8401f150ad488fcd1e4c73ec67ea0a503365337 100644
--- a/core/arch/arm/arm.asm
+++ b/core/arch/arm/arm.asm
@@ -56,6 +56,23 @@ GLOBAL_LABEL(FUNCNAME:)
# error AArch64 is not supported
#endif
+/****************************************************************************/
+#ifndef NOT_DYNAMORIO_CORE_PROPER
+/****************************************************************************/
+
+#ifdef UNIX
+# if !defined(STANDALONE_UNIT_TEST) && !defined(STATIC_LIBRARY)
+ DECLARE_FUNC(_start)
+GLOBAL_LABEL(_start:)
+ bl GLOBAL_REF(unexpected_return)
+ END_FUNC(_start)
+# endif /* !STANDALONE_UNIT_TEST && !STATIC_LIBRARY */
+#endif /* UNIX */
+
+/****************************************************************************/
+#endif /* !NOT_DYNAMORIO_CORE_PROPER */
+/****************************************************************************/
+
/* To avoid libc wrappers we roll our own syscall here.
* Hardcoded to use svc/swi for 32-bit -- FIXME: use something like do_syscall
* signature: dynamorio_syscall(sys_num, num_args, arg1, arg2, ...)
@@ -165,8 +182,11 @@ GLOBAL_LABEL(global_do_syscall_int:)
svc #0
END_FUNC(global_do_syscall_int)
+DECLARE_GLOBAL(safe_read_asm_recover)
+
DECLARE_FUNC(safe_read_asm)
GLOBAL_LABEL(safe_read_asm:)
+ADDRTAKEN_LABEL(safe_read_asm_recover:)
bl GLOBAL_REF(unexpected_return)
END_FUNC(safe_read_asm)
@@ -207,7 +227,27 @@ GLOBAL_LABEL(our_cpuid:)
#endif /* CLIENT_INTERFACE */
+#ifdef UNIX
+ DECLARE_FUNC(client_int_syscall)
+GLOBAL_LABEL(client_int_syscall:)
+ svc #0
+ blx lr
+ END_FUNC(client_int_syscall)
+
+ DECLARE_FUNC(native_plt_call)
+GLOBAL_LABEL(native_plt_call:)
+ bl GLOBAL_REF(unexpected_return)
+ END_FUNC(native_plt_call)
+
+ DECLARE_FUNC(_dynamorio_runtime_resolve)
+GLOBAL_LABEL(_dynamorio_runtime_resolve:)
+ bl GLOBAL_REF(unexpected_return)
+ END_FUNC(_dynamorio_runtime_resolve)
+
+#endif /* UNIX */
+
#ifdef LINUX
+
DECLARE_FUNC(dynamorio_clone)
GLOBAL_LABEL(dynamorio_clone:)
mov r0, #0
@@ -239,4 +279,16 @@ GLOBAL_LABEL(hashlookup_null_handler:)
bl GLOBAL_REF(unexpected_return)
END_FUNC(hashlookup_null_handler)
+ DECLARE_FUNC(back_from_native_retstubs)
+GLOBAL_LABEL(back_from_native_retstubs:)
+DECLARE_GLOBAL(back_from_native_retstubs_end)
+ADDRTAKEN_LABEL(back_from_native_retstubs_end:)
+ bl GLOBAL_REF(unexpected_return)
+ END_FUNC(back_from_native_retstubs)
+
+ DECLARE_FUNC(back_from_native)
+GLOBAL_LABEL(back_from_native:)
+ bl GLOBAL_REF(unexpected_return)
+ END_FUNC(back_from_native)
+
END_FILE
« no previous file with comments | « no previous file | core/arch/arm/clean_call_opt.c » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b