Date: Tue, 19 May 2015 00:28:05 -0500 From: Pedro Giffuni <pfg@FreeBSD.org> To: Bruce Evans <brde@optusnet.com.au> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r283088 - head/sys/ddb Message-ID: <BA474AEC-A0A8-4FF8-8881-397E8280C72F@FreeBSD.org> In-Reply-To: <20150519135341.R2157@besplex.bde.org> References: <201505182227.t4IMRljx078812@svn.freebsd.org> <20150519113755.U1840@besplex.bde.org> <406A7AE3-1891-4B2C-B917-14C150EBBAB5@FreeBSD.org> <20150519135341.R2157@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Il giorno 18/mag/2015, alle ore 23:34, Bruce Evans = <brde@optusnet.com.au> ha scritto: >=20 > On Mon, 18 May 2015, Pedro Giffuni wrote: >=20 >>> Il giorno 18/mag/2015, alle ore 20:48, Bruce Evans = <brde@optusnet.com.au> ha scritto: >>>=20 >>> On Mon, 18 May 2015, Pedro F. Giffuni wrote: >>>=20 >>>> Log: >>>> ddb: stop boolean screaming. >>>>=20 >>>> TRUE --> true >>>> FALSE--> false >>>>=20 >>>> Hinted by: NetBSD >>>=20 >>> This is not just churn to a style regression, but a type mismatch. >>=20 >> It is an attempt to reduce differences with NetBSD. >=20 > For that, apply the reverse change to NetBSD. >=20 Actually, the NetBSD code uses bool. (I hate CVS, commits are not = atomic.) >> One of the complaints of hear from newcomers to the ddb code is that >> the format is old-fashioned (it still had pre-ANSI headers not long = ago) >> and unmaintained. >=20 > It is fairly well maintained (not churned to unimprove its = portability). > Why would newcomers want too look at it? >=20 Unrelated fun: last year a student started adding support for CTF and = pretty printing of the kernel structures. I think the NetBSD guys have = been having fun with Lua. >>>> Modified: head/sys/ddb/db_break.c >>>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>>> --- head/sys/ddb/db_break.c Mon May 18 22:14:06 2015 = (r283087) >>>> +++ head/sys/ddb/db_break.c Mon May 18 22:27:46 2015 = (r283088) >>>> @@ -155,12 +155,12 @@ db_find_breakpoint_here(db_addr_t addr) >>>> return db_find_breakpoint(db_map_addr(addr), addr); >>>> } >>>>=20 >>>> -static boolean_t db_breakpoints_inserted =3D TRUE; >>>> +static boolean_t db_breakpoints_inserted =3D true; >>>=20 >>> This code hasn't been churned to use the boolean type. It still = uses >>> boolean_t, which is plain int. TRUE and FALSE go with this type. = true >>> and false go with the boolean type. This probably makes no = difference, >>> because TRUE happens to be implemented with the same value as true = and >>> there are lots of implicit versions between the types. >>=20 >> Yes, I noticed the return types are still ints. It doesn=E2=80=99t = look difficult >> to convert it to use a real boolean type. In any case, I would = prefer to go >> forward (using bool) instead of reverting this change. >=20 > That wuld be sideways. >=20 > I forgot to mention (again) in my previous reply that boolean_t is a = mistake > by me. KNF code doesn't even use the ! operator, but uses explicit > comparison with 0. The boolean_t type and TRUE and FALSE are from = Mach. > They were used mainly in ddb and vm, and are still almost never used = in > kern. I used to like typedefs and a typedef for boolean types, and = didn't > know KNF very well, so in 1995 I moved the declaration of boolean_t = from > Mach vm code to sys/types.h to try to popularize it. This was a = mistake. > Fortunately, it is still rarely used in core kernel code. >=20 > The boolean type is also almost never used for syscalls. In = POSIX.1-2001, > <stdbool.h> is inherited from C99, but is never used for any other = POSIX > API. Using it for syscalls would mainly cause portability problems. >=20 OK, I do understand the kernel wants to keep the C dialect somewhat = limited, and adding stdbool.h doesn=E2=80=99t buy us any type safety here. I=E2=80=99ll revert the change (prob. tomorrow though). Pedro.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BA474AEC-A0A8-4FF8-8881-397E8280C72F>