radare2: update to 4.0.0.

This commit is contained in:
Johannes 2019-10-31 22:14:51 +01:00 committed by Johannes
parent 71f706505a
commit a46ee79146
3 changed files with 146 additions and 2 deletions

View file

@ -0,0 +1,117 @@
From f639c3b6a17a57c9a0fa1790811eff27dd124b59 Mon Sep 17 00:00:00 2001
From: radare <pancake@nopcode.org>
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
--- libr/debug/p/native/linux/linux_debug.c
+++ 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

View file

@ -0,0 +1,27 @@
--- libr/debug/p/native/linux/linux_debug.c.orig 2019-10-31 21:39:54.233871286 +0100
+++ libr/debug/p/native/linux/linux_debug.c 2019-10-31 21:40:30.488558728 +0100
@@ -874,13 +874,13 @@
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 @@
}
#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);

View file

@ -1,7 +1,7 @@
# Template file for 'radare2'
# cutter needs to be bumped when radare2 is updated
pkgname=radare2
version=3.9.0
version=4.0.0
revision=1
build_style=gnu-configure
configure_args="--with-syscapstone"
@ -12,4 +12,4 @@ maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="LGPL-3.0-only"
homepage="http://www.radare.org"
distfiles="https://github.com/radare/radare2/archive/${version}.tar.gz"
checksum=270cf67d0dee8dab4ed21dfaab57671b479ec82f0fc8d1c988e121c48b51addc
checksum=7621e38558917dc4b469acf2aa33d7cab6414420a0a1d205c55b9c96423e9cee