Index: src/trusted/platform_qualify/arch/arm/nacl_dep_qualify.c |
=================================================================== |
--- src/trusted/platform_qualify/arch/arm/nacl_dep_qualify.c (revision 3470) |
+++ src/trusted/platform_qualify/arch/arm/nacl_dep_qualify.c (working copy) |
@@ -1,43 +0,0 @@ |
-/* |
- * Copyright 2010 The Native Client Authors. All rights reserved. |
- * Use of this source code is governed by a BSD-style license that can |
- * be found in the LICENSE file. |
- */ |
- |
-#include <stddef.h> |
-#include <stdint.h> |
-#include "native_client/src/trusted/platform_qualify/nacl_dep_qualify.h" |
-#include "native_client/src/include/nacl_macros.h" |
- |
-/* Assembled equivalent of "bx lr" */ |
-#define INST_BX_LR 0xE12FFF1E |
- |
-int NaClCheckDEP() { |
- /* |
- * We require DEP, so forward this call to the OS-specific check routine. |
- */ |
- return NaClAttemptToExecuteData(); |
-} |
- |
-nacl_void_thunk NaClGenerateThunk(char *buf, size_t size_in_bytes) { |
- /* |
- * Place a "bx lr" at the next aligned address after buf. Instructions |
- * are always little-endian, regardless of data setting. |
- */ |
- char *aligned_buf = (char *) (((uintptr_t) buf + 3) & ~3); |
- |
- if (aligned_buf + 4 > buf + size_in_bytes) return 0; |
- |
- aligned_buf[0] = (char) (INST_BX_LR >> 0); |
- aligned_buf[1] = (char) (INST_BX_LR >> 8); |
- aligned_buf[2] = (char) (INST_BX_LR >> 16); |
- aligned_buf[3] = (char) (INST_BX_LR >> 24); |
- |
- /* |
- * ISO C prevents a direct data->function cast, because the pointers aren't |
- * guaranteed to be the same size. For our platforms this is fine, but we |
- * verify at compile time anyway before tricking the compiler: |
- */ |
- NACL_ASSERT_SAME_SIZE(char *, nacl_void_thunk); |
- return (nacl_void_thunk) (uintptr_t) aligned_buf; |
-} |