As a shared object
This commit is contained in:
parent
eff38adb3b
commit
eff5e7577b
12
configure
vendored
12
configure
vendored
@ -449,8 +449,6 @@ slirp_smbd="$default_feature"
|
|||||||
malloc_trim="auto"
|
malloc_trim="auto"
|
||||||
gio="$default_feature"
|
gio="$default_feature"
|
||||||
|
|
||||||
libafl_bridge=""
|
|
||||||
|
|
||||||
# parse CC options second
|
# parse CC options second
|
||||||
for opt do
|
for opt do
|
||||||
optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
|
optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
|
||||||
@ -1583,12 +1581,10 @@ for opt do
|
|||||||
;;
|
;;
|
||||||
--disable-slirp-smbd) slirp_smbd=no
|
--disable-slirp-smbd) slirp_smbd=no
|
||||||
;;
|
;;
|
||||||
--with-libafl-bridge=*)
|
--as-shared-lib)
|
||||||
libafl_bridge="$optarg"
|
QEMU_LDFLAGS="$QEMU_LDFLAGS -shared"
|
||||||
if ! (file "$libafl_bridge" | grep "ar archive" > /dev/null); then
|
QEMU_CFLAGS="QEMU_CFLAGS -fPIC -DAS_SHARED_LIB=1"
|
||||||
error_exit "$libafl_bridge is not an ar archive"
|
QEMU_CXXFLAGS="QEMU_CXXFLAGS -fPIC -DAS_SHARED_LIB=1"
|
||||||
fi
|
|
||||||
QEMU_LDFLAGS="$QEMU_LDFLAGS -Wl,--whole-archive $libafl_bridge -Wl,-no-whole-archive -lm -ldl -pthread"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "ERROR: unknown option $opt"
|
echo "ERROR: unknown option $opt"
|
||||||
|
@ -654,7 +654,14 @@ int libafl_qemu_run(void)
|
|||||||
|
|
||||||
//// --- End LibAFL code ---
|
//// --- End LibAFL code ---
|
||||||
|
|
||||||
|
#ifdef AS_SHARED_LIB
|
||||||
|
int qemu_user_init(int argc, char **argv, char **envp);
|
||||||
|
__attribute__((section(".init_array"))) static void *ctr = &qemu_user_init;
|
||||||
|
|
||||||
|
int qemu_user_init(int argc, char **argv, char **envp)
|
||||||
|
#else
|
||||||
int main(int argc, char **argv, char **envp)
|
int main(int argc, char **argv, char **envp)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
struct target_pt_regs regs1, *regs = ®s1;
|
struct target_pt_regs regs1, *regs = ®s1;
|
||||||
//struct image_info info1, *info = &info1;
|
//struct image_info info1, *info = &info1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user