diff options
author | Sijie Chen <sijiec@google.com> | 2024-02-17 07:43:25 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-02-17 07:43:25 +0000 |
commit | dc20c25e41c0930378957ec0aa73fec1c9163955 (patch) | |
tree | ce45921bd1bee457e9b4bc81cda02b894b99085c | |
parent | a83beb586c8b7959fc502efa46667774674aa9f8 (diff) | |
parent | 8bb2091b549c59c19f0b5a77b5a65b249819f2aa (diff) | |
download | native_bridge_support-dc20c25e41c0930378957ec0aa73fec1c9163955.tar.gz |
[Berberis] Replicate custom_trampolines_*.json am: 8bb2091b54
Original change: https://android-review.googlesource.com/c/platform/frameworks/libs/native_bridge_support/+/2967824
Change-Id: Ic517da700cc53200369b99985b6018273bd8df25
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
57 files changed, 3031 insertions, 0 deletions
diff --git a/android_api/libEGL/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libEGL/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..14ae291 --- /dev/null +++ b/android_api/libEGL/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,11 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "eglGetProcAddress": { + "call_method": "custom_trampoline_with_thunk" + } + }, + "types": {} +} diff --git a/android_api/libEGL/proxy/custom_trampolines_arm_to_x86.json b/android_api/libEGL/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..14ae291 --- /dev/null +++ b/android_api/libEGL/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,11 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "eglGetProcAddress": { + "call_method": "custom_trampoline_with_thunk" + } + }, + "types": {} +} diff --git a/android_api/libEGL/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libEGL/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..14ae291 --- /dev/null +++ b/android_api/libEGL/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,11 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "eglGetProcAddress": { + "call_method": "custom_trampoline_with_thunk" + } + }, + "types": {} +} diff --git a/android_api/libGLESv1_CM/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libGLESv1_CM/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..2033075 --- /dev/null +++ b/android_api/libGLESv1_CM/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv1_CM/proxy/custom_trampolines_arm_to_x86.json b/android_api/libGLESv1_CM/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..2033075 --- /dev/null +++ b/android_api/libGLESv1_CM/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv1_CM/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libGLESv1_CM/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..2033075 --- /dev/null +++ b/android_api/libGLESv1_CM/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv2/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libGLESv2/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..9a73568 --- /dev/null +++ b/android_api/libGLESv2/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,19 @@ +{ + "symbols": { + "glDebugMessageCallbackKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetPointervKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetVkProcAddrNV": { + "is_custom_compatible": false, + "reason_for_incompatible": [ + "Prototype hides the actual complexity" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv2/proxy/custom_trampolines_arm_to_x86.json b/android_api/libGLESv2/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..9a73568 --- /dev/null +++ b/android_api/libGLESv2/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,19 @@ +{ + "symbols": { + "glDebugMessageCallbackKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetPointervKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetVkProcAddrNV": { + "is_custom_compatible": false, + "reason_for_incompatible": [ + "Prototype hides the actual complexity" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv2/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libGLESv2/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..9a73568 --- /dev/null +++ b/android_api/libGLESv2/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,19 @@ +{ + "symbols": { + "glDebugMessageCallbackKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetPointervKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetVkProcAddrNV": { + "is_custom_compatible": false, + "reason_for_incompatible": [ + "Prototype hides the actual complexity" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv3/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libGLESv3/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..9a73568 --- /dev/null +++ b/android_api/libGLESv3/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,19 @@ +{ + "symbols": { + "glDebugMessageCallbackKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetPointervKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetVkProcAddrNV": { + "is_custom_compatible": false, + "reason_for_incompatible": [ + "Prototype hides the actual complexity" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv3/proxy/custom_trampolines_arm_to_x86.json b/android_api/libGLESv3/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..9a73568 --- /dev/null +++ b/android_api/libGLESv3/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,19 @@ +{ + "symbols": { + "glDebugMessageCallbackKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetPointervKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetVkProcAddrNV": { + "is_custom_compatible": false, + "reason_for_incompatible": [ + "Prototype hides the actual complexity" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libGLESv3/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libGLESv3/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..9a73568 --- /dev/null +++ b/android_api/libGLESv3/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,19 @@ +{ + "symbols": { + "glDebugMessageCallbackKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetPointervKHR": { + "call_method": "custom_trampoline", + "header": "gl2ext.h" + }, + "glGetVkProcAddrNV": { + "is_custom_compatible": false, + "reason_for_incompatible": [ + "Prototype hides the actual complexity" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libOpenMAXAL/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libOpenMAXAL/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..e4f20f0 --- /dev/null +++ b/android_api/libOpenMAXAL/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,9 @@ +{ + "symbols": { + "xaCreateEngine": { + "call_method": "custom_thunk", + "header": "OpenMAXAL.h" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libOpenMAXAL/proxy/custom_trampolines_arm_to_x86.json b/android_api/libOpenMAXAL/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..e4f20f0 --- /dev/null +++ b/android_api/libOpenMAXAL/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,9 @@ +{ + "symbols": { + "xaCreateEngine": { + "call_method": "custom_thunk", + "header": "OpenMAXAL.h" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libOpenMAXAL/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libOpenMAXAL/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..e4f20f0 --- /dev/null +++ b/android_api/libOpenMAXAL/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,9 @@ +{ + "symbols": { + "xaCreateEngine": { + "call_method": "custom_thunk", + "header": "OpenMAXAL.h" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libOpenSLES/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libOpenSLES/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..4619ea0 --- /dev/null +++ b/android_api/libOpenSLES/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,8 @@ +{ + "symbols": { + "slCreateEngine": { + "call_method": "custom_trampoline" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libOpenSLES/proxy/custom_trampolines_arm_to_x86.json b/android_api/libOpenSLES/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..4619ea0 --- /dev/null +++ b/android_api/libOpenSLES/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,8 @@ +{ + "symbols": { + "slCreateEngine": { + "call_method": "custom_trampoline" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libOpenSLES/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libOpenSLES/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..4619ea0 --- /dev/null +++ b/android_api/libOpenSLES/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,8 @@ +{ + "symbols": { + "slCreateEngine": { + "call_method": "custom_trampoline" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libaaudio/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libaaudio/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..2078c7d --- /dev/null +++ b/android_api/libaaudio/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,15 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "_ZN6aaudio18AAudioBinderClient16getAAudioServiceEv": { + "call_method": "ignore", + "reason": [ + "This function returns android::sp<> which we do not support, ", + "since this is not part of public API we can ignore it" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libaaudio/proxy/custom_trampolines_arm_to_x86.json b/android_api/libaaudio/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..2078c7d --- /dev/null +++ b/android_api/libaaudio/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,15 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "_ZN6aaudio18AAudioBinderClient16getAAudioServiceEv": { + "call_method": "ignore", + "reason": [ + "This function returns android::sp<> which we do not support, ", + "since this is not part of public API we can ignore it" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libaaudio/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libaaudio/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..2078c7d --- /dev/null +++ b/android_api/libaaudio/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,15 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "_ZN6aaudio18AAudioBinderClient16getAAudioServiceEv": { + "call_method": "ignore", + "reason": [ + "This function returns android::sp<> which we do not support, ", + "since this is not part of public API we can ignore it" + ] + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libamidi/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libamidi/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..48fb746 --- /dev/null +++ b/android_api/libamidi/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,23 @@ +{ + "symbols": {}, + "types": { + "struct AMidiDevice const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMidiDevice*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "_JNIEnv is made on x86 side is passed to x86 libandroid_runtime without changes" + ] + } + } +}
\ No newline at end of file diff --git a/android_api/libamidi/proxy/custom_trampolines_arm_to_x86.json b/android_api/libamidi/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..48fb746 --- /dev/null +++ b/android_api/libamidi/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,23 @@ +{ + "symbols": {}, + "types": { + "struct AMidiDevice const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMidiDevice*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "_JNIEnv is made on x86 side is passed to x86 libandroid_runtime without changes" + ] + } + } +}
\ No newline at end of file diff --git a/android_api/libamidi/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libamidi/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..48fb746 --- /dev/null +++ b/android_api/libamidi/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,23 @@ +{ + "symbols": {}, + "types": { + "struct AMidiDevice const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMidiDevice*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "_JNIEnv is made on x86 side is passed to x86 libandroid_runtime without changes" + ] + } + } +}
\ No newline at end of file diff --git a/android_api/libandroid/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libandroid/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..ceece83 --- /dev/null +++ b/android_api/libandroid/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,74 @@ +{ + "symbols": { + "AChoreographer_postFrameCallback": { + "call_method": "custom_trampoline", + "header": "android/choreographer.h" + }, + "AChoreographer_postFrameCallbackDelayed": { + "call_method": "custom_trampoline", + "header": "android/choreographer.h" + }, + "AInputQueue_attachLooper": { + "call_method": "custom_trampoline", + "header": "android/input.h" + }, + "ALooper_addFd": { + "call_method": "custom_trampoline", + "header": "android/looper.h" + }, + "ANativeActivity_finish": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_hideSoftInput": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_setWindowFlags": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_setWindowFormat": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_showSoftInput": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ASensorManager_createEventQueue": { + "call_method": "custom_trampoline", + "header": "android/sensor.h" + }, + "AStorageManager_mountObb": { + "call_method": "custom_trampoline", + "header": "android/storage_manager.h" + }, + "AStorageManager_unmountObb": { + "call_method": "custom_trampoline", + "header": "android/storage_manager.h" + }, + "_ZN7android13IMountService10descriptorE": { + "call_method": "ignore", + "reason": "This variable is no part of public API" + }, + "_ZN7android18IObbActionListener10descriptorE": { + "call_method": "ignore", + "reason": "This variable is no part of public API" + } + }, + "types": { + "struct AInputEvent": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "_JNIEnv is made on x86 side is passed to x86 libandroid_runtime without changes" + ] + } + } +} diff --git a/android_api/libandroid/proxy/custom_trampolines_arm_to_x86.json b/android_api/libandroid/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..c757677 --- /dev/null +++ b/android_api/libandroid/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,92 @@ +{ + "symbols": { + "AChoreographer_postFrameCallback": { + "call_method": "custom_trampoline", + "header": "android/choreographer.h" + }, + "AChoreographer_postFrameCallbackDelayed": { + "call_method": "custom_trampoline", + "header": "android/choreographer.h" + }, + "AInputQueue_attachLooper": { + "call_method": "custom_trampoline", + "header": "android/input.h" + }, + "ALooper_addFd": { + "call_method": "custom_trampoline", + "header": "android/looper.h" + }, + "ANativeActivity_finish": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_hideSoftInput": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_setWindowFlags": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_setWindowFormat": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_showSoftInput": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ASensorManager_createEventQueue": { + "call_method": "custom_trampoline", + "header": "android/sensor.h" + }, + "AStorageManager_mountObb": { + "call_method": "custom_trampoline", + "header": "android/storage_manager.h" + }, + "AStorageManager_unmountObb": { + "call_method": "custom_trampoline", + "header": "android/storage_manager.h" + }, + "_ZN7android13IMountService10descriptorE": { + "call_method": "ignore", + "reason": "This variable is no part of public API" + }, + "_ZN7android18IObbActionListener10descriptorE": { + "call_method": "ignore", + "reason": "This variable is no part of public API" + } + }, + "types": { + "struct AInputEvent": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct APerformanceHintSession": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct ASurfaceControlStats": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct ASurfaceTransactionStats": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "_JNIEnv is made on x86 side is passed to x86 libandroid_runtime without changes" + ] + } + } +} diff --git a/android_api/libandroid/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libandroid/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..ceece83 --- /dev/null +++ b/android_api/libandroid/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,74 @@ +{ + "symbols": { + "AChoreographer_postFrameCallback": { + "call_method": "custom_trampoline", + "header": "android/choreographer.h" + }, + "AChoreographer_postFrameCallbackDelayed": { + "call_method": "custom_trampoline", + "header": "android/choreographer.h" + }, + "AInputQueue_attachLooper": { + "call_method": "custom_trampoline", + "header": "android/input.h" + }, + "ALooper_addFd": { + "call_method": "custom_trampoline", + "header": "android/looper.h" + }, + "ANativeActivity_finish": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_hideSoftInput": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_setWindowFlags": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_setWindowFormat": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ANativeActivity_showSoftInput": { + "call_method": "custom_trampoline", + "header": "android/native_activity.h" + }, + "ASensorManager_createEventQueue": { + "call_method": "custom_trampoline", + "header": "android/sensor.h" + }, + "AStorageManager_mountObb": { + "call_method": "custom_trampoline", + "header": "android/storage_manager.h" + }, + "AStorageManager_unmountObb": { + "call_method": "custom_trampoline", + "header": "android/storage_manager.h" + }, + "_ZN7android13IMountService10descriptorE": { + "call_method": "ignore", + "reason": "This variable is no part of public API" + }, + "_ZN7android18IObbActionListener10descriptorE": { + "call_method": "ignore", + "reason": "This variable is no part of public API" + } + }, + "types": { + "struct AInputEvent": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "_JNIEnv is made on x86 side is passed to x86 libandroid_runtime without changes" + ] + } + } +} diff --git a/android_api/libandroid_runtime/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libandroid_runtime/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..bf25a81 --- /dev/null +++ b/android_api/libandroid_runtime/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,19 @@ +{ + "config": { + "force_incompatible": true, + "ignore_variables": true + }, + "symbols": { + "_ZN7android10readLocaleEv": { + "call_method": "ignore", + "reason": [ + "This method has 'incomplete' type as one of the parameters", + "(see http://b/109794097) for details" + ] + }, + "_ZN7android14AndroidRuntime21registerNativeMethodsEP7_JNIEnvPKcPK15JNINativeMethodi": { + "call_method": "custom_trampoline" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libandroid_runtime/proxy/custom_trampolines_arm_to_x86.json b/android_api/libandroid_runtime/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..bf25a81 --- /dev/null +++ b/android_api/libandroid_runtime/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,19 @@ +{ + "config": { + "force_incompatible": true, + "ignore_variables": true + }, + "symbols": { + "_ZN7android10readLocaleEv": { + "call_method": "ignore", + "reason": [ + "This method has 'incomplete' type as one of the parameters", + "(see http://b/109794097) for details" + ] + }, + "_ZN7android14AndroidRuntime21registerNativeMethodsEP7_JNIEnvPKcPK15JNINativeMethodi": { + "call_method": "custom_trampoline" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libandroid_runtime/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libandroid_runtime/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..bf25a81 --- /dev/null +++ b/android_api/libandroid_runtime/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,19 @@ +{ + "config": { + "force_incompatible": true, + "ignore_variables": true + }, + "symbols": { + "_ZN7android10readLocaleEv": { + "call_method": "ignore", + "reason": [ + "This method has 'incomplete' type as one of the parameters", + "(see http://b/109794097) for details" + ] + }, + "_ZN7android14AndroidRuntime21registerNativeMethodsEP7_JNIEnvPKcPK15JNINativeMethodi": { + "call_method": "custom_trampoline" + } + }, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libbinder_ndk/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libbinder_ndk/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..31e86a9 --- /dev/null +++ b/android_api/libbinder_ndk/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,35 @@ +{ + "symbols": {}, + "types": { + "struct AIBinder const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_Class const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_Class*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_DeathRecipient*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + } + } +} diff --git a/android_api/libbinder_ndk/proxy/custom_trampolines_arm_to_x86.json b/android_api/libbinder_ndk/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..31e86a9 --- /dev/null +++ b/android_api/libbinder_ndk/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,35 @@ +{ + "symbols": {}, + "types": { + "struct AIBinder const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_Class const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_Class*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_DeathRecipient*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + } + } +} diff --git a/android_api/libbinder_ndk/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libbinder_ndk/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..31e86a9 --- /dev/null +++ b/android_api/libbinder_ndk/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,35 @@ +{ + "symbols": {}, + "types": { + "struct AIBinder const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_Class const*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_Class*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AIBinder_DeathRecipient*": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + } + } +} diff --git a/android_api/libc/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libc/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..81ed1d6 --- /dev/null +++ b/android_api/libc/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,591 @@ +{ + "config": { + "ignore_non_custom": true + }, + "symbols": { + "__clone_for_fork": { + "call_method": "custom_thunk", + "header": "unistd.h", + "is_compatible": true, + "signature": "i" + }, + "__get_thread_stack_top": { + "call_method": "custom_trampoline", + "header": "android_unsafe_frame_pointer_chase.h" + }, + "__pthread_cleanup_pop": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "reason_for_compatible": [ + "struct __pthread_cleanup_t has pointer to ", + "function. TODO(levarum): Is this an issue?" + ], + "signature": "vpi" + }, + "__pthread_cleanup_push": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "vppp" + }, + "__system_properties_init": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "i" + }, + "__system_property_add": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipupu" + }, + "__system_property_area_init": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "i" + }, + "__system_property_area_serial": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "u" + }, + "__system_property_find": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "pp" + }, + "__system_property_find_nth": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "pu" + }, + "__system_property_foreach": { + "call_method": "custom_trampoline", + "header": "sys/system_properties.h", + "signature": "ipp" + }, + "__system_property_get": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipp" + }, + "__system_property_read": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ippp" + }, + "__system_property_read_callback": { + "call_method": "custom_trampoline", + "header": "sys/system_properties.h", + "signature": "vppp" + }, + "__system_property_serial": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "up" + }, + "__system_property_set": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipp" + }, + "__system_property_set_filename": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ip" + }, + "__system_property_update": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ippu" + }, + "__system_property_wait": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipupp" + }, + "__system_property_wait_any": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "uu" + }, + "_longjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "_setjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ip" + }, + "android_getaddrinfofornet": { + "call_method": "default", + "comment": [ + "This function could contact daemon on certain android devices. ", + "Also certain android functions in libandroid return data ", + "structures which are supposed to be freed with freeaddrinfo" + ], + "header": "resolv_netid.h", + "is_compatible": true, + "signature": "ipppuup" + }, + "android_getaddrinfofornetcontext": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "resolv_netid.h", + "is_compatible": true, + "signature": "ippppp" + }, + "android_mallopt": { + "call_method": "default", + "is_compatible": true, + "signature": "iipz" + }, + "android_set_abort_message": { + "call_method": "default", + "header": "android/set_abort_message.h", + "is_compatible": true, + "signature": "vp" + }, + "clock_gettime": { + "call_method": "default", + "comment": "clock_gettime uses call to vdso symbol to avoid doing syscall, this is why we want to proxy it to the host library", + "header": "sys/time.h", + "is_compatible": true, + "signature": "iip" + }, + "clock_getres": { + "call_method": "default", + "comment": "See description for clock_gettime", + "header": "sys/time.h", + "is_compatible": true, + "signature": "iip" + }, + "environ": { + "call_method": "do_not_call", + "header": "unitstd.h", + "is_compatible": true + }, + "freeaddrinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "vp" + }, + "gai_strerror": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "pi" + }, + "getaddrinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ipppp" + }, + "gethostbyaddr": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ppii" + }, + "gethostbyname": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "pp" + }, + "getnameinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ipipipii" + }, + "gettimeofday": { + "call_method": "default", + "comment": "See description for clock_gettime", + "header": "sys/time.h", + "is_compatible": true, + "signature": "ipp" + }, + "longjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "memset": { + "call_method": "default", + "comment": "performance optimization", + "is_compatible": true, + "signature": "ppii" + }, + "memcpy": { + "call_method": "default", + "comment": "performance optimization", + "is_compatible": true, + "signature": "pppi" + }, + "memcmp": { + "call_method": "default", + "comment": "performance optimization", + "is_compatible": true, + "signature": "ippi" + }, + "native_bridge___cxa_thread_atexit_impl": { + "call_method": "custom_trampoline", + "header": "c++ abi" + }, + "native_bridge_aligned_alloc": { + "call_method": "custom_thunk", + "custom_thunk": "aligned_alloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_calloc": { + "call_method": "custom_thunk", + "custom_thunk": "calloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_exit": { + "call_method": "custom_thunk", + "custom_thunk": "exit", + "header": "stdlib.h", + "signature": "vi" + }, + "native_bridge_free": { + "call_method": "custom_thunk", + "custom_thunk": "free", + "header": "malloc.h", + "is_compatible": true, + "signature": "vp" + }, + "native_bridge_mallinfo": { + "call_method": "custom_trampoline", + "header": "malloc.h" + }, + "native_bridge_malloc": { + "call_method": "custom_thunk", + "custom_thunk": "malloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pz" + }, + "native_bridge_malloc_disable": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_disable", + "header": "malloc.h", + "is_compatible": true, + "signature": "v" + }, + "native_bridge_malloc_enable": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_enable", + "header": "malloc.h", + "is_compatible": true, + "signature": "v" + }, + "native_bridge_malloc_info_helper": { + "call_method": "custom_trampoline" + }, + "native_bridge_malloc_iterate": { + "call_method": "custom_trampoline", + "is_compatible": true, + "signature": "izzpp" + }, + "native_bridge_malloc_usable_size": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_usable_size", + "header": "malloc.h", + "is_compatible": true, + "signature": "zp" + }, + "native_bridge_mallopt": { + "call_method": "custom_thunk", + "custom_thunk": "mallopt", + "header": "malloc.h", + "is_compatible": true, + "signature": "iii" + }, + "native_bridge_memalign": { + "call_method": "custom_thunk", + "custom_thunk": "memalign", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_posix_memalign": { + "call_method": "custom_thunk", + "custom_thunk": "posix_memalign", + "header": "malloc.h", + "is_compatible": true, + "signature": "ipzz" + }, + "native_bridge_realloc": { + "call_method": "custom_thunk", + "custom_thunk": "realloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "ppz" + }, + "pthread_attr_destroy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ip" + }, + "pthread_attr_getdetachstate": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getguardsize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getinheritsched": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getschedpolicy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getscope": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getstack": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ippp" + }, + "pthread_attr_getstacksize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_init": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ip" + }, + "pthread_attr_setdetachstate": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setguardsize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipz" + }, + "pthread_attr_setinheritsched": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_setschedpolicy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setscope": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setstack": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ippz" + }, + "pthread_attr_setstacksize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipz" + }, + "pthread_create": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ipppp" + }, + "pthread_detach": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "il" + }, + "pthread_exit": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "vp" + }, + "pthread_getattr_np": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ilp" + }, + "pthread_getcpuclockid": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_getname_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilpl" + }, + "pthread_getschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilpp" + }, + "pthread_getspecific": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "pi" + }, + "pthread_gettid_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "il" + }, + "pthread_join": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_key_create": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ipp" + }, + "pthread_key_delete": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ii" + }, + "pthread_kill": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ili" + }, + "pthread_setname_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_setschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilip" + }, + "pthread_setschedprio": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ili" + }, + "pthread_setspecific": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "iip" + }, + "pthread_sigqueue": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilip" + }, + "setjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ip" + }, + "siglongjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "sigsetjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ipi" + }, + "time": { + "call_method": "default", + "comment": "See description for clock_gettime", + "header": "sys/time.h", + "is_compatible": true, + "signature": "lp" + } + }, + "types": {} +} diff --git a/android_api/libc/proxy/custom_trampolines_arm_to_x86.json b/android_api/libc/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..6d3d1bd --- /dev/null +++ b/android_api/libc/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,577 @@ +{ + "config": { + "ignore_non_custom": true + }, + "symbols": { + "__clone_for_fork": { + "call_method": "custom_thunk", + "header": "unistd.h", + "is_compatible": true, + "signature": "i" + }, + "__get_thread_stack_top": { + "call_method": "custom_trampoline", + "header": "android_unsafe_frame_pointer_chase.h" + }, + "__pthread_cleanup_pop": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "reason_for_compatible": [ + "struct __pthread_cleanup_t has pointer to ", + "function. TODO(levarum): Is this an issue?" + ], + "signature": "vpi" + }, + "__pthread_cleanup_push": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "vppp" + }, + "__system_properties_init": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "i" + }, + "__system_property_add": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipupu" + }, + "__system_property_area_init": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "i" + }, + "__system_property_area_serial": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "u" + }, + "__system_property_find": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "pp" + }, + "__system_property_find_nth": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "pu" + }, + "__system_property_foreach": { + "call_method": "custom_trampoline", + "header": "sys/system_properties.h", + "signature": "ipp" + }, + "__system_property_get": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipp" + }, + "__system_property_read": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ippp" + }, + "__system_property_read_callback": { + "call_method": "custom_trampoline", + "header": "sys/system_properties.h", + "signature": "vppp" + }, + "__system_property_serial": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "up" + }, + "__system_property_set": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipp" + }, + "__system_property_set_filename": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ip" + }, + "__system_property_update": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ippu" + }, + "__system_property_wait": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipupp" + }, + "__system_property_wait_any": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "uu" + }, + "_longjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "_setjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ip" + }, + "android_getaddrinfofornet": { + "call_method": "default", + "comment": [ + "This function could contact daemon on certain android devices. ", + "Also certain android functions in libandroid return data ", + "structures which are supposed to be freed with freeaddrinfo" + ], + "header": "resolv_netid.h", + "is_compatible": true, + "signature": "ipppuup" + }, + "android_getaddrinfofornetcontext": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "resolv_netid.h", + "is_compatible": true, + "signature": "ippppp" + }, + "android_mallopt": { + "call_method": "default", + "is_compatible": true, + "signature": "iipz" + }, + "android_set_abort_message": { + "call_method": "default", + "header": "android/set_abort_message.h", + "is_compatible": true, + "signature": "vp" + }, + "environ": { + "call_method": "do_not_call", + "header": "unitstd.h", + "is_compatible": true + }, + "freeaddrinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "vp" + }, + "gai_strerror": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "pi" + }, + "getaddrinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ipppp" + }, + "gethostbyaddr": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ppii" + }, + "gethostbyname": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "pp" + }, + "getnameinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ipipipii" + }, + "longjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "memset": { + "call_method": "default", + "comment": "performance optimization", + "is_compatible": true, + "signature": "ppii" + }, + "memcpy": { + "call_method": "default", + "comment": "performance optimization", + "is_compatible": true, + "signature": "pppi" + }, + "memcmp": { + "call_method": "default", + "comment": "performance optimization", + "is_compatible": true, + "signature": "ippi" + }, + "native_bridge___cxa_thread_atexit_impl": { + "call_method": "custom_trampoline", + "header": "c++ abi" + }, + "native_bridge_aligned_alloc": { + "call_method": "custom_thunk", + "custom_thunk": "aligned_alloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_calloc": { + "call_method": "custom_thunk", + "custom_thunk": "calloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_exit": { + "call_method": "custom_thunk", + "custom_thunk": "exit", + "header": "stdlib.h", + "signature": "vi" + }, + "native_bridge_free": { + "call_method": "custom_thunk", + "custom_thunk": "free", + "header": "malloc.h", + "is_compatible": true, + "signature": "vp" + }, + "native_bridge_mallinfo": { + "call_method": "custom_trampoline", + "header": "malloc.h" + }, + "native_bridge_malloc": { + "call_method": "custom_thunk", + "custom_thunk": "malloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pz" + }, + "native_bridge_malloc_disable": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_disable", + "header": "malloc.h", + "is_compatible": true, + "signature": "v" + }, + "native_bridge_malloc_enable": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_enable", + "header": "malloc.h", + "is_compatible": true, + "signature": "v" + }, + "native_bridge_malloc_info_helper": { + "call_method": "custom_trampoline" + }, + "native_bridge_malloc_iterate": { + "call_method": "custom_trampoline", + "is_compatible": true, + "signature": "izzpp" + }, + "native_bridge_malloc_usable_size": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_usable_size", + "header": "malloc.h", + "is_compatible": true, + "signature": "zp" + }, + "native_bridge_mallopt": { + "call_method": "custom_thunk", + "custom_thunk": "mallopt", + "header": "malloc.h", + "is_compatible": true, + "signature": "iii" + }, + "native_bridge_memalign": { + "call_method": "custom_thunk", + "custom_thunk": "memalign", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_posix_memalign": { + "call_method": "custom_thunk", + "custom_thunk": "posix_memalign", + "header": "malloc.h", + "is_compatible": true, + "signature": "ipzz" + }, + "native_bridge_pvalloc": { + "call_method": "custom_thunk", + "custom_thunk": "pvalloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pz" + }, + "native_bridge_realloc": { + "call_method": "custom_thunk", + "custom_thunk": "realloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "ppz" + }, + "native_bridge_valloc": { + "call_method": "custom_thunk", + "custom_thunk": "valloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pz" + }, + "pthread_attr_destroy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ip" + }, + "pthread_attr_getdetachstate": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getguardsize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getinheritsched": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getschedpolicy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getscope": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getstack": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ippp" + }, + "pthread_attr_getstacksize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_init": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ip" + }, + "pthread_attr_setdetachstate": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setguardsize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipz" + }, + "pthread_attr_setinheritsched": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_setschedpolicy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setscope": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setstack": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ippz" + }, + "pthread_attr_setstacksize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipz" + }, + "pthread_create": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ipppp" + }, + "pthread_detach": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "il" + }, + "pthread_exit": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "vp" + }, + "pthread_getattr_np": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ilp" + }, + "pthread_getcpuclockid": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_getname_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilpl" + }, + "pthread_getschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilpp" + }, + "pthread_getspecific": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "pi" + }, + "pthread_gettid_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "il" + }, + "pthread_join": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_key_create": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ipp" + }, + "pthread_key_delete": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ii" + }, + "pthread_kill": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ili" + }, + "pthread_setname_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_setschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilip" + }, + "pthread_setschedprio": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ili" + }, + "pthread_setspecific": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "iip" + }, + "pthread_sigqueue": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilip" + }, + "setjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ip" + }, + "siglongjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "sigsetjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ipi" + } + }, + "types": {} +} diff --git a/android_api/libc/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libc/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..e57d8a7 --- /dev/null +++ b/android_api/libc/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,573 @@ +{ + "config": { + "ignore_non_custom": true + }, + "symbols": { + "__clone_for_fork": { + "call_method": "custom_thunk", + "header": "unistd.h", + "is_compatible": true, + "signature": "i" + }, + "__get_thread_stack_top": { + "call_method": "custom_trampoline", + "header": "android_unsafe_frame_pointer_chase.h" + }, + "__pthread_cleanup_pop": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "reason_for_compatible": [ + "struct __pthread_cleanup_t has pointer to ", + "function. TODO(levarum): Is this an issue?" + ], + "signature": "vpi" + }, + "__pthread_cleanup_push": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "vppp" + }, + "__system_properties_init": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "i" + }, + "__system_property_add": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipupu" + }, + "__system_property_area_init": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "i" + }, + "__system_property_area_serial": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "u" + }, + "__system_property_find": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "pp" + }, + "__system_property_find_nth": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "pu" + }, + "__system_property_foreach": { + "call_method": "custom_trampoline", + "header": "sys/system_properties.h", + "signature": "ipp" + }, + "__system_property_get": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipp" + }, + "__system_property_read": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ippp" + }, + "__system_property_read_callback": { + "call_method": "custom_trampoline", + "header": "sys/system_properties.h", + "signature": "vppp" + }, + "__system_property_serial": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "up" + }, + "__system_property_set": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipp" + }, + "__system_property_set_filename": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ip" + }, + "__system_property_update": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ippu" + }, + "__system_property_wait": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "ipupp" + }, + "__system_property_wait_any": { + "call_method": "default", + "header": "sys/system_properties.h", + "is_compatible": true, + "signature": "uu" + }, + "_longjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "_setjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ip" + }, + "android_getaddrinfofornet": { + "call_method": "default", + "comment": [ + "This function could contact daemon on certain android devices. ", + "Also certain android functions in libandroid return data ", + "structures which are supposed to be freed with freeaddrinfo" + ], + "header": "resolv_netid.h", + "is_compatible": true, + "signature": "ipppuup" + }, + "android_getaddrinfofornetcontext": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "resolv_netid.h", + "is_compatible": true, + "signature": "ippppp" + }, + "android_mallopt": { + "call_method": "default", + "is_compatible": true, + "signature": "iipz" + }, + "android_set_abort_message": { + "call_method": "default", + "header": "android/set_abort_message.h", + "is_compatible": true, + "signature": "vp" + }, + "clock_gettime": { + "call_method": "default", + "comment": "clock_gettime uses call to vdso symbol to avoid doing syscall, this is why we want to proxy it to the host library", + "header": "sys/time.h", + "is_compatible": true, + "signature": "iip" + }, + "clock_getres": { + "call_method": "default", + "comment": "See description for clock_gettime", + "header": "sys/time.h", + "is_compatible": true, + "signature": "iip" + }, + "environ": { + "call_method": "do_not_call", + "header": "unitstd.h", + "is_compatible": true + }, + "freeaddrinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "vp" + }, + "gai_strerror": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "pi" + }, + "getaddrinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ipppp" + }, + "gethostbyaddr": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ppii" + }, + "gethostbyname": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "pp" + }, + "getnameinfo": { + "call_method": "default", + "comment": "See description for android_getaddrinfofornet", + "header": "netdb.h", + "is_compatible": true, + "signature": "ipipipii" + }, + "gettimeofday": { + "call_method": "default", + "comment": "See description for clock_gettime", + "header": "sys/time.h", + "is_compatible": true, + "signature": "ipp" + }, + "longjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "native_bridge___cxa_thread_atexit_impl": { + "call_method": "custom_trampoline", + "header": "c++ abi" + }, + "native_bridge_aligned_alloc": { + "call_method": "custom_thunk", + "custom_thunk": "aligned_alloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_calloc": { + "call_method": "custom_thunk", + "custom_thunk": "calloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_exit": { + "call_method": "custom_thunk", + "custom_thunk": "exit", + "header": "stdlib.h", + "signature": "vi" + }, + "native_bridge_free": { + "call_method": "custom_thunk", + "custom_thunk": "free", + "header": "malloc.h", + "is_compatible": true, + "signature": "vp" + }, + "native_bridge_mallinfo": { + "call_method": "custom_trampoline", + "header": "malloc.h" + }, + "native_bridge_malloc": { + "call_method": "custom_thunk", + "custom_thunk": "malloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "pz" + }, + "native_bridge_malloc_disable": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_disable", + "header": "malloc.h", + "is_compatible": true, + "signature": "v" + }, + "native_bridge_malloc_enable": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_enable", + "header": "malloc.h", + "is_compatible": true, + "signature": "v" + }, + "native_bridge_malloc_info_helper": { + "call_method": "custom_trampoline" + }, + "native_bridge_malloc_iterate": { + "call_method": "custom_trampoline", + "is_compatible": true, + "signature": "izzpp" + }, + "native_bridge_malloc_usable_size": { + "call_method": "custom_thunk", + "custom_thunk": "malloc_usable_size", + "header": "malloc.h", + "is_compatible": true, + "signature": "zp" + }, + "native_bridge_mallopt": { + "call_method": "custom_thunk", + "custom_thunk": "mallopt", + "header": "malloc.h", + "is_compatible": true, + "signature": "iii" + }, + "native_bridge_memalign": { + "call_method": "custom_thunk", + "custom_thunk": "memalign", + "header": "malloc.h", + "is_compatible": true, + "signature": "pzz" + }, + "native_bridge_posix_memalign": { + "call_method": "custom_thunk", + "custom_thunk": "posix_memalign", + "header": "malloc.h", + "is_compatible": true, + "signature": "ipzz" + }, + "native_bridge_realloc": { + "call_method": "custom_thunk", + "custom_thunk": "realloc", + "header": "malloc.h", + "is_compatible": true, + "signature": "ppz" + }, + "pthread_attr_destroy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ip" + }, + "pthread_attr_getdetachstate": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getguardsize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getinheritsched": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getschedpolicy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getscope": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_getstack": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ippp" + }, + "pthread_attr_getstacksize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_init": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ip" + }, + "pthread_attr_setdetachstate": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setguardsize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipz" + }, + "pthread_attr_setinheritsched": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipp" + }, + "pthread_attr_setschedpolicy": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setscope": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipi" + }, + "pthread_attr_setstack": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ippz" + }, + "pthread_attr_setstacksize": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ipz" + }, + "pthread_create": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ipppp" + }, + "pthread_detach": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "il" + }, + "pthread_exit": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "vp" + }, + "pthread_getattr_np": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ilp" + }, + "pthread_getcpuclockid": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_getname_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilpl" + }, + "pthread_getschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilpp" + }, + "pthread_getspecific": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "pi" + }, + "pthread_gettid_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "il" + }, + "pthread_join": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_key_create": { + "call_method": "custom_trampoline", + "header": "pthread.h", + "signature": "ipp" + }, + "pthread_key_delete": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ii" + }, + "pthread_kill": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ili" + }, + "pthread_setname_np": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilp" + }, + "pthread_setschedparam": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilip" + }, + "pthread_setschedprio": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ili" + }, + "pthread_setspecific": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "iip" + }, + "pthread_sigqueue": { + "call_method": "default", + "header": "pthread.h", + "is_compatible": true, + "signature": "ilip" + }, + "setjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ip" + }, + "siglongjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "vpi" + }, + "sigsetjmp": { + "call_method": "custom_thunk", + "header": "setjump.h", + "signature": "ipi" + }, + "time": { + "call_method": "default", + "comment": "See description for clock_gettime", + "header": "sys/time.h", + "is_compatible": true, + "signature": "lp" + } + }, + "types": {} +} diff --git a/android_api/libcamera2ndk/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libcamera2ndk/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..2889416 --- /dev/null +++ b/android_api/libcamera2ndk/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,69 @@ +{ + "symbols": { + "ACameraCaptureSession_capture": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_captureV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_capture": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_captureV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_setRepeatingRequest": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_setRepeatingRequestV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_setRepeatingRequest": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_setRepeatingRequestV2": { + "call_method": "custom_thunk" + }, + "ACameraDevice_createCaptureSession": { + "call_method": "custom_thunk" + }, + "ACameraDevice_createCaptureSessionWithSessionParameters": { + "call_method": "custom_thunk" + }, + "ACameraManager_openCamera": { + "call_method": "custom_thunk" + }, + "ACameraManager_registerAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_registerExtendedAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_unregisterAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_unregisterExtendedAvailabilityCallback": { + "call_method": "custom_thunk" + } + }, + "types": { + "struct ACameraCaptureSession": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct ACameraDevice": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "JNIEnv vtable is wrapped on startup" + ] + } + } +} diff --git a/android_api/libcamera2ndk/proxy/custom_trampolines_arm_to_x86.json b/android_api/libcamera2ndk/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..2889416 --- /dev/null +++ b/android_api/libcamera2ndk/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,69 @@ +{ + "symbols": { + "ACameraCaptureSession_capture": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_captureV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_capture": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_captureV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_setRepeatingRequest": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_setRepeatingRequestV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_setRepeatingRequest": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_setRepeatingRequestV2": { + "call_method": "custom_thunk" + }, + "ACameraDevice_createCaptureSession": { + "call_method": "custom_thunk" + }, + "ACameraDevice_createCaptureSessionWithSessionParameters": { + "call_method": "custom_thunk" + }, + "ACameraManager_openCamera": { + "call_method": "custom_thunk" + }, + "ACameraManager_registerAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_registerExtendedAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_unregisterAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_unregisterExtendedAvailabilityCallback": { + "call_method": "custom_thunk" + } + }, + "types": { + "struct ACameraCaptureSession": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct ACameraDevice": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "JNIEnv vtable is wrapped on startup" + ] + } + } +} diff --git a/android_api/libcamera2ndk/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libcamera2ndk/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..2889416 --- /dev/null +++ b/android_api/libcamera2ndk/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,69 @@ +{ + "symbols": { + "ACameraCaptureSession_capture": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_captureV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_capture": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_captureV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_setRepeatingRequest": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_logicalCamera_setRepeatingRequestV2": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_setRepeatingRequest": { + "call_method": "custom_thunk" + }, + "ACameraCaptureSession_setRepeatingRequestV2": { + "call_method": "custom_thunk" + }, + "ACameraDevice_createCaptureSession": { + "call_method": "custom_thunk" + }, + "ACameraDevice_createCaptureSessionWithSessionParameters": { + "call_method": "custom_thunk" + }, + "ACameraManager_openCamera": { + "call_method": "custom_thunk" + }, + "ACameraManager_registerAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_registerExtendedAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_unregisterAvailabilityCallback": { + "call_method": "custom_thunk" + }, + "ACameraManager_unregisterExtendedAvailabilityCallback": { + "call_method": "custom_thunk" + } + }, + "types": { + "struct ACameraCaptureSession": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct ACameraDevice": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct _JNIEnv*": { + "force_compatible": true, + "reason_for_compatible": [ + "JNIEnv vtable is wrapped on startup" + ] + } + } +} diff --git a/android_api/libjnigraphics/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libjnigraphics/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..af2fb45 --- /dev/null +++ b/android_api/libjnigraphics/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,11 @@ +{ + "symbols": { + "AImageDecoder_setCrop": { + "call_method": "custom_trampoline" + }, + "AImageDecoderFrameInfo_getFrameRect": { + "call_method": "custom_trampoline" + } + }, + "types": {} +} diff --git a/android_api/libjnigraphics/proxy/custom_trampolines_arm_to_x86.json b/android_api/libjnigraphics/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..af2fb45 --- /dev/null +++ b/android_api/libjnigraphics/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,11 @@ +{ + "symbols": { + "AImageDecoder_setCrop": { + "call_method": "custom_trampoline" + }, + "AImageDecoderFrameInfo_getFrameRect": { + "call_method": "custom_trampoline" + } + }, + "types": {} +} diff --git a/android_api/libjnigraphics/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libjnigraphics/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..af2fb45 --- /dev/null +++ b/android_api/libjnigraphics/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,11 @@ +{ + "symbols": { + "AImageDecoder_setCrop": { + "call_method": "custom_trampoline" + }, + "AImageDecoderFrameInfo_getFrameRect": { + "call_method": "custom_trampoline" + } + }, + "types": {} +} diff --git a/android_api/libmediandk/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libmediandk/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..1978150 --- /dev/null +++ b/android_api/libmediandk/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,72 @@ +{ + "symbols": { + "AImageReader_setBufferRemovedListener": { + "call_method": "custom_trampoline", + "header": "media/NdkImageReader.h" + }, + "AImageReader_setImageListener": { + "call_method": "custom_trampoline", + "header": "media/NdkImageReader.h" + }, + "AMediaCodec_dequeueOutputBuffer": { + "call_method": "default", + "is_custom_compatible": true, + "reason_for_compatible": [ + "struct AMediaCodecBufferInfo differs in align ", + "and size between ARM and x86_32. ", + "TODO(levarum): Require custom thunk" + ] + }, + "AMediaCodec_setAsyncNotifyCallback": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaCodec.h" + }, + "AMediaDataSource_setClose": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaDataSource_setGetSize": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaDataSource_setReadAt": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaMuxer_writeSampleData": { + "call_method": "default", + "is_custom_compatible": true, + "reason_for_compatible": [ + "struct AMediaCodecBufferInfo differs in align ", + "and size between ARM and x86_32. ", + "TODO(levarum): Require custom thunk" + ] + } + }, + "types": { + "struct AImageReader": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaCodec": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaDataSource": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaDrm": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + } + } +} diff --git a/android_api/libmediandk/proxy/custom_trampolines_arm_to_x86.json b/android_api/libmediandk/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..1978150 --- /dev/null +++ b/android_api/libmediandk/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,72 @@ +{ + "symbols": { + "AImageReader_setBufferRemovedListener": { + "call_method": "custom_trampoline", + "header": "media/NdkImageReader.h" + }, + "AImageReader_setImageListener": { + "call_method": "custom_trampoline", + "header": "media/NdkImageReader.h" + }, + "AMediaCodec_dequeueOutputBuffer": { + "call_method": "default", + "is_custom_compatible": true, + "reason_for_compatible": [ + "struct AMediaCodecBufferInfo differs in align ", + "and size between ARM and x86_32. ", + "TODO(levarum): Require custom thunk" + ] + }, + "AMediaCodec_setAsyncNotifyCallback": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaCodec.h" + }, + "AMediaDataSource_setClose": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaDataSource_setGetSize": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaDataSource_setReadAt": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaMuxer_writeSampleData": { + "call_method": "default", + "is_custom_compatible": true, + "reason_for_compatible": [ + "struct AMediaCodecBufferInfo differs in align ", + "and size between ARM and x86_32. ", + "TODO(levarum): Require custom thunk" + ] + } + }, + "types": { + "struct AImageReader": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaCodec": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaDataSource": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaDrm": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + } + } +} diff --git a/android_api/libmediandk/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libmediandk/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..7005637 --- /dev/null +++ b/android_api/libmediandk/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,54 @@ +{ + "symbols": { + "AImageReader_setBufferRemovedListener": { + "call_method": "custom_trampoline", + "header": "media/NdkImageReader.h" + }, + "AImageReader_setImageListener": { + "call_method": "custom_trampoline", + "header": "media/NdkImageReader.h" + }, + "AMediaCodec_setAsyncNotifyCallback": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaCodec.h" + }, + "AMediaDataSource_setClose": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaDataSource_setGetSize": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + }, + "AMediaDataSource_setReadAt": { + "call_method": "custom_trampoline", + "header": "media/NdkMediaDataSource.h" + } + }, + "types": { + "struct AImageReader": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaCodec": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaDataSource": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + }, + "struct AMediaDrm": { + "force_compatible": true, + "reason_for_compatible": [ + "It's opaque structure in public API" + ] + } + } +} diff --git a/android_api/libnativehelper/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libnativehelper/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..9292d47 --- /dev/null +++ b/android_api/libnativehelper/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,23 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "AFileDescriptor_create": { + "call_method": "custom_trampoline" + }, + "AFileDescriptor_getFd": { + "call_method": "custom_trampoline" + }, + "AFileDescriptor_setFd": { + "call_method": "custom_trampoline" + }, + "JNI_CreateJavaVM": { + "call_method": "custom_trampoline" + }, + "JNI_GetCreatedJavaVMs": { + "call_method": "custom_trampoline" + } + }, + "types": {} +} diff --git a/android_api/libnativehelper/proxy/custom_trampolines_arm_to_x86.json b/android_api/libnativehelper/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..9292d47 --- /dev/null +++ b/android_api/libnativehelper/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,23 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "AFileDescriptor_create": { + "call_method": "custom_trampoline" + }, + "AFileDescriptor_getFd": { + "call_method": "custom_trampoline" + }, + "AFileDescriptor_setFd": { + "call_method": "custom_trampoline" + }, + "JNI_CreateJavaVM": { + "call_method": "custom_trampoline" + }, + "JNI_GetCreatedJavaVMs": { + "call_method": "custom_trampoline" + } + }, + "types": {} +} diff --git a/android_api/libnativehelper/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libnativehelper/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..9292d47 --- /dev/null +++ b/android_api/libnativehelper/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,23 @@ +{ + "config": { + "ignore_variables": true + }, + "symbols": { + "AFileDescriptor_create": { + "call_method": "custom_trampoline" + }, + "AFileDescriptor_getFd": { + "call_method": "custom_trampoline" + }, + "AFileDescriptor_setFd": { + "call_method": "custom_trampoline" + }, + "JNI_CreateJavaVM": { + "call_method": "custom_trampoline" + }, + "JNI_GetCreatedJavaVMs": { + "call_method": "custom_trampoline" + } + }, + "types": {} +} diff --git a/android_api/libnativewindow/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libnativewindow/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..8c7affc --- /dev/null +++ b/android_api/libnativewindow/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +} diff --git a/android_api/libnativewindow/proxy/custom_trampolines_arm_to_x86.json b/android_api/libnativewindow/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..8c7affc --- /dev/null +++ b/android_api/libnativewindow/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +} diff --git a/android_api/libnativewindow/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libnativewindow/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..8c7affc --- /dev/null +++ b/android_api/libnativewindow/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +} diff --git a/android_api/libneuralnetworks/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libneuralnetworks/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..2033075 --- /dev/null +++ b/android_api/libneuralnetworks/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libneuralnetworks/proxy/custom_trampolines_arm_to_x86.json b/android_api/libneuralnetworks/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..2033075 --- /dev/null +++ b/android_api/libneuralnetworks/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libneuralnetworks/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libneuralnetworks/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..2033075 --- /dev/null +++ b/android_api/libneuralnetworks/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,4 @@ +{ + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_arm64_to_x86_64.json b/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_arm64_to_x86_64.json new file mode 100644 index 0000000..5c65780 --- /dev/null +++ b/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_arm64_to_x86_64.json @@ -0,0 +1,11 @@ +{ + "config": { + "force_incompatible": true, + "reason": [ + "This library is used solely by webview.apk. Which means the guest ", + "copy of the library should never be called" + ] + }, + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_arm_to_x86.json b/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_arm_to_x86.json new file mode 100644 index 0000000..5c65780 --- /dev/null +++ b/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_arm_to_x86.json @@ -0,0 +1,11 @@ +{ + "config": { + "force_incompatible": true, + "reason": [ + "This library is used solely by webview.apk. Which means the guest ", + "copy of the library should never be called" + ] + }, + "symbols": {}, + "types": {} +}
\ No newline at end of file diff --git a/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_riscv64_to_x86_64.json b/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_riscv64_to_x86_64.json new file mode 100644 index 0000000..5c65780 --- /dev/null +++ b/android_api/libwebviewchromium_plat_support/proxy/custom_trampolines_riscv64_to_x86_64.json @@ -0,0 +1,11 @@ +{ + "config": { + "force_incompatible": true, + "reason": [ + "This library is used solely by webview.apk. Which means the guest ", + "copy of the library should never be called" + ] + }, + "symbols": {}, + "types": {} +}
\ No newline at end of file |