Merge changes I25e81a77,I95b8c142

* changes:
  vndk-def: Remove stale test data
  vndk-def: Support versioned VNDK directory paths
This commit is contained in:
Logan Chien
2017-12-11 02:04:07 +00:00
committed by Gerrit Code Review
172 changed files with 615 additions and 1146 deletions

View File

@@ -9,7 +9,11 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from compat import StringIO, patch
from utils import GraphBuilder
from vndk_definition_tool import (ELF, GenericRefs, PT_SYSTEM, PT_VENDOR)
from vndk_definition_tool import (
ELF, ELFLinker, GenericRefs, PT_SYSTEM, PT_VENDOR, VNDKLibDir)
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
class ELFLinkerTest(unittest.TestCase):
@@ -377,6 +381,86 @@ class ELFLinkerTest(unittest.TestCase):
self.assertNotIn(libc_path, sp_ndk_indirect)
def test_link_vndk_ver_dirs(self):
gb = GraphBuilder()
libc_32, libc_64 = gb.add_multilib(PT_SYSTEM, 'libc')
libvndk_a_32, libvndk_a_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_a', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_b.so', 'libvndk_sp_b.so'])
libvndk_b_32, libvndk_b_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_b', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_sp_b.so'])
libvndk_c_32, libvndk_c_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_c', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_d.so', 'libvndk_sp_d.so'])
libvndk_d_32, libvndk_d_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_d', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_sp_d.so'])
libvndk_sp_a_32, libvndk_sp_a_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_sp_a', extra_dir='vndk-sp-28',
dt_needed=['libc.so', 'libvndk_sp_b.so'])
libvndk_sp_b_32, libvndk_sp_b_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_sp_b', extra_dir='vndk-sp-28',
dt_needed=['libc.so'])
libvndk_sp_c_32, libvndk_sp_c_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_sp_c', extra_dir='vndk-sp-28',
dt_needed=['libc.so', 'libvndk_sp_d.so'])
libvndk_sp_d_32, libvndk_sp_d_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_sp_d', extra_dir='vndk-sp-28',
dt_needed=['libc.so'])
gb.resolve(VNDKLibDir.create_from_version('28'), '28')
# 32-bit shared libraries
self.assertIn(libc_32, libvndk_a_32.deps_all)
self.assertIn(libc_32, libvndk_b_32.deps_all)
self.assertIn(libc_32, libvndk_c_32.deps_all)
self.assertIn(libc_32, libvndk_d_32.deps_all)
self.assertIn(libc_32, libvndk_sp_a_32.deps_all)
self.assertIn(libc_32, libvndk_sp_b_32.deps_all)
self.assertIn(libc_32, libvndk_sp_c_32.deps_all)
self.assertIn(libc_32, libvndk_sp_d_32.deps_all)
self.assertIn(libvndk_b_32, libvndk_a_32.deps_all)
self.assertIn(libvndk_sp_b_32, libvndk_a_32.deps_all)
self.assertIn(libvndk_sp_b_32, libvndk_b_32.deps_all)
self.assertIn(libvndk_sp_b_32, libvndk_sp_a_32.deps_all)
self.assertIn(libvndk_d_32, libvndk_c_32.deps_all)
self.assertIn(libvndk_sp_d_32, libvndk_c_32.deps_all)
self.assertIn(libvndk_sp_d_32, libvndk_d_32.deps_all)
self.assertIn(libvndk_sp_d_32, libvndk_sp_c_32.deps_all)
# 64-bit shared libraries
self.assertIn(libc_64, libvndk_a_64.deps_all)
self.assertIn(libc_64, libvndk_b_64.deps_all)
self.assertIn(libc_64, libvndk_c_64.deps_all)
self.assertIn(libc_64, libvndk_d_64.deps_all)
self.assertIn(libc_64, libvndk_sp_a_64.deps_all)
self.assertIn(libc_64, libvndk_sp_b_64.deps_all)
self.assertIn(libc_64, libvndk_sp_c_64.deps_all)
self.assertIn(libc_64, libvndk_sp_d_64.deps_all)
self.assertIn(libvndk_b_64, libvndk_a_64.deps_all)
self.assertIn(libvndk_sp_b_64, libvndk_a_64.deps_all)
self.assertIn(libvndk_sp_b_64, libvndk_b_64.deps_all)
self.assertIn(libvndk_sp_b_64, libvndk_sp_a_64.deps_all)
self.assertIn(libvndk_d_64, libvndk_c_64.deps_all)
self.assertIn(libvndk_sp_d_64, libvndk_c_64.deps_all)
self.assertIn(libvndk_sp_d_64, libvndk_d_64.deps_all)
self.assertIn(libvndk_sp_d_64, libvndk_sp_c_64.deps_all)
class ELFLinkerDlopenDepsTest(unittest.TestCase):
def test_add_dlopen_deps(self):
gb = GraphBuilder()

View File

@@ -0,0 +1,211 @@
#!/usr/bin/env python3
import os
import posixpath
import sys
import unittest
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from compat import StringIO
from vndk_definition_tool import ELF, VNDKLibDir
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
class VNDKLibDirTest(unittest.TestCase):
def test_create_vndk_sp_dir_name(self):
self.assertEqual(
'vndk-sp', VNDKLibDir.create_vndk_sp_dir_name('current'))
self.assertEqual(
'vndk-sp-28', VNDKLibDir.create_vndk_sp_dir_name('28'))
def test_create_vndk_dir_name(self):
self.assertEqual(
'vndk', VNDKLibDir.create_vndk_dir_name('current'))
self.assertEqual(
'vndk-28', VNDKLibDir.create_vndk_dir_name('28'))
def test_extract_vndk_version_from_name(self):
self.assertEqual(
'current', VNDKLibDir.extract_version_from_name('vndk'))
self.assertEqual(
'current', VNDKLibDir.extract_version_from_name('vndk-sp'))
self.assertEqual(
'28', VNDKLibDir.extract_version_from_name('vndk-28'))
self.assertEqual(
'28', VNDKLibDir.extract_version_from_name('vndk-sp-28'))
self.assertEqual(
'p', VNDKLibDir.extract_version_from_name('vndk-p'))
self.assertEqual(
'p', VNDKLibDir.extract_version_from_name('vndk-sp-p'))
def test_extract_vndk_version_from_path(self):
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk/libexample.so')
self.assertEqual('current', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp/libexample.so')
self.assertEqual('current', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-28/libexample.so')
self.assertEqual('28', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp-28/libexample.so')
self.assertEqual('28', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-p/libexample.so')
self.assertEqual('p', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp-p/libexample.so')
self.assertEqual('p', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp-p/hw/libexample.so')
self.assertEqual('p', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/libexample.so')
self.assertEqual(None, ans)
def test_is_in_vndk_sp_dir(self):
self.assertFalse(VNDKLibDir.is_in_vndk_sp_dir('/system/lib/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-28/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-spec/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-sp/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-sp-28/liba.so'))
def test_is_in_vndk_dir(self):
self.assertFalse(VNDKLibDir.is_in_vndk_dir('/system/lib/liba.so'))
self.assertTrue(VNDKLibDir.is_in_vndk_dir('/system/lib/vndk/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-28/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-spec/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-sp/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-sp-28/liba.so'))
def test_create_vndk_search_paths(self):
for version in ('current', '28'):
for lib_dir in ('lib', 'lib64'):
vndk_sp_name = VNDKLibDir.create_vndk_sp_dir_name(version)
vndk_name = VNDKLibDir.create_vndk_dir_name(version)
expected_vndk_sp = [
posixpath.join('/vendor', lib_dir, vndk_sp_name),
posixpath.join('/system', lib_dir, vndk_sp_name),
]
expected_vndk = [
posixpath.join('/vendor', lib_dir, vndk_name),
posixpath.join('/system', lib_dir, vndk_name),
]
vndk_sp_dirs, vndk_dirs = \
VNDKLibDir.create_vndk_search_paths(lib_dir, version)
self.assertEqual(expected_vndk_sp, vndk_sp_dirs)
self.assertEqual(expected_vndk, vndk_dirs)
def test_add_version_current(self):
vndk_lib_dirs = VNDKLibDir()
vndk_lib_dirs.append('current')
self.assertIn('current', vndk_lib_dirs)
def test_create_from_dirs_unversioned(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir',
'vndk_unversioned')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('current', vndk_lib_dirs)
def test_create_from_dirs_versioned(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir', 'vndk_versioned')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('28', vndk_lib_dirs)
def test_create_from_dirs_versioned_multiple(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir',
'vndk_versioned_multiple')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('28', vndk_lib_dirs)
self.assertIn('29', vndk_lib_dirs)
def test_get_property(self):
property_file = StringIO('ro.vndk.version=example\n')
ans = VNDKLibDir._get_property(property_file, 'ro.vndk.version')
self.assertEqual('example', ans)
property_file = StringIO('# comments\n')
ans = VNDKLibDir._get_property(property_file, 'ro.vndk.version')
self.assertEqual(None, ans)
def test_get_ro_vndk_version(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir',
'vndk_versioned_multiple')
vendor_dirs = [os.path.join(input_dir, 'vendor')]
self.assertEqual('29', VNDKLibDir.get_ro_vndk_version(vendor_dirs))
def test_sorted_versions(self):
self.assertEqual(
['20', '10', '2', '1'],
VNDKLibDir.sorted_version(['1', '2', '10', '20']))
self.assertEqual(
['b', 'a', '20', '10', '2', '1'],
VNDKLibDir.sorted_version(['1', '2', '10', '20', 'a', 'b']))
self.assertEqual(
['a', '10b', '10', '2', '1'],
VNDKLibDir.sorted_version(['1', '2', '10', 'a', '10b']))
self.assertEqual(
['current', 'd', 'a', '10', '1'],
VNDKLibDir.sorted_version(['1', '10', 'a', 'd', 'current']))
if __name__ == '__main__':
unittest.main()

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,8 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,12 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libC.so
EXP_SYMBOL extended_a
EXP_SYMBOL generic_a
IMP_SYMBOL extended_c
IMP_SYMBOL generic_c

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL extended_b
EXP_SYMBOL generic_b

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libB.so
EXP_SYMBOL extended_c
EXP_SYMBOL generic_c
IMP_SYMBOL extended_b
IMP_SYMBOL generic_b

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libA.so
DT_NEEDED libB.so
DT_NEEDED libC.so
IMP_SYMBOL extended_a
IMP_SYMBOL extended_b
IMP_SYMBOL extended_c
IMP_SYMBOL generic_a
IMP_SYMBOL generic_b
IMP_SYMBOL generic_c

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libA.so
DT_NEEDED libB.so
IMP_SYMBOL extended_a
IMP_SYMBOL extended_b
IMP_SYMBOL generic_a
IMP_SYMBOL generic_b

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libC.so
EXP_SYMBOL generic_a
IMP_SYMBOL generic_c

View File

@@ -1,4 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL generic_b

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libB.so
EXP_SYMBOL generic_c
IMP_SYMBOL generic_b

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libA.so
DT_NEEDED libB.so
DT_NEEDED libC.so
IMP_SYMBOL generic_a
IMP_SYMBOL generic_b
IMP_SYMBOL generic_c

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
EXP_SYMBOL rsContextDestroy
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libRS.so
IMP_SYMBOL rsContextCreate
IMP_SYMBOL rsContextDestroy

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
EXP_SYMBOL rsContextDestroy
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libRS.so
IMP_SYMBOL rsContextCreate
IMP_SYMBOL rsContextDestroy

View File

@@ -1,12 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libRS.so
IMP_SYMBOL rsContextCreate

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libRS.so
IMP_SYMBOL rsContextCreate

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libm.so
EXP_SYMBOL jpeg_CreateCompress
EXP_SYMBOL jpeg_CreateDecompress

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,8 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,12 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,8 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libm.so
EXP_SYMBOL jpeg_CreateCompress
EXP_SYMBOL jpeg_CreateDecompress

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,10 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libcutils_dep.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,8 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,12 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,10 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libcutils_dep.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libRS_internal.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libRS_internal_vendor.so

View File

@@ -1,4 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libm.so
EXP_SYMBOL jpeg_CreateCompress
EXP_SYMBOL jpeg_CreateDecompress

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libRS_internal.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libRS_internal_vendor.so

View File

@@ -1,4 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so

View File

@@ -1,12 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,8 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libm.so
EXP_SYMBOL jpeg_CreateCompress
EXP_SYMBOL jpeg_CreateDecompress

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libRS.so
IMP_SYMBOL rsContextCreate

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libcutils.so
DT_NEEDED libdl.so
EXP_SYMBOL eglGetDisplay
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,5 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libRS.so
IMP_SYMBOL rsContextCreate

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libRS_internal.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,4 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so

View File

@@ -1,12 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,8 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libm.so
EXP_SYMBOL jpeg_CreateCompress
EXP_SYMBOL jpeg_CreateDecompress

View File

@@ -1,5 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libRS_internal.so
EXP_SYMBOL rsContextCreate
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym

View File

@@ -1,4 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so

View File

@@ -1,12 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libm.so
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL cos
IMP_SYMBOL sin

View File

@@ -1,9 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libc.so
DT_NEEDED libdl.so
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL fclose
IMP_SYMBOL fopen

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL dlclose
EXP_SYMBOL dlopen
EXP_SYMBOL dlsym

View File

@@ -1,8 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libm.so
EXP_SYMBOL jpeg_CreateCompress
EXP_SYMBOL jpeg_CreateDecompress

Some files were not shown because too many files have changed in this diff Show More