Remove rz-libswift to avoid embedding C++ projects. (#5320)
* Remove rz-libswift to avoid embedding C++ projects. * Fix test
This commit is contained in:
parent
255e3a3451
commit
d933ccc4e5
11 changed files with 13 additions and 49 deletions
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
#include <rz_demangler.h>
|
||||
#include <rz_util.h>
|
||||
#include <rz_libdemangle.h>
|
||||
#include <rz_libswift.h>
|
||||
#include <rz_lib.h>
|
||||
|
||||
#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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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],
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
17
meson.build
17
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')
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
[wrap-git]
|
||||
url = https://github.com/rizinorg/rz-libswift.git
|
||||
revision = 81a2d39d628c252d2055dbcba485ef758139828d
|
||||
depth = 1
|
||||
|
|
@ -430,6 +430,7 @@ RUN
|
|||
|
||||
NAME=Analyze classes in swift
|
||||
FILE=bins/mach0/swift-main
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
aaa
|
||||
acll
|
||||
|
|
@ -498,6 +499,7 @@ RUN
|
|||
|
||||
NAME=Analyze class inheritance in swift
|
||||
FILE=bins/mach0/swift-bin-multi-inherit
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
aaa
|
||||
acll
|
||||
|
|
|
|||
|
|
@ -347,6 +347,7 @@ RUN
|
|||
|
||||
NAME=DYLD_CHAINED_PTR_64
|
||||
FILE=bins/mach0/ios-DYLD_CHAINED_PTR_64
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
pv8 @ 0x100011538 # resolved pointer to "v32@0:8@16@24" string
|
||||
ic
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ RUN
|
|||
|
||||
NAME=objc categories (swift)
|
||||
FILE=bins/mach0/TestSwiftObjc
|
||||
BROKEN=1
|
||||
CMDS=ic
|
||||
EXPECT=<<EOF
|
||||
address min max name super
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
NAME=mach0 swift demangle methods
|
||||
FILE=bins/mach0/swift-main
|
||||
BROKEN=1
|
||||
CMDS=isq~main.
|
||||
EXPECT=<<EOF
|
||||
0x100001b70 0 main.moin() -> Swift.Int
|
||||
|
|
@ -73,6 +74,7 @@ RUN
|
|||
|
||||
NAME=mach0 swift-x86-64 aav
|
||||
FILE=bins/mach0/swift-main
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
C*~^?Cd
|
||||
aav
|
||||
|
|
@ -88,6 +90,7 @@ RUN
|
|||
|
||||
NAME=swift-x86-64 calling convention
|
||||
FILE=bins/mach0/swift5.1-throwError
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
s sym.throwError.Thrower.throwError.Thrower.throwMyError___throws
|
||||
af
|
||||
|
|
@ -123,6 +126,7 @@ RUN
|
|||
|
||||
NAME=swift-x86-64 calling convention json
|
||||
FILE=bins/mach0/swift5.1-throwError
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
s sym.throwError.Thrower.throwError.Thrower.throwMyError___throws
|
||||
af
|
||||
|
|
@ -139,6 +143,7 @@ RUN
|
|||
|
||||
NAME=swift-x86-64 bin classes and methods
|
||||
FILE=bins/mach0/swift-main
|
||||
BROKEN=1
|
||||
CMDS=<<EOF
|
||||
ic
|
||||
icm
|
||||
|
|
@ -192,4 +197,4 @@ EXPECT=<<EOF
|
|||
0x1000021b0 36 main.Tost msg.setter : Swift.String
|
||||
0x100002210 37 main.Tost msg.materializeForSet : Swift.String
|
||||
EOF
|
||||
RUN
|
||||
RUN
|
||||
|
|
|
|||
|
|
@ -906,7 +906,6 @@ java LGPL3 deroad
|
|||
msvc LGPL3 inisider
|
||||
objc LGPL3 pancake
|
||||
pascal LGPL3 deroad
|
||||
swift Apache-2.0 deroad
|
||||
c++ GPL-2,LGPL3 FSF/deroad
|
||||
rust LGPL3 Dhruv Maroo/RizinOrg
|
||||
EOF
|
||||
|
|
|
|||
Loading…
Reference in a new issue