@@ -89,7 +89,7 @@
 | 
			
		||||
#define FLAG_LINKER     0x00000010 // The linker itself
 | 
			
		||||
#define FLAG_NEW_SOINFO 0x40000000 // new soinfo format
 | 
			
		||||
 | 
			
		||||
#define SOINFO_VERSION 0
 | 
			
		||||
#define SOINFO_VERSION 1
 | 
			
		||||
 | 
			
		||||
#define SOINFO_NAME_LEN 128
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -90,7 +90,7 @@ TEST(dlfcn, dlopen_noload) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ifuncs are only supported on intel and arm64 for now
 | 
			
		||||
#if defined(__i386__) || defined(__x86_64__)
 | 
			
		||||
#if defined (__aarch64__) || defined(__i386__) || defined(__x86_64__)
 | 
			
		||||
TEST(dlfcn, ifunc) {
 | 
			
		||||
  typedef const char* (*fn_ptr)();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -470,7 +470,7 @@ endif
 | 
			
		||||
# -----------------------------------------------------------------------------
 | 
			
		||||
# Library used by ifunc tests
 | 
			
		||||
# -----------------------------------------------------------------------------
 | 
			
		||||
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
 | 
			
		||||
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64 x86 x86_64))
 | 
			
		||||
    libtest_ifunc_src_files := \
 | 
			
		||||
        dlopen_testlib_ifunc.c
 | 
			
		||||
 | 
			
		||||
@@ -479,6 +479,13 @@ ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user