From b86b8c627e5e3f6fe09abcdad9bc3487266ef57e Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Sat, 29 Mar 2025 12:51:31 +0000 Subject: [PATCH] perseus: Setup ELF checks Co-authored-by: LuK1337 Change-Id: Ida6d2d91ed0a722b9cfadd71b6221dac614c33ca --- extract-files.py | 29 ++++++++++++++++++++++++++++- proprietary-files.txt | 29 +++++++++++++++++------------ 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/extract-files.py b/extract-files.py index 0808271..70fb11d 100755 --- a/extract-files.py +++ b/extract-files.py @@ -4,20 +4,47 @@ # SPDX-License-Identifier: Apache-2.0 # +from extract_utils.fixups_blob import ( + blob_fixup, + blob_fixups_user_type, +) +from extract_utils.fixups_lib import ( + lib_fixups, +) from extract_utils.main import ( ExtractUtils, ExtractUtilsModule, ) namespace_imports = [ + 'hardware/qcom-caf/common/libqti-perfd-client', + 'hardware/qcom-caf/sdm845', + 'hardware/xiaomi', + 'vendor/qcom/opensource/display', 'vendor/xiaomi/sdm845-common' ] +blob_fixups: blob_fixups_user_type = { + ( + 'vendor/lib/libarcsoft_dualcam_refocus_front.so', + 'vendor/lib/libarcsoft_dualcam_refocus_rear_t.so', + 'vendor/lib/libarcsoft_dualcam_refocus_rear_w.so' + ): blob_fixup() + .clear_symbol_version('remote_handle_close') + .clear_symbol_version('remote_handle_invoke') + .clear_symbol_version('remote_handle_open'), + 'vendor/lib/libmmcamera_faceproc.so': blob_fixup() + .clear_symbol_version('__aeabi_memcpy') + .clear_symbol_version('__aeabi_memset') + .clear_symbol_version('__gnu_Unwind_Find_exidx'), +} # fmt: skip + module = ExtractUtilsModule( 'perseus', 'xiaomi', + blob_fixups=blob_fixups, + lib_fixups=lib_fixups, namespace_imports=namespace_imports, - check_elf=False, ) if __name__ == '__main__': diff --git a/proprietary-files.txt b/proprietary-files.txt index 2b1f695..74d385a 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1,6 +1,9 @@ # Device proprietary files - from perseus' MIUI package V12.0.4.0.QEECNXM CN stable version -# ACDB +# Current blobs with ELF checks disabled: +# libSNPE depends on libgcc intrinsics (unresolved __aeabi_f2lz and __aeabi_ul2f symbols) + +# ACDB data vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb vendor/etc/acdbdata/Forte/Forte_Codec_cal.acdb vendor/etc/acdbdata/Forte/Forte_General_cal.acdb @@ -11,7 +14,6 @@ vendor/etc/acdbdata/Forte/Forte_Headset_cal.acdb vendor/etc/acdbdata/Forte/Forte_Speaker_cal.acdb vendor/etc/acdbdata/Forte/Forte_workspaceFile.qwsp vendor/etc/acdbdata/adsp_avs_config.acdb -vendor/lib/libacdbloader.so # ADSP modules vendor/lib/rfsa/adsp/dirac_resource.dar @@ -24,11 +26,18 @@ vendor/firmware/tas2557_uCDSP.bin # Audio (speaker amplifier) calibration vendor/etc/tas2557.ftcfg +# Audio +vendor/lib/libacdbloader.so +vendor/lib/libcsd-client.so + # Bluetooth vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so +vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so vendor/lib64/libbtnv.so +vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so # Camera vendor/etc/camera/age_gender_bg @@ -148,11 +157,10 @@ vendor/lib/libc++_shared.so vendor/lib/libFaceGrade.so vendor/lib/libHalSuperSensorServer.so vendor/lib/libmisegment_front_845.so -vendor/lib/libmmcamera_faceproc2.so vendor/lib/libmmcamera_faceproc.so +vendor/lib/libmmcamera_faceproc2.so vendor/lib/libmpbase.so -vendor/lib/libnanopb.so -vendor/lib/libSNPE.so +vendor/lib/libSNPE.so;DISABLE_CHECKELF vendor/lib/libSuperSensor.so vendor/lib/libSuperSensorCPU.so vendor/lib/libswregistrationalgo.so @@ -181,8 +189,8 @@ vendor/etc/sdr_config.cfg vendor/etc/hdr_config.cfg # Fingerprint -vendor/lib64/hw/fingerprint.fpc.so:vendor/lib64/hw/fingerprint.fpc.sdm845.so -vendor/lib64/hw/fingerprint.goodix.so:vendor/lib64/hw/fingerprint.goodix.sdm845.so +vendor/lib64/hw/fingerprint.fpc.so:vendor/lib64/hw/fingerprint.fpc.sdm845.so;FIX_SONAME +vendor/lib64/hw/fingerprint.goodix.so:vendor/lib64/hw/fingerprint.goodix.sdm845.so;FIX_SONAME vendor/lib64/libgf_ca.so vendor/lib64/libgf_hal.so @@ -195,18 +203,15 @@ vendor/etc/gps.conf vendor/etc/gpsconfig.xml vendor/etc/lhd.conf vendor/etc/SensorHub.patch -vendor/lib64/hw/gps.brcm.so -vendor/lib64/hw/flp.brcm.so vendor/lib64/android.hardware.gnss@2.0-impl-xiaomi.so +vendor/lib64/hw/flp.brcm.so;FIX_SONAME +vendor/lib64/hw/gps.brcm.so;FIX_SONAME vendor/lib64/libdiagjni.so vendor/lib64/libgps.utils.so # Keymaster vendor/bin/hw/android.hardware.keymaster@4.0-service-qti vendor/etc/init/android.hardware.keymaster@4.0-service-qti.rc -vendor/lib64/libkeymasterdeviceutils.so -vendor/lib64/libkeymasterprovision.so -vendor/lib64/libkeymasterutils.so vendor/lib64/libqtikeymaster4.so # NFC firmware