Re: __warn_references: drop redundant "warning: " prefix
On Sat, Nov 18, 2017 at 02:58:29AM +0100, Jeremie Courreges-Anglas wrote: > On Sun, Nov 12 2017, Scott Chelohawrote: > > Hi, > > > > GNU ld has prefixed the contents of .gnu.warning.SYMBOL sections > > with "warning: " since 2003, so the messages themselves need not > > contain the prefix anymore. > > > > If LLVM ld ever acknowledges .gnu.warning sections I imagine it > > would emulate this behavior. > > It would be good if lld gained support for .gnu.warning sections, those > warnings put the light on code that should be improved; not only in the > ports tree, as shown by the libcrypto warnings in base. > > After a quick glance it seems that recent binutils versions have the > same behavior, so it's reasonable to assume that lld would follow > GNU ld(1) by prepending "warning:". Especially if they don't want to > get the same bug report as the gcc folks got: > > https://sourceware.org/ml/binutils/2003-08/msg8.html > > > Thoughts? > > The double "warning: " message looks just weird, removing it makes sense > IMO. ok jca@ I also support removing these. Any objections to putting this in? > > > -- > > Scott Cheloha > > > > Index: lib/libc/arch/i386/string/strcat.S > > === > > RCS file: /cvs/src/lib/libc/arch/i386/string/strcat.S,v > > retrieving revision 1.9 > > diff -u -p -r1.9 strcat.S > > --- lib/libc/arch/i386/string/strcat.S 31 Aug 2015 02:53:56 - > > 1.9 > > +++ lib/libc/arch/i386/string/strcat.S 12 Nov 2017 04:21:37 - > > @@ -9,7 +9,7 @@ > > #if defined(APIWARN) > > #APP > > .section .gnu.warning.strcat > > - .ascii "warning: strcat() is almost always misused, please use > > strlcat()" > > + .ascii "strcat() is almost always misused, please use strlcat()" > > #NO_APP > > #endif > > > > Index: lib/libc/arch/i386/string/strcpy.S > > === > > RCS file: /cvs/src/lib/libc/arch/i386/string/strcpy.S,v > > retrieving revision 1.9 > > diff -u -p -r1.9 strcpy.S > > --- lib/libc/arch/i386/string/strcpy.S 31 Aug 2015 02:53:56 - > > 1.9 > > +++ lib/libc/arch/i386/string/strcpy.S 12 Nov 2017 04:21:37 - > > @@ -9,7 +9,7 @@ > > #if defined(APIWARN) > > #APP > > .section .gnu.warning.strcpy > > - .ascii "warning: strcpy() is almost always misused, please use > > strlcpy()" > > + .ascii "strcpy() is almost always misused, please use strlcpy()" > > #NO_APP > > #endif > > > > Index: lib/libc/compat-43/getwd.c > > === > > RCS file: /cvs/src/lib/libc/compat-43/getwd.c,v > > retrieving revision 1.11 > > diff -u -p -r1.11 getwd.c > > --- lib/libc/compat-43/getwd.c 30 Sep 2013 12:02:30 - 1.11 > > +++ lib/libc/compat-43/getwd.c 12 Nov 2017 04:21:37 - > > @@ -46,4 +46,4 @@ getwd(char *buf) > > } > > > > __warn_references(getwd, > > -"warning: getwd() possibly used unsafely; consider using getcwd()"); > > +"getwd() possibly used unsafely; consider using getcwd()"); > > Index: lib/libc/stdio/mktemp.c > > === > > RCS file: /cvs/src/lib/libc/stdio/mktemp.c,v > > retrieving revision 1.38 > > diff -u -p -r1.38 mktemp.c > > --- lib/libc/stdio/mktemp.c 13 Sep 2015 08:31:47 - 1.38 > > +++ lib/libc/stdio/mktemp.c 12 Nov 2017 04:21:37 - > > @@ -119,7 +119,7 @@ _mktemp(char *path) > > } > > > > __warn_references(mktemp, > > -"warning: mktemp() possibly used unsafely; consider using mkstemp()"); > > +"mktemp() possibly used unsafely; consider using mkstemp()"); > > > > char * > > mktemp(char *path) > > Index: lib/libc/stdio/sprintf.c > > === > > RCS file: /cvs/src/lib/libc/stdio/sprintf.c,v > > retrieving revision 1.18 > > diff -u -p -r1.18 sprintf.c > > --- lib/libc/stdio/sprintf.c1 Oct 2015 02:32:07 - 1.18 > > +++ lib/libc/stdio/sprintf.c12 Nov 2017 04:21:37 - > > @@ -39,7 +39,7 @@ > > > > #if defined(APIWARN) > > __warn_references(sprintf, > > -"warning: sprintf() is often misused, please use snprintf()"); > > +"sprintf() is often misused, please use snprintf()"); > > #endif > > > > int > > Index: lib/libc/stdio/tempnam.c > > === > > RCS file: /cvs/src/lib/libc/stdio/tempnam.c,v > > retrieving revision 1.19 > > diff -u -p -r1.19 tempnam.c > > --- lib/libc/stdio/tempnam.c31 Aug 2015 02:53:57 - 1.19 > > +++ lib/libc/stdio/tempnam.c12 Nov 2017 04:21:37 - > > @@ -37,7 +37,7 @@ > > #include > > > > __warn_references(tempnam, > > -"warning: tempnam() possibly used unsafely; consider using mkstemp()"); > > +"tempnam() possibly used unsafely; consider using mkstemp()"); > > > > char * > >
Re: __warn_references: drop redundant "warning: " prefix
On Sun, Nov 12 2017, Scott Chelohawrote: > Hi, > > GNU ld has prefixed the contents of .gnu.warning.SYMBOL sections > with "warning: " since 2003, so the messages themselves need not > contain the prefix anymore. > > If LLVM ld ever acknowledges .gnu.warning sections I imagine it > would emulate this behavior. It would be good if lld gained support for .gnu.warning sections, those warnings put the light on code that should be improved; not only in the ports tree, as shown by the libcrypto warnings in base. After a quick glance it seems that recent binutils versions have the same behavior, so it's reasonable to assume that lld would follow GNU ld(1) by prepending "warning:". Especially if they don't want to get the same bug report as the gcc folks got: https://sourceware.org/ml/binutils/2003-08/msg8.html > Thoughts? The double "warning: " message looks just weird, removing it makes sense IMO. ok jca@ > -- > Scott Cheloha > > Index: lib/libc/arch/i386/string/strcat.S > === > RCS file: /cvs/src/lib/libc/arch/i386/string/strcat.S,v > retrieving revision 1.9 > diff -u -p -r1.9 strcat.S > --- lib/libc/arch/i386/string/strcat.S31 Aug 2015 02:53:56 - > 1.9 > +++ lib/libc/arch/i386/string/strcat.S12 Nov 2017 04:21:37 - > @@ -9,7 +9,7 @@ > #if defined(APIWARN) > #APP > .section .gnu.warning.strcat > - .ascii "warning: strcat() is almost always misused, please use > strlcat()" > + .ascii "strcat() is almost always misused, please use strlcat()" > #NO_APP > #endif > > Index: lib/libc/arch/i386/string/strcpy.S > === > RCS file: /cvs/src/lib/libc/arch/i386/string/strcpy.S,v > retrieving revision 1.9 > diff -u -p -r1.9 strcpy.S > --- lib/libc/arch/i386/string/strcpy.S31 Aug 2015 02:53:56 - > 1.9 > +++ lib/libc/arch/i386/string/strcpy.S12 Nov 2017 04:21:37 - > @@ -9,7 +9,7 @@ > #if defined(APIWARN) > #APP > .section .gnu.warning.strcpy > - .ascii "warning: strcpy() is almost always misused, please use > strlcpy()" > + .ascii "strcpy() is almost always misused, please use strlcpy()" > #NO_APP > #endif > > Index: lib/libc/compat-43/getwd.c > === > RCS file: /cvs/src/lib/libc/compat-43/getwd.c,v > retrieving revision 1.11 > diff -u -p -r1.11 getwd.c > --- lib/libc/compat-43/getwd.c30 Sep 2013 12:02:30 - 1.11 > +++ lib/libc/compat-43/getwd.c12 Nov 2017 04:21:37 - > @@ -46,4 +46,4 @@ getwd(char *buf) > } > > __warn_references(getwd, > -"warning: getwd() possibly used unsafely; consider using getcwd()"); > +"getwd() possibly used unsafely; consider using getcwd()"); > Index: lib/libc/stdio/mktemp.c > === > RCS file: /cvs/src/lib/libc/stdio/mktemp.c,v > retrieving revision 1.38 > diff -u -p -r1.38 mktemp.c > --- lib/libc/stdio/mktemp.c 13 Sep 2015 08:31:47 - 1.38 > +++ lib/libc/stdio/mktemp.c 12 Nov 2017 04:21:37 - > @@ -119,7 +119,7 @@ _mktemp(char *path) > } > > __warn_references(mktemp, > -"warning: mktemp() possibly used unsafely; consider using mkstemp()"); > +"mktemp() possibly used unsafely; consider using mkstemp()"); > > char * > mktemp(char *path) > Index: lib/libc/stdio/sprintf.c > === > RCS file: /cvs/src/lib/libc/stdio/sprintf.c,v > retrieving revision 1.18 > diff -u -p -r1.18 sprintf.c > --- lib/libc/stdio/sprintf.c 1 Oct 2015 02:32:07 - 1.18 > +++ lib/libc/stdio/sprintf.c 12 Nov 2017 04:21:37 - > @@ -39,7 +39,7 @@ > > #if defined(APIWARN) > __warn_references(sprintf, > -"warning: sprintf() is often misused, please use snprintf()"); > +"sprintf() is often misused, please use snprintf()"); > #endif > > int > Index: lib/libc/stdio/tempnam.c > === > RCS file: /cvs/src/lib/libc/stdio/tempnam.c,v > retrieving revision 1.19 > diff -u -p -r1.19 tempnam.c > --- lib/libc/stdio/tempnam.c 31 Aug 2015 02:53:57 - 1.19 > +++ lib/libc/stdio/tempnam.c 12 Nov 2017 04:21:37 - > @@ -37,7 +37,7 @@ > #include > > __warn_references(tempnam, > -"warning: tempnam() possibly used unsafely; consider using mkstemp()"); > +"tempnam() possibly used unsafely; consider using mkstemp()"); > > char * > tempnam(const char *dir, const char *pfx) > Index: lib/libc/stdio/tmpnam.c > === > RCS file: /cvs/src/lib/libc/stdio/tmpnam.c,v > retrieving revision 1.11 > diff -u -p -r1.11 tmpnam.c > --- lib/libc/stdio/tmpnam.c 31 Aug 2015 02:53:57 - 1.11 > +++ lib/libc/stdio/tmpnam.c 12 Nov 2017 04:21:37 - > @@ -37,7 +37,7 @@ >