From 1cd0c6777f35b531c9ce78397d0915aa521b3e87 Mon Sep 17 00:00:00 2001
From: Dmitriy Ivanov <dimitry@google.com>
Date: Wed, 1 Oct 2014 16:26:49 -0700
Subject: [PATCH] L-MR1 specific fixes

 Reset soinfo version to 0.
 Disable ifunc test for arm64 because of old toolchain
 in lmp-mr1-dev branch

 Note: this commit should be reverted in -plus-aosp branch.

Change-Id: I2d6d996d43bc35d5d4975c745779f43a988b31e6
---
 linker/linker.h       | 2 +-
 tests/dlfcn_test.cpp  | 2 +-
 tests/libs/Android.mk | 9 +--------
 3 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/linker/linker.h b/linker/linker.h
index 37d513ea7..3abab294f 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -89,7 +89,7 @@
 #define FLAG_LINKER     0x00000010 // The linker itself
 #define FLAG_NEW_SOINFO 0x40000000 // new soinfo format
 
-#define SOINFO_VERSION 1
+#define SOINFO_VERSION 0
 
 #define SOINFO_NAME_LEN 128
 
diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index 756f2ff9d..9c9fbdd12 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -90,7 +90,7 @@ TEST(dlfcn, dlopen_noload) {
 }
 
 // ifuncs are only supported on intel and arm64 for now
-#if defined (__aarch64__) || defined(__i386__) || defined(__x86_64__)
+#if defined(__i386__) || defined(__x86_64__)
 TEST(dlfcn, ifunc) {
   typedef const char* (*fn_ptr)();
 
diff --git a/tests/libs/Android.mk b/tests/libs/Android.mk
index 548dce3ed..b3554881e 100644
--- a/tests/libs/Android.mk
+++ b/tests/libs/Android.mk
@@ -294,7 +294,7 @@ include $(TEST_PATH)/Android.build.mk
 # -----------------------------------------------------------------------------
 # Library used by ifunc tests
 # -----------------------------------------------------------------------------
-ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64 x86 x86_64))
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
     libtest_ifunc_src_files := \
         dlopen_testlib_ifunc.c
 
@@ -303,13 +303,6 @@ ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64 x86 x86_64))
     build_type := target
     build_target := SHARED_LIBRARY
 
-    ifeq ($(TARGET_ARCH),arm64)
-      libtest_ifunc_multilib := 64
-      # TODO: This is a workaround - remove it once gcc
-      # removes its Android ifunc checks
-      libtest_ifunc_cflags := -mglibc
-    endif
-
     include $(TEST_PATH)/Android.build.mk
 endif