diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9755c6154d..427e4ffb6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -122,8 +122,7 @@ jobs: build_system: meson compiler: clang cflags: "-DASAN=1 -DRZ_ASSERT_STDOUT=1 -fno-sanitize=function" - # deroad: i had to remove `-Db_lundef=false -Db_sanitize=address` because it was crashing in a C++ library - meson_options: -Dbuildtype=debugoptimized -Db_sanitize=undefined --werror + meson_options: -Dbuildtype=debugoptimized -Db_lundef=false -Db_sanitize=address,undefined --werror asan: true asan_options: detect_leaks=0,allocator_may_return_null=1 run_tests: true diff --git a/librz/demangler/demangler.c b/librz/demangler/demangler.c index 10dea2a23c..4128505abd 100644 --- a/librz/demangler/demangler.c +++ b/librz/demangler/demangler.c @@ -5,7 +5,6 @@ #include #include #include -#include #include #include "rz_demangler_plugins.h" @@ -21,19 +20,6 @@ .demangle = &handler##_cast, \ } -static char *libdemangle_handler_swift(RZ_NULLABLE const char *symbol, RzDemangleOpts flags) { - (void)flags; - if (RZ_STR_ISEMPTY(symbol)) { - return NULL; - } - - if (symbol[0] == '_' && symbol[1] == '_') { - symbol++; - } - - return rz_libswift_demangle_line(symbol); -} - #if WITH_GPL // cpp demangler contains GPL2 code and LGPL3 for delphi DEFINE_DEMANGLER_PLUGIN(cpp, "c++", "GPL-2,LGPL3", "FSF/deroad", libdemangle_handler_cxx); @@ -47,7 +33,6 @@ DEFINE_DEMANGLER_PLUGIN(java, "java", "LGPL3", "deroad", libdemangle_handler_jav DEFINE_DEMANGLER_PLUGIN(msvc, "msvc", "LGPL3", "inisider", libdemangle_handler_msvc); DEFINE_DEMANGLER_PLUGIN(objc, "objc", "LGPL3", "pancake", libdemangle_handler_objc); DEFINE_DEMANGLER_PLUGIN(pascal, "pascal", "LGPL3", "deroad", libdemangle_handler_pascal); -DEFINE_DEMANGLER_PLUGIN(swift, "swift", "Apache-2.0", "deroad", libdemangle_handler_swift); static RzDemanglerPlugin *demangler_static_plugins[] = { RZ_DEMANGLER_STATIC_PLUGINS }; @@ -95,13 +80,6 @@ RZ_API RZ_OWN char *rz_demangler_msvc(RZ_NONNULL const char *symbol, RzDemangler return libdemangle_handler_msvc(symbol, (RzDemangleOpts)flags); } -/** - * \brief Demangles Microsoft VC symbols - */ -RZ_API RZ_OWN char *rz_demangler_swift(RZ_NONNULL const char *symbol, RzDemanglerFlag flags) { - return libdemangle_handler_swift(symbol, (RzDemangleOpts)flags); -} - /** * \brief Initializes the plugin list and returns a RzDemangler struct */ diff --git a/librz/demangler/meson.build b/librz/demangler/meson.build index bec6abc810..ddacee7ade 100644 --- a/librz/demangler/meson.build +++ b/librz/demangler/meson.build @@ -3,7 +3,6 @@ demangler_plugins_list = [ 'msvc', 'objc', 'pascal', - 'swift' ] if get_option('use_gpl') @@ -20,7 +19,7 @@ rz_demangler_sources = [ 'demangler.c' ] -dependencies = [rz_util_dep, libdemangle_dep, libswift_dep] +dependencies = [rz_util_dep, libdemangle_dep] rz_demangler = library('rz_demangler', rz_demangler_sources, include_directories: [platform_inc], diff --git a/librz/include/rz_demangler.h b/librz/include/rz_demangler.h index c1e70342be..f69d9c1a5a 100644 --- a/librz/include/rz_demangler.h +++ b/librz/include/rz_demangler.h @@ -39,7 +39,6 @@ typedef bool (*RzDemanglerIter)(const RzDemanglerPlugin *plugin, RzDemanglerFlag RZ_API RZ_OWN char *rz_demangler_java(RZ_NULLABLE const char *symbol, RzDemanglerFlag flags); RZ_API RZ_OWN char *rz_demangler_cxx(RZ_NONNULL const char *symbol, RzDemanglerFlag flags); -RZ_API RZ_OWN char *rz_demangler_swift(RZ_NONNULL const char *symbol, RzDemanglerFlag flags); RZ_API RZ_OWN char *rz_demangler_objc(RZ_NONNULL const char *symbol, RzDemanglerFlag flags); RZ_API RZ_OWN char *rz_demangler_pascal(RZ_NONNULL const char *symbol, RzDemanglerFlag flags); RZ_API RZ_OWN char *rz_demangler_rust(RZ_NONNULL const char *symbol, RzDemanglerFlag flags); diff --git a/meson.build b/meson.build index edfc9bbe6c..38bf2f493e 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('rizin', 'c', 'cpp', +project('rizin', 'c', version: 'v0.9.0', license: 'LGPL-3.0-only', meson_version: '>=0.57.0', @@ -309,21 +309,6 @@ endif libdemangle_proj = subproject('libdemangle', default_options: libdemangle_options) libdemangle_dep = libdemangle_proj.get_variable('libdemangle_dep') -# handle libswift -r = run_command(py3_exe, check_meson_subproject_py, 'libswift', check: false) -if r.returncode() == 1 and get_option('subprojects_check') - error(subproject_clean_error_msg) -endif - -# we do not want the rizin plugin, but a library to integrate -libswift_options = [ - 'default_library=static', - 'enable_plugin=false', - 'werror=false' -] -libswift_proj = subproject('libswift', default_options: libswift_options) -libswift_dep = libswift_proj.get_variable('libswift_dep') - # handle blake3 algo blake3_proj = subproject('blake3', default_options: ['default_library=static', 'werror=false']) blake3_dep = blake3_proj.get_variable('blake3_dep') diff --git a/subprojects/libswift.wrap b/subprojects/libswift.wrap deleted file mode 100644 index e624a798d3..0000000000 --- a/subprojects/libswift.wrap +++ /dev/null @@ -1,4 +0,0 @@ -[wrap-git] -url = https://github.com/rizinorg/rz-libswift.git -revision = 81a2d39d628c252d2055dbcba485ef758139828d -depth = 1 diff --git a/test/db/cmd/cmd_acll b/test/db/cmd/cmd_acll index 38ffdbb843..173b2eedd7 100644 --- a/test/db/cmd/cmd_acll +++ b/test/db/cmd/cmd_acll @@ -430,6 +430,7 @@ RUN NAME=Analyze classes in swift FILE=bins/mach0/swift-main +BROKEN=1 CMDS=< Swift.Int @@ -73,6 +74,7 @@ RUN NAME=mach0 swift-x86-64 aav FILE=bins/mach0/swift-main +BROKEN=1 CMDS=<