Fixes for the android build and related warnings
This commit is contained in:
parent
3ef9a7cc95
commit
709ffb60b6
8 changed files with 33 additions and 29 deletions
|
|
@ -30,5 +30,4 @@ Build farm, see `sys/android-shell.sh` and `sys/android-build.sh`
|
|||
|
||||
Environment:
|
||||
|
||||
NDK_ARCH=arm|x86
|
||||
STATIC_BUILD=0|1
|
||||
NDK_ARCH=arm|arm64|x86
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ static bool advance_till_scope_end(RAnal* anal, RAnalOp *op, ut64 address, ut32
|
|||
ut8 buffer[16];
|
||||
ut8 *ptr = buffer;
|
||||
ut8 *end = ptr + sizeof (buffer);
|
||||
WasmOp wop = {0};
|
||||
WasmOp wop = {{0}};
|
||||
int size = 0;
|
||||
while (anal->iob.read_at (anal->iob.io, address, buffer, sizeof (buffer))) {
|
||||
size = wasm_dis (&wop, ptr, end - ptr);
|
||||
|
|
@ -72,7 +72,7 @@ static bool advance_till_scope_end(RAnal* anal, RAnalOp *op, ut64 address, ut32
|
|||
|
||||
// analyzes the wasm opcode.
|
||||
static int wasm_op(RAnal *anal, RAnalOp *op, ut64 addr, const ut8 *data, int len) {
|
||||
WasmOp wop = {0};
|
||||
WasmOp wop = {{0}};
|
||||
RAnalHint *hint = NULL;
|
||||
memset (op, '\0', sizeof (RAnalOp));
|
||||
int ret = wasm_dis (&wop, data, len);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ static void print_string(RBinFile *bf, RBinString *string, int raw) {
|
|||
vaddr = addr = r_bin_get_vaddr (bin, string->paddr, string->vaddr);
|
||||
|
||||
// If raw string dump mode, use printf to dump directly to stdout.
|
||||
PrintfCallback temp = io->cb_printf;
|
||||
// PrintfCallback temp = io->cb_printf;
|
||||
switch (mode) {
|
||||
case R_MODE_SIMPLEST:
|
||||
io->cb_printf ("%s\n", string->string);
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ R_API int r_cmd_call(RCmd *cmd, const char *input) {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
if (input[0] == -1) {
|
||||
if (!*input) {
|
||||
free (nstr);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ static int r_debug_native_detach (RDebug *dbg, int pid) {
|
|||
#elif __BSD__
|
||||
return ptrace (PT_DETACH, pid, NULL, 0);
|
||||
#else
|
||||
return r_debug_ptrace (dbg, PTRACE_DETACH, pid, NULL, NULL);
|
||||
return r_debug_ptrace (dbg, PTRACE_DETACH, pid, NULL, (r_ptrace_data_t)(size_t)0);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -1609,7 +1609,7 @@ static bool arm32_hwbp_del (RDebug *dbg, RBreakpoint *bp, RBreakpointItem *b) {
|
|||
|
||||
#if __arm64__ || __aarch64__
|
||||
// type = 2 = write
|
||||
static volatile uint8_t var[96] __attribute__((__aligned__(32)));
|
||||
//static volatile uint8_t var[96] __attribute__((__aligned__(32)));
|
||||
|
||||
static bool ll_arm64_hwbp_set(pid_t pid, ut64 _addr, int size, int wp, ut32 type) {
|
||||
const volatile uint8_t *addr = (void*)(size_t)_addr; //&var[32 + wp];
|
||||
|
|
@ -1647,7 +1647,7 @@ static bool ll_arm64_hwbp_set(pid_t pid, ut64 _addr, int size, int wp, ut32 type
|
|||
}
|
||||
|
||||
static bool ll_arm64_hwbp_del(pid_t pid, ut64 _addr, int size, int wp, ut32 type) {
|
||||
const volatile uint8_t *addr = &var[32 + wp];
|
||||
// const volatile uint8_t *addr = &var[32 + wp];
|
||||
// TODO: support multiple watchpoints and find
|
||||
struct user_hwdebug_state dreg_state = {0};
|
||||
struct iovec iov = {0};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2009-2018 - pancake */
|
||||
/* radare - LGPL - Copyright 2009-2019 - pancake */
|
||||
|
||||
#include <r_userconf.h>
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ static int linux_stop_process(int pid);
|
|||
|
||||
int linux_handle_signals (RDebug *dbg) {
|
||||
siginfo_t siginfo = {0};
|
||||
int ret = r_debug_ptrace (dbg, PTRACE_GETSIGINFO, dbg->pid, 0, &siginfo);
|
||||
int ret = r_debug_ptrace (dbg, PTRACE_GETSIGINFO, dbg->pid, 0, (r_ptrace_data_t)(size_t)&siginfo);
|
||||
if (ret == -1) {
|
||||
/* ESRCH means the process already went away :-/ */
|
||||
if (errno == ESRCH) {
|
||||
|
|
@ -169,7 +169,7 @@ RDebugReasonType linux_ptrace_event (RDebug *dbg, int pid, int status) {
|
|||
break;
|
||||
case PTRACE_EVENT_CLONE:
|
||||
if (dbg->trace_clone) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_GETEVENTMSG, pid, 0, &data) == -1) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_GETEVENTMSG, pid, 0, (r_ptrace_data_t)(size_t)&data) == -1) {
|
||||
r_sys_perror ("ptrace GETEVENTMSG");
|
||||
return R_DEBUG_REASON_ERROR;
|
||||
}
|
||||
|
|
@ -180,7 +180,7 @@ RDebugReasonType linux_ptrace_event (RDebug *dbg, int pid, int status) {
|
|||
break;
|
||||
case PTRACE_EVENT_FORK:
|
||||
if (dbg->trace_forks) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_GETEVENTMSG, pid, 0, &data) == -1) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_GETEVENTMSG, pid, 0, (r_ptrace_data_t)(size_t)&data) == -1) {
|
||||
r_sys_perror ("ptrace GETEVENTMSG");
|
||||
return R_DEBUG_REASON_ERROR;
|
||||
}
|
||||
|
|
@ -193,7 +193,7 @@ RDebugReasonType linux_ptrace_event (RDebug *dbg, int pid, int status) {
|
|||
}
|
||||
break;
|
||||
case PTRACE_EVENT_EXIT:
|
||||
if (r_debug_ptrace (dbg, PTRACE_GETEVENTMSG, pid, 0, &data) == -1) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_GETEVENTMSG, pid, 0, (r_ptrace_data_t)(size_t)&data) == -1) {
|
||||
r_sys_perror ("ptrace GETEVENTMSG");
|
||||
return R_DEBUG_REASON_ERROR;
|
||||
}
|
||||
|
|
@ -252,7 +252,7 @@ static void linux_detach_all (RDebug *dbg) {
|
|||
RListIter *it;
|
||||
r_list_foreach (th_list, it, th) {
|
||||
if (th->pid != dbg->main_pid) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_DETACH, th->pid, NULL, NULL) == -1) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_DETACH, th->pid, NULL, (r_ptrace_data_t)(size_t)NULL) == -1) {
|
||||
perror ("PTRACE_DETACH");
|
||||
}
|
||||
}
|
||||
|
|
@ -260,7 +260,7 @@ static void linux_detach_all (RDebug *dbg) {
|
|||
}
|
||||
|
||||
// Detaching from main proc
|
||||
if (r_debug_ptrace (dbg, PTRACE_DETACH, dbg->main_pid, NULL, NULL) == -1) {
|
||||
if (r_debug_ptrace (dbg, PTRACE_DETACH, dbg->main_pid, NULL, (r_ptrace_data_t)(size_t)NULL) == -1) {
|
||||
perror ("PTRACE_DETACH");
|
||||
}
|
||||
}
|
||||
|
|
@ -408,7 +408,7 @@ static int linux_stop_process(int pid) {
|
|||
static int linux_attach_single_pid(RDebug *dbg, int ptid) {
|
||||
int ret = 0;
|
||||
linux_set_options (dbg, ptid);
|
||||
ret = r_debug_ptrace (dbg, PTRACE_ATTACH, ptid, NULL, NULL);
|
||||
ret = r_debug_ptrace (dbg, PTRACE_ATTACH, ptid, NULL, (r_ptrace_data_t)(size_t)NULL);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -880,7 +880,7 @@ int linux_reg_read (RDebug *dbg, int type, ut8 *buf, int size) {
|
|||
.iov_base = ®s,
|
||||
.iov_len = sizeof (regs)
|
||||
};
|
||||
ret = r_debug_ptrace (dbg, PTRACE_GETREGSET, pid, NT_PRSTATUS, &io);
|
||||
ret = r_debug_ptrace (dbg, PTRACE_GETREGSET, pid, (void*)(size_t)NT_PRSTATUS, (r_ptrace_data_t)(size_t)&io);
|
||||
}
|
||||
#elif __BSD__ && __POWERPC__ || __sparc__
|
||||
ret = r_debug_ptrace (dbg, PTRACE_GETREGS, pid, ®s, NULL);
|
||||
|
|
@ -932,10 +932,10 @@ int linux_reg_write (RDebug *dbg, int type, const ut8 *buf, int size) {
|
|||
if (type == R_REG_TYPE_GPR) {
|
||||
#if __arm64__ || __aarch64__
|
||||
struct iovec io = {
|
||||
.iov_base = buf,
|
||||
.iov_base = (void*)buf,
|
||||
.iov_len = sizeof (R_DEBUG_REG_T)
|
||||
};
|
||||
int ret = r_debug_ptrace (dbg, PTRACE_SETREGSET, dbg->pid, NT_PRSTATUS, &io);
|
||||
int ret = r_debug_ptrace (dbg, PTRACE_SETREGSET, dbg->pid, (void*)(size_t)NT_PRSTATUS, (r_ptrace_data_t)(size_t)&io);
|
||||
#elif __POWERPC__ || __sparc__
|
||||
int ret = r_debug_ptrace (dbg, PTRACE_SETREGS, dbg->pid, buf, NULL);
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -42,12 +42,12 @@ static int replace(int argc, const char *argv[], char *newstr) {
|
|||
{ 0, "b.w", "jmp #", { 1 } },
|
||||
{ 0, "b.gt", "jmp ifgt #", { 1 } },
|
||||
{ 0, "b.le", "jmp ifle #", { 1 } },
|
||||
{ 0, "beq lr", "ifeq ret", { NULL } },
|
||||
{ 0, "beq lr", "ifeq ret", { 0 } },
|
||||
{ 0, "beq", "je #", { 1 } },
|
||||
{ 0, "call", "#()", { 1 } },
|
||||
{ 0, "bl", "#()", { 1 } },
|
||||
{ 0, "blx", "#()", { 1 } },
|
||||
{ 0, "bx lr", "ret", { NULL } },
|
||||
{ 0, "bx lr", "ret", { 0 } },
|
||||
{ 0, "bxeq", "je #", { 1 } },
|
||||
{ 0, "cmf", "if (# == #)", { 1, 2 } },
|
||||
{ 0, "cmn", "if (# != #)", { 1, 2 } },
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
BUILD=1
|
||||
FLAGS=""
|
||||
PREFIX="/data/data/org.radare.radare2installer/radare2"
|
||||
MAKE=make
|
||||
gmake --help >/dev/null 2>&1
|
||||
[ $? = 0 ] && MAKE=gmake
|
||||
|
||||
type pax
|
||||
[ $? != 0 ] && exit 1
|
||||
|
|
@ -106,7 +109,7 @@ if [ "${BUILD}" = 1 ]; then
|
|||
sleep 1
|
||||
|
||||
if [ 1 = 1 ]; then
|
||||
make mrproper
|
||||
${MAKE} mrproper
|
||||
if [ $STATIC_BUILD = 1 ]; then
|
||||
CFGFLAGS="--with-libr"
|
||||
fi
|
||||
|
|
@ -119,7 +122,7 @@ if [ "${BUILD}" = 1 ]; then
|
|||
./configure --with-compiler=android --without-libuv \
|
||||
--with-ostype=android \
|
||||
--prefix=${PREFIX} ${CFGFLAGS} || exit 1
|
||||
make -s -j 4 || exit 1
|
||||
${MAKE} -s -j 4 || exit 1
|
||||
fi
|
||||
fi
|
||||
rm -rf $D
|
||||
|
|
@ -128,15 +131,15 @@ mkdir -p $D
|
|||
HERE=${PWD}
|
||||
INSTALL_PROGRAM=`grep INSTALL_DATA config-user.mk|cut -d = -f 2`
|
||||
|
||||
make install INSTALL_PROGRAM="${INSTALL_PROGRAM}" DESTDIR="$HERE/$D" || exit 1
|
||||
${MAKE} install INSTALL_PROGRAM="${INSTALL_PROGRAM}" DESTDIR="$HERE/$D" || exit 1
|
||||
|
||||
make purge-dev DESTDIR=${PWD}/${D} STRIP="${STRIP}"
|
||||
${MAKE} purge-dev DESTDIR="${PWD}/${D}" STRIP="${STRIP}"
|
||||
#make purge-doc DESTDIR=${PWD}/${D} STRIP="${STRIP}"
|
||||
#rm -rf ${PWD}/${D}/share
|
||||
rm -rf ${PWD}/${D}/include
|
||||
rm -rf ${PWD}/${D}/lib/pkgconfig
|
||||
rm -rf ${PWD}/${D}/lib/libsdb.a
|
||||
rm -rf "${HERE}/${D}/${PREFIX}/lib"
|
||||
#rm -rf "${HERE}/${D}/${PREFIX}/lib"
|
||||
|
||||
rm -rf "${HERE}/${D}/${PREFIX}/radare2" # r2pm
|
||||
rm -rf "${HERE}/${D}/${PREFIX}/bin/r2pm"
|
||||
|
|
@ -148,8 +151,10 @@ rm -rf "${HERE}/${D}/${PREFIX}/bin/r2pm"
|
|||
|
||||
# use busybox style symlinkz
|
||||
cd binr/blob
|
||||
make STATIC_BUILD=1 || exit 1
|
||||
make install PREFIX="${PREFIX}" DESTDIR="${HERE}/${D}" || exit 1
|
||||
#${MAKE} || exit 1
|
||||
#CFLAGS=-static LDFLAGS=-static ${MAKE} -j4 || exit 1
|
||||
${MAKE} -j4 || exit 1
|
||||
${MAKE} install PREFIX="${PREFIX}" DESTDIR="${HERE}/${D}" || exit 1
|
||||
mkdir -p ${HERE}/${D}/${PREFIX}/projects
|
||||
:> ${HERE}/${D}/${PREFIX}/projects/.empty
|
||||
mkdir -p ${HERE}/${D}/${PREFIX}/tmp
|
||||
|
|
|
|||
Loading…
Reference in a new issue