Chromium Code Reviews| 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); |