diff options
author | Alex Cheung <alexcheung@google.com> | 2017-01-31 04:05:00 +0000 |
---|---|---|
committer | Alex Cheung <alexcheung@google.com> | 2017-01-31 04:19:50 +0000 |
commit | 6fcd7a7d28aa6be42bbc99070c93d4d16b56ab57 (patch) | |
tree | 0daa51584f72beb67cbe072f34ca67898212f381 /tests/libs | |
parent | a5066640cc7274e317bf3bae2d960986d58dbbbd (diff) | |
download | android_bionic-6fcd7a7d28aa6be42bbc99070c93d4d16b56ab57.tar.gz android_bionic-6fcd7a7d28aa6be42bbc99070c93d4d16b56ab57.tar.bz2 android_bionic-6fcd7a7d28aa6be42bbc99070c93d4d16b56ab57.zip |
Revert "Fix CFI initialization crash on x86."
This reverts commit be46d3871c91902504e5ec4c7f575c86f647aafc.
Reverting due to broken build:
https://android-build.googleplex.com/builds/branch-dashboard/aosp-master?build_id=3687823
Change-Id: I30968398edd9a094fce878839ba0a002ed487a77
Diffstat (limited to 'tests/libs')
-rw-r--r-- | tests/libs/Android.bp | 17 | ||||
-rw-r--r-- | tests/libs/cfi_test_helper.cpp | 54 | ||||
-rw-r--r-- | tests/libs/cfi_test_helper2.cpp | 29 | ||||
-rw-r--r-- | tests/libs/cfi_test_lib.cpp | 16 | ||||
-rw-r--r-- | tests/libs/libs_utils.h | 29 |
5 files changed, 0 insertions, 145 deletions
diff --git a/tests/libs/Android.bp b/tests/libs/Android.bp index 9f9c40724..b5855af62 100644 --- a/tests/libs/Android.bp +++ b/tests/libs/Android.bp @@ -494,20 +494,3 @@ cc_test_library { cfi: false, }, } - -cc_test { - name: "cfi_test_helper", - host_supported: false, - defaults: ["bionic_testlib_defaults"], - srcs: ["cfi_test_helper.cpp"], - ldflags: [" -Wl,-export-dynamic-symbol=__cfi_check"], -} - -cc_test { - name: "cfi_test_helper2", - host_supported: false, - defaults: ["bionic_testlib_defaults"], - srcs: ["cfi_test_helper2.cpp"], - shared_libs: ["libcfi-test"], - ldflags: ["-Wl,--rpath,${ORIGIN}/.."], -} diff --git a/tests/libs/cfi_test_helper.cpp b/tests/libs/cfi_test_helper.cpp deleted file mode 100644 index ff313a2d8..000000000 --- a/tests/libs/cfi_test_helper.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <assert.h> -#include <stdint.h> -#include <stdlib.h> - -#include "libs_utils.h" - -// This library is built for all targets, including host tests, so __cfi_slowpath may not be -// present. But it is only used in the bionic loader tests. -extern "C" __attribute__((weak)) void __cfi_slowpath(uint64_t, void*); - -static int g_count; - -// Mock a CFI-enabled library without relying on the compiler. -extern "C" __attribute__((aligned(4096))) void __cfi_check(uint64_t /*CallSiteTypeId*/, - void* /*TargetAddr*/, void* /*Diag*/) { - ++g_count; -} - -void preinit_ctor() { - CHECK(g_count == 0); - __cfi_slowpath(42, reinterpret_cast<void*>(&preinit_ctor)); - CHECK(g_count == 1); -} - -__attribute__((section(".preinit_array"), used)) void (*preinit_ctor_p)(void) = preinit_ctor; - -__attribute__((constructor, used)) void ctor() { - CHECK(g_count == 1); - __cfi_slowpath(42, reinterpret_cast<void*>(&ctor)); - CHECK(g_count == 2); -} - -int main(void) { - CHECK(g_count == 2); - __cfi_slowpath(42, reinterpret_cast<void*>(&main)); - CHECK(g_count == 3); - return 0; -} diff --git a/tests/libs/cfi_test_helper2.cpp b/tests/libs/cfi_test_helper2.cpp deleted file mode 100644 index 11a6036c0..000000000 --- a/tests/libs/cfi_test_helper2.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <assert.h> -#include <dlfcn.h> - -#include "libs_utils.h" - -int main(void) { - void* handle; - // libcfi-test.so does some basic testing in a global constructor. Check that it is linked. - handle = dlopen("libcfi-test.so", RTLD_NOW | RTLD_NOLOAD); - CHECK(handle != nullptr); - dlclose(handle); - return 0; -} diff --git a/tests/libs/cfi_test_lib.cpp b/tests/libs/cfi_test_lib.cpp index 959b1020f..b0e2f426d 100644 --- a/tests/libs/cfi_test_lib.cpp +++ b/tests/libs/cfi_test_lib.cpp @@ -1,19 +1,3 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - #include <assert.h> #include <stdint.h> #include <stdlib.h> diff --git a/tests/libs/libs_utils.h b/tests/libs/libs_utils.h deleted file mode 100644 index f11cbe782..000000000 --- a/tests/libs/libs_utils.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef LIBS_UTILS_H -#define LIBS_UTILS_H - -#include <stdio.h> -#include <stdlib.h> - -#define CHECK(x) \ - do { \ - fprintf(stderr, "CHECK(" #x ") failed at %s:%d\n", __FILE__, __LINE__); \ - if (!(x)) abort(); \ - } while (0) - -#endif // LIBS_UTILS_H |