On Fri, Jul 26, 2024 at 10:28:05AM +0200, Claudio Jeker wrote: > Here is a fix for radare2 and rizin to compile on -current. > > The code in both project was just horribly wrong and me removing > PS_STOPPED made this horror pop up. > > This has only been compile tested but it can't be worse than before.
Thanks Claudio. I'd say go ahead, as you mentionned, it can't be worse :-) > -- > :wq Claudio > > Index: radare2/main/Makefile > =================================================================== > RCS file: /cvs/ports/devel/radare2/main/Makefile,v > diff -u -p -r1.31 Makefile > --- radare2/main/Makefile 15 Nov 2023 17:13:46 -0000 1.31 > +++ radare2/main/Makefile 26 Jul 2024 08:25:05 -0000 > @@ -3,7 +3,7 @@ > COMMENT = libre and portable reverse engineering framework > > V = 5.8.8 > -REVISION = 0 > +REVISION = 1 > SUBST_VARS += V > > GH_PROJECT = radare2 > Index: radare2/main/patches/patch-libr_debug_p_native_bsd_bsd_debug_c > =================================================================== > RCS file: radare2/main/patches/patch-libr_debug_p_native_bsd_bsd_debug_c > diff -N radare2/main/patches/patch-libr_debug_p_native_bsd_bsd_debug_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ radare2/main/patches/patch-libr_debug_p_native_bsd_bsd_debug_c 26 Jul > 2024 08:25:05 -0000 > @@ -0,0 +1,32 @@ > +Index: libr/debug/p/native/bsd/bsd_debug.c > +--- libr/debug/p/native/bsd/bsd_debug.c.orig > ++++ libr/debug/p/native/bsd/bsd_debug.c > +@@ -189,18 +189,20 @@ RDebugInfo *bsd_info(RDebug *dbg, const char *arg) { > + rdi->gid = kp->p__pgid; > + rdi->exe = strdup (kp->p_comm); > + > +- rdi->status = R_DBG_PROC_STOP; > +- > +- if (kp->p_psflags & PS_ZOMBIE) { > +- rdi->status = R_DBG_PROC_ZOMBIE; > +- } else if (kp->p_psflags & PS_STOPPED) { > ++ switch (kp->p_stat) { > ++ case SDEAD: > ++ rdi->status = R_DBG_PROC_DEAD; > ++ break; > ++ case SSTOP: > + rdi->status = R_DBG_PROC_STOP; > +- } else if (kp->p_psflags & PS_PPWAIT) { > ++ break; > ++ case SSLEEP: > + rdi->status = R_DBG_PROC_SLEEP; > +- } else if ((kp->p_psflags & PS_EXEC) || (kp->p_psflags & > PS_INEXEC)) { > ++ break; > ++ default: > + rdi->status = R_DBG_PROC_RUN; > ++ break; > + } > +- > + } > + > + kvm_close (kd); > Index: rizin/Makefile > =================================================================== > RCS file: /cvs/ports/devel/rizin/Makefile,v > diff -u -p -r1.9 Makefile > --- rizin/Makefile 6 May 2024 12:23:32 -0000 1.9 > +++ rizin/Makefile 26 Jul 2024 08:25:05 -0000 > @@ -8,7 +8,7 @@ V = 0.7.2 > DISTNAME = rizin-src-v${V} > EXTRACT_SUFX = .tar.xz > PKGNAME = rizin-${V} > -REVISION = 0 > +REVISION = 1 > > SITES = > https://github.com/rizinorg/rizin/releases/download/v${V}/ > > Index: rizin/patches/patch-librz_debug_p_native_bsd_bsd_debug_c > =================================================================== > RCS file: rizin/patches/patch-librz_debug_p_native_bsd_bsd_debug_c > diff -N rizin/patches/patch-librz_debug_p_native_bsd_bsd_debug_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ rizin/patches/patch-librz_debug_p_native_bsd_bsd_debug_c 26 Jul 2024 > 08:25:05 -0000 > @@ -0,0 +1,30 @@ > +Index: librz/debug/p/native/bsd/bsd_debug.c > +--- librz/debug/p/native/bsd/bsd_debug.c.orig > ++++ librz/debug/p/native/bsd/bsd_debug.c > +@@ -211,16 +211,19 @@ RzDebugInfo *bsd_info(RzDebug *dbg, const char *arg) { > + rdi->gid = kp->p__pgid; > + rdi->exe = strdup(kp->p_comm); > + > +- rdi->status = RZ_DBG_PROC_STOP; > +- > +- if (kp->p_psflags & PS_ZOMBIE) { > +- rdi->status = RZ_DBG_PROC_ZOMBIE; > +- } else if (kp->p_psflags & PS_STOPPED) { > ++ switch (kp->p_stat) { > ++ case SDEAD: > ++ rdi->status = RZ_DBG_PROC_DEAD; > ++ break; > ++ case SSTOP: > + rdi->status = RZ_DBG_PROC_STOP; > +- } else if (kp->p_psflags & PS_PPWAIT) { > ++ break; > ++ case SSLEEP: > + rdi->status = RZ_DBG_PROC_SLEEP; > +- } else if ((kp->p_psflags & PS_EXEC) || (kp->p_psflags & > PS_INEXEC)) { > ++ break; > ++ default: > + rdi->status = RZ_DBG_PROC_RUN; > ++ break; > + } > + } > + > -- Antoine