From 9d59c78f892290ee103ece00460a405a21f95e8e Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 1 Nov 2019 11:58:23 +0100 Subject: [PATCH] radare2: Update from 3.9.0 to 4.0.0 --- ...b9ff992b1b7dd64b1ccb89afa40318ff25fa.patch | 38 ++++++ packages/radare2/build.sh | 4 +- ...c3b6a17a57c9a0fa1790811eff27dd124b59.patch | 117 ++++++++++++++++++ 3 files changed, 157 insertions(+), 2 deletions(-) create mode 100644 packages/radare2/5d76b9ff992b1b7dd64b1ccb89afa40318ff25fa.patch create mode 100644 packages/radare2/f639c3b6a17a57c9a0fa1790811eff27dd124b59.patch diff --git a/packages/radare2/5d76b9ff992b1b7dd64b1ccb89afa40318ff25fa.patch b/packages/radare2/5d76b9ff992b1b7dd64b1ccb89afa40318ff25fa.patch new file mode 100644 index 000000000..703f6136c --- /dev/null +++ b/packages/radare2/5d76b9ff992b1b7dd64b1ccb89afa40318ff25fa.patch @@ -0,0 +1,38 @@ +From 5d76b9ff992b1b7dd64b1ccb89afa40318ff25fa Mon Sep 17 00:00:00 2001 +From: Johannes +Date: Fri, 1 Nov 2019 02:54:48 +0100 +Subject: [PATCH] fix linux x86 build (#15395) + +--- + libr/debug/p/native/linux/linux_debug.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libr/debug/p/native/linux/linux_debug.c b/libr/debug/p/native/linux/linux_debug.c +index be131eb16f..861bf63224 100644 +--- a/libr/debug/p/native/linux/linux_debug.c ++++ b/libr/debug/p/native/linux/linux_debug.c +@@ -874,13 +874,13 @@ int linux_reg_read(RDebug *dbg, int type, ut8 *buf, int size) { + struct user_fpxregs_struct fpxregs; + ret1 = r_debug_ptrace (dbg, PTRACE_GETFPXREGS, pid, NULL, &fpxregs); + if (ret1 == 0) { +- if (showfpu) print_fpu ((void *)&fpxregs, ret1); ++ if (showfpu) print_fpu ((void *)&fpxregs); + if (sizeof(fpxregs) < size) size = sizeof(fpxregs); + memcpy (buf, &fpxregs, size); + return sizeof(fpxregs); + } else { + ret1 = r_debug_ptrace (dbg, PTRACE_GETFPREGS, pid, NULL, &fpregs); +- if (showfpu) print_fpu ((void *)&fpregs, ret1); ++ if (showfpu) print_fpu ((void *)&fpregs); + if (ret1 != 0) return false; + if (sizeof(fpregs) < size) size = sizeof(fpregs); + memcpy (buf, &fpregs, size); +@@ -888,7 +888,7 @@ int linux_reg_read(RDebug *dbg, int type, ut8 *buf, int size) { + } + #else + ret1 = r_debug_ptrace (dbg, PTRACE_GETFPREGS, pid, NULL, &fpregs); +- if (showfpu) print_fpu ((void *)&fpregs, 1); ++ if (showfpu) print_fpu ((void *)&fpregs); + if (ret1 != 0) return false; + if (sizeof (fpregs) < size) size = sizeof(fpregs); + memcpy (buf, &fpregs, size); diff --git a/packages/radare2/build.sh b/packages/radare2/build.sh index abab1ee29..4b364cec9 100644 --- a/packages/radare2/build.sh +++ b/packages/radare2/build.sh @@ -1,8 +1,8 @@ TERMUX_PKG_HOMEPAGE=https://rada.re TERMUX_PKG_DESCRIPTION="Advanced Hexadecimal Editor" TERMUX_PKG_LICENSE="GPL-3.0" -TERMUX_PKG_VERSION=3.9.0 -TERMUX_PKG_SHA256=270cf67d0dee8dab4ed21dfaab57671b479ec82f0fc8d1c988e121c48b51addc +TERMUX_PKG_VERSION=4.0.0 +TERMUX_PKG_SHA256=7621e38558917dc4b469acf2aa33d7cab6414420a0a1d205c55b9c96423e9cee TERMUX_PKG_SRCURL=https://github.com/radare/radare2/archive/$TERMUX_PKG_VERSION.tar.gz TERMUX_PKG_DEPENDS="libuv" TERMUX_PKG_BREAKS="radare2-dev" diff --git a/packages/radare2/f639c3b6a17a57c9a0fa1790811eff27dd124b59.patch b/packages/radare2/f639c3b6a17a57c9a0fa1790811eff27dd124b59.patch new file mode 100644 index 000000000..e76e0db89 --- /dev/null +++ b/packages/radare2/f639c3b6a17a57c9a0fa1790811eff27dd124b59.patch @@ -0,0 +1,117 @@ +From f639c3b6a17a57c9a0fa1790811eff27dd124b59 Mon Sep 17 00:00:00 2001 +From: radare +Date: Wed, 30 Oct 2019 13:04:25 +0100 +Subject: [PATCH] Fix build for 32bit Linux systems ##build (#15384) + +--- + libr/debug/p/native/linux/linux_debug.c | 88 ++++++++++++------------- + 1 file changed, 43 insertions(+), 45 deletions(-) + +diff --git a/libr/debug/p/native/linux/linux_debug.c b/libr/debug/p/native/linux/linux_debug.c +index ebdac31873..be131eb16f 100644 +--- a/libr/debug/p/native/linux/linux_debug.c ++++ b/libr/debug/p/native/linux/linux_debug.c +@@ -716,11 +716,10 @@ RList *linux_thread_list(int pid, RList *list) { + r_cons_printf ("foo = 0x%04lx \n", (fpregs).foo);\ + r_cons_printf ("fos = 0x%04lx ", (fpregs).fos) + +-void print_fpu (void *f){ +-#if __x86_64__ || __i386__ ++static void print_fpu(void *f){ ++#if __x86_64__ + int i,j; + struct user_fpregs_struct fpregs = *(struct user_fpregs_struct *)f; +-#if __x86_64__ + #if __ANDROID__ + PRINT_FPU (fpregs); + for (i = 0;i < 8; i++) { +@@ -761,48 +760,47 @@ void print_fpu (void *f){ + } + #endif // __ANDROID__ + #elif __i386__ +- if (!r) { +-#if !__ANDROID__ +- struct user_fpxregs_struct fpxregs = *(struct user_fpxregs_struct*)f; +- r_cons_printf ("---- x86-32 ----\n"); +- r_cons_printf ("cwd = 0x%04x ; control ", fpxregs.cwd); +- r_cons_printf ("swd = 0x%04x ; status\n", fpxregs.swd); +- r_cons_printf ("twd = 0x%04x ", fpxregs.twd); +- r_cons_printf ("fop = 0x%04x\n", fpxregs.fop); +- r_cons_printf ("fip = 0x%08x\n", (ut32)fpxregs.fip); +- r_cons_printf ("fcs = 0x%08x\n", (ut32)fpxregs.fcs); +- r_cons_printf ("foo = 0x%08x\n", (ut32)fpxregs.foo); +- r_cons_printf ("fos = 0x%08x\n", (ut32)fpxregs.fos); +- r_cons_printf ("mxcsr = 0x%08x\n", (ut32)fpxregs.mxcsr); +- for(i = 0; i < 8; i++) { +- ut32 *a = (ut32*)(&fpxregs.xmm_space); +- ut64 *b = (ut64 *)(&fpxregs.st_space[i * 4]); +- ut32 *c = (ut32*)&fpxregs.st_space; +- float *f = (float *)&fpxregs.st_space; +- a = a + (i * 4); +- c = c + (i * 4); +- f = f + (i * 4); +- r_cons_printf ("xmm%d = %08x %08x %08x %08x ", i, (int)a[0], +- (int)a[1], (int)a[2], (int)a[3] ); +- r_cons_printf ("st%d = %0.3lg (0x%016"PFMT64x") | %0.3f (0x%08x) | "\ +- "%0.3f (0x%08x)\n", i, +- (double)*((double*)(&fpxregs.st_space[i*4])), b[0], +- f[0], c[0], f[1], c[1]); +- } +-#endif // !__ANDROID__ +- } else { +- r_cons_printf ("---- x86-32-noxmm ----\n"); +- PRINT_FPU_NOXMM (fpregs); +- for(i = 0; i < 8; i++) { +- ut64 *b = (ut64 *)(&fpregs.st_space[i*4]); +- double *d = (double*)b; +- ut32 *c = (ut32*)&fpregs.st_space; +- float *f = (float *)&fpregs.st_space; +- c = c + (i * 4); +- f = f + (i * 4); +- r_cons_printf ("st%d = %0.3lg (0x%016"PFMT64x") | %0.3f (0x%08x) | "\ +- "%0.3f (0x%08x)\n", i, d[0], b[0], f[0], c[0], f[1], c[1]); +- } ++ int i,j; ++#if __ANDROID__ ++ struct user_fpxregs_struct fpxregs = *(struct user_fpxregs_struct*)f; ++ r_cons_printf ("---- x86-32 ----\n"); ++ r_cons_printf ("cwd = 0x%04x ; control ", fpxregs.cwd); ++ r_cons_printf ("swd = 0x%04x ; status\n", fpxregs.swd); ++ r_cons_printf ("twd = 0x%04x ", fpxregs.twd); ++ r_cons_printf ("fop = 0x%04x\n", fpxregs.fop); ++ r_cons_printf ("fip = 0x%08x\n", (ut32)fpxregs.fip); ++ r_cons_printf ("fcs = 0x%08x\n", (ut32)fpxregs.fcs); ++ r_cons_printf ("foo = 0x%08x\n", (ut32)fpxregs.foo); ++ r_cons_printf ("fos = 0x%08x\n", (ut32)fpxregs.fos); ++ r_cons_printf ("mxcsr = 0x%08x\n", (ut32)fpxregs.mxcsr); ++ for(i = 0; i < 8; i++) { ++ ut32 *a = (ut32*)(&fpxregs.xmm_space); ++ ut64 *b = (ut64 *)(&fpxregs.st_space[i * 4]); ++ ut32 *c = (ut32*)&fpxregs.st_space; ++ float *f = (float *)&fpxregs.st_space; ++ a = a + (i * 4); ++ c = c + (i * 4); ++ f = f + (i * 4); ++ r_cons_printf ("xmm%d = %08x %08x %08x %08x ", i, (int)a[0], ++ (int)a[1], (int)a[2], (int)a[3] ); ++ r_cons_printf ("st%d = %0.3lg (0x%016"PFMT64x") | %0.3f (0x%08x) | "\ ++ "%0.3f (0x%08x)\n", i, ++ (double)*((double*)(&fpxregs.st_space[i*4])), b[0], ++ f[0], c[0], f[1], c[1]); ++ } ++#else ++ struct user_fpregs_struct fpregs = *(struct user_fpregs_struct *)f; ++ r_cons_printf ("---- x86-32-noxmm ----\n"); ++ PRINT_FPU_NOXMM (fpregs); ++ for(i = 0; i < 8; i++) { ++ ut64 *b = (ut64 *)(&fpregs.st_space[i*4]); ++ double *d = (double*)b; ++ ut32 *c = (ut32*)&fpregs.st_space; ++ float *f = (float *)&fpregs.st_space; ++ c = c + (i * 4); ++ f = f + (i * 4); ++ r_cons_printf ("st%d = %0.3lg (0x%016"PFMT64x") | %0.3f (0x%08x) | "\ ++ "%0.3f (0x%08x)\n", i, d[0], b[0], f[0], c[0], f[1], c[1]); + } + #endif + #else