Filter out the java symbols that shouldnt be public in abidiff

This commit is contained in:
pancake 2023-06-04 06:07:33 +02:00 committed by pancake
parent 2990197903
commit eb6f28b174
2 changed files with 12 additions and 8 deletions

View File

@ -593,13 +593,17 @@ jobs:
tar -xvf r2-static-latest.tar.xz -C r2-static-latest --strip-components=1
- name: ABI compatibility check
run: |
echo '[suppress_function]' > abidiff.conf
echo 'name_regexp = ^r_bin_java.*' >> abidiff.conf
echo 'name_not_regexp = ^r_.*' >> abidiff.conf
echo '[suppress_variable]' >> abidiff.conf
echo 'name_not_regexp = ^r_.*' >> abidiff.conf
A=abidiff.conf
echo '[suppress_function]' > $A
echo 'name_regexp = .*java.*' >> $A
echo '[suppress_function]' >> $A
echo 'name_not_regexp = ^r_.*' >> $A
echo '[suppress_function]' >> $A
echo 'name_regexp = r_bin_add_import' >> $A
echo '[suppress_variable]' >> $A
echo 'name_not_regexp = ^r_.*' >> $A
for lib in r2-static-latest/usr/lib/libr_*.so; do
echo $lib ; abidiff --suppr abidiff.conf ${lib} r2-static/usr/lib/$(basename ${lib});
echo $lib ; abidiff --suppr $A ${lib} r2-static/usr/lib/$(basename ${lib});
done

View File

@ -2934,7 +2934,7 @@ R_API RList *U(r_bin_java_get_fields)(RBinJavaObj * bin) {
return fields;
}
R_API void r_bin_add_import(RBinJavaObj *bin, RBinJavaCPTypeObj *obj, const char *type) {
static void add_import(RBinJavaObj *bin, RBinJavaCPTypeObj *obj, const char *type) {
RBinImport *imp = R_NEW0 (RBinImport);
char *class_name = r_bin_java_get_name_from_bin_cp_list (bin, obj->info.cp_method.class_idx);
char *name = r_bin_java_get_name_from_bin_cp_list (bin, obj->info.cp_method.name_and_type_idx);
@ -2965,7 +2965,7 @@ R_API void r_bin_java_set_imports(RBinJavaObj *bin) {
default: type = NULL; break;
}
if (type) {
r_bin_add_import (bin, obj, type);
add_import (bin, obj, type);
}
}
}