Date: Thu, 29 Nov 2012 22:57:29 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Jilles Tjoelker <jilles@stack.nl> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Eitan Adler <eadler@freebsd.org> Subject: Re: svn commit: r243665 - head/sbin/dump Message-ID: <20121129205729.GN3013@kib.kiev.ua> In-Reply-To: <20121129162412.GD29338@stack.nl> References: <201211290516.qAT5GoT5098709@svn.freebsd.org> <20121129120147.GE3013@kib.kiev.ua> <20121129162412.GD29338@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Thu, Nov 29, 2012 at 05:24:12PM +0100, Jilles Tjoelker wrote: > On Thu, Nov 29, 2012 at 02:01:47PM +0200, Konstantin Belousov wrote: > > On Thu, Nov 29, 2012 at 05:16:50AM +0000, Eitan Adler wrote: > > > Author: eadler > > > Date: Thu Nov 29 05:16:50 2012 > > > New Revision: 243665 > > > URL: http://svnweb.freebsd.org/changeset/base/243665 > > > > Log: > > > Mark non-returning function as such > > > > PR: bin/172978 > > > Approved by: cperciva > > > MFC after: 3 days > > > > Modified: > > > head/sbin/dump/dump.h > > > > Modified: head/sbin/dump/dump.h > > > ============================================================================== > > > --- head/sbin/dump/dump.h Thu Nov 29 03:48:39 2012 (r243664) > > > +++ head/sbin/dump/dump.h Thu Nov 29 05:16:50 2012 (r243665) > > > @@ -121,7 +121,7 @@ void trewind(void); > > > void writerec(char *dp, int isspcl); > > > > > > void Exit(int status) __dead2; > > > -void dumpabort(int signo); > > > +void dumpabort(int signo) __dead2; > > > void dump_getfstab(void); > > > > > > char *rawname(char *cp); > > > What is the goal of this change ? > > This has been discussed before in > http://lists.freebsd.org/pipermail/freebsd-current/2011-January/022179.html > and the rest of the thread. The result there seems that it is the least > bad thing to add __dead2 even on static functions that do not return to > reduce compiler/analyzer warnings and improve the generated code with > GCC 4.2.1 and GCC 4.5. But we are already in the shiny new world ? We should not care about so antique and unsupported compilers any more ? Or, at least, the commit message should have said that we do. I suppose that the worry about slightly unefficient code in the dump(8) would be good April 1 subject. > > > It is arguably backward. There is absolutely no use to mark signal > > handler as __dead2, and all other uses do not benefit from the > > redundand declaration. > > Although most of the uses of dumpabort() are in the same file as its > definition, GCC 4.2.1 is too dumb to detect its noreturn property > automatically. > > Furthermore, some of the uses are in separate files. In particular, > __dead2 on dumpabort() is required to mark or detect quit() as noreturn. > > > Also, being quite removed from the function definition, there is a > > chance that some future modification would make the attribute a lie. > > Both GCC and Clang generate a warning by default if it appears possible > for a noreturn function to return, so as long as -Werror remains enabled > it should be safe enough. The annotation is very much like comment which rephrase the code and thus is useless. But in this case, the attribute annotation does has a chance of changing the compiler behaviour. IMO, such changes shall not be done, and the already accumulated nonsense needs to be reverted. [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJQt8w4AAoJEJDCuSvBvK1B1gwQAJ0ILgnDl6p7NFlMZJX9Dsg0 Je71RR6hibh8InvO6QSfKkj+QFNIAmjFDAaFrw9YsK1cGCHmN87F8DUncdDyxm/p ZClOsiBErb6eAh6lBXLFpde0FHyEpVZgC0lw1e2+3WPoj3dd2mCIQuYvnC0Afg3d vbENP2A4n+5Ttra6SgwmCueayWxw24IQE1uE1u+JETxkdqpeyW6iP6cpYFN4ueuJ MNglJ9lDhRa6Q3aekAS6ktx6Na5Ac0QC0yRNnz1WWhF/1kecL8y3kOqe29Gqsepo Rmr6tLkv+FhASybLC3AB1HIY8nunihnZ/x7QFHuTzqc+7B93bCWWBeOBNDulniVL ERx/k+x2SjzJyeZHR1Y6jZd63+aH5KfKGVZNSfRdWzueTdLsP9OW02emy06PoG7O 32pPmsy945/bTdLHqAh3caTW/QJ5IIdj1RVJ7TGqXYyhsOxik3LbDMzEDCQLPT6g vOqSXtyxGAGZpJXk1VLbMr0WYGtN/gPX7FIIviX6i7RgH8qcLH943ILZ5j4fR43+ bO2JWVTYJvUndkxwDmnXaqiltB8SfLH77K+yxejcCIQzmer4A8U6PwLe/SUOJj5q bcgbAa1UcnRFLs8h7eYh6gIo8WtIDLy0LcTu4OfJ/E/8c/R4GfifNKkBRiu0uyRN cHmu3THybrHfyZd8OUS4 =05Qe -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121129205729.GN3013>
