Index: chrome/test/data/nacl/nonsfi/libc_free.c |
diff --git a/chrome/test/data/nacl/nonsfi/libc_free.c b/chrome/test/data/nacl/nonsfi/libc_free.c |
index cc8eb839ab039e564b8046bf45244000743b782c..87ff58e0b11577eee583ea4ee037943918494d89 100644 |
--- a/chrome/test/data/nacl/nonsfi/libc_free.c |
+++ b/chrome/test/data/nacl/nonsfi/libc_free.c |
@@ -210,6 +210,14 @@ static void HandleMessage(PP_Instance instance, struct PP_Var message) { |
} |
} |
+#if defined(__arm__) |
+// ARM GCC emits references to them. They should not be called unless |
Mark Seaborn
2014/07/21 22:49:33
Hmm, where in the code do the references come from
hamaji
2014/07/22 08:17:23
They are in exidx section. Ah, -funwind-tables is
Mark Seaborn
2014/07/22 15:19:48
Yes, that's what we do for nacl_helper_bootstrap,
|
+// an exception occurs. We exit with a unique exit code just in case. |
+static const int kUnwindExitCode = 2; |
+void __aeabi_unwind_cpp_pr0() { __libnacl_irt_basic.exit(kUnwindExitCode); } |
Mark Seaborn
2014/07/21 22:49:33
Nit: the function body should be on a separate lin
hamaji
2014/07/22 08:17:23
It seems ARM GCC uses abort() to implement __built
|
+void __aeabi_unwind_cpp_pr1() { __libnacl_irt_basic.exit(kUnwindExitCode); } |
+#endif |
+ |
void _start(uintptr_t info[]) { |
Elf_auxv_t* auxv = nacl_startup_auxv(info); |
grok_auxv(auxv); |