Subject: Re: port-xen/29887: sysctl kern.consdev coredumps
To: None <port-xen-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: James Chacon <jmc@NetBSD.org>
List: netbsd-bugs
Date: 06/17/2005 18:23:02
The following reply was made to PR port-xen/29887; it has been noted by GNATS.
From: James Chacon <jmc@NetBSD.org>
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
Cc: christos@zoulas.com, gnats-bugs@NetBSD.org,
port-xen-maintainer@NetBSD.org, gnats-admin@NetBSD.org,
netbsd-bugs@NetBSD.org, tech-userlevel@NetBSD.org
Subject: Re: port-xen/29887: sysctl kern.consdev coredumps
Date: Fri, 17 Jun 2005 13:20:39 -0500
On Sat, Jun 18, 2005 at 03:04:10AM +0900, YAMAMOTO Takashi wrote:
> > I am fine with disabling the optimization, but as I said, it will make
> > our compiler different. I would rather convince the gcc team to consider
> > turning the bogus behavior off permanently.
>
> i agree that it's ideal to convince the gcc team.
> although i think it's difficult, reading the comment on the bug report.
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15685
>
> IMO, in this case, being different is fine.
> if a user installs a broken compiler by himself,
> he'll get a broken compiler. there is no difference from
> the case of arbitrary broken software.
>
Being different is not fine if it changes gcc behavior. We don't provide
netbsd-cc on boxes. We provide something claiming to be "gcc". Therefore it
needs to behave as gcc does, warts and all. Any fix for us should be
in making puts deal w. NULL and marking it as XXGCC and then pursuing with
the gcc maintainers that printf->puts translations shouldn't happen unless
a user explicitly enables it with some -f option (ala not part of some -O).
The bug you cite doesn't discuss that. It's simply noting that
printf("%s", NULL) is undefined behavior so basically they're allowed to core
dump there even on translations to puts().
James