Heh, that amused me too. It's in the OpenBSD source repo: http://ftp.fr.openbsd.org/pub/OpenBSD/src/lib/libc/string/stpcpy.c
Graham. On 27 May 2013, at 18:18, Ivan Vučica <[email protected]> wrote: > Somewhat off topic: I really like the following error; it's extremely > professional and mature. Where is it coming from? > > /usr/local/lib/libgcrypt.so.18.0: warning: stpcpy() is dangerous GNU crap; > don't use it > > I'm asking because it could be made more colorful; this is simply > insufficiently graphic. Where can we send a patch? > > Regards, > > Ivan Vučica > via phone > > On 27. 5. 2013., at 13:56, "Sebastian Reitenbach" > <[email protected]> wrote: > >> Hi, >> >> in gsweb, when trying to compile the examples of GSWeb with clang 3.2, I get >> the following error: >> >> $ CC="clang -v" gmake >> This is gnustep-make 2.6.4. Type 'gmake print-gnustep-make-help' for help. >> Running in gnustep-make version 2 strict mode. >> Making all for gswapp WebBookStore1... >> Linking gswapp WebBookStore1 ... >> clang version 3.2 (tags/RELEASE_32/final) >> Target: amd64-unknown-openbsd5.3 >> Thread model: posix >> "/usr/bin/ld" -nopie -e __start --eh-frame-hdr -Bdynamic -dynamic-linker >> /usr/libexec/ld.so -o WebBookStore1.gswa/./WebBookStore1 /usr/lib/crt0.o >> /usr/lib/crtbegin.o -L/usr/lib/gcc-lib/amd64-unknown-openbsd5.3/4.2.1 >> -L/usr/local/lib -L/home/sebastia/GNUstep/Library/Libraries -L/usr/local/lib >> -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -E >> ./obj/WebBookStore1.obj/Application.m.o ./obj/WebBookStore1.obj/Session.m.o >> ./obj/WebBookStore1.obj/DirectAction.m.o ./obj/WebBookStore1.obj/Main.m.o >> ./obj/WebBookStore1.obj/WebBookStore1_main.m.o -lWebObjects -lWOExtensions >> -lGSWDatabase -lEOAccess -lEOControl -lpng -lz -lxml2 -lz -liconv -lm >> -lgnustep-base -lobjc2 -lm -lgcc -lpthread -lc -lgcc /usr/lib/crtend.o >> /usr/local/lib/libWebObjects.so.0.0: warning: vsprintf() is often misused, >> please use vsnprintf() >> /usr/local/lib/libWebObjects.so.0.0: warning: strcpy() is almost always >> misused, please use strlcpy() >> /usr/local/lib/libWebObjects.so.0.0: warning: strcat() is almost always >> misused, please use strlcat() >> /usr/local/lib/libWebObjects.so.0.0: warning: sprintf() is often misused, >> please use snprintf() >> /usr/local/lib/libgcrypt.so.18.0: warning: stpcpy() is dangerous GNU crap; >> don't use it >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parseNumber' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parseArray' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to >> `skipBlanksAndComments' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parsePragma' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to >> `areUnicharEquals' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to >> `parseDeclaration' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `skipComment' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `skipBlanks' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parseIdentifier' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parseHexNumber' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to >> `parseQuotedString' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to >> `parseDictionaryWithValuesAsAssociations' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `tryParseBoolean' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parseKeyPath' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to >> `parseValueAsAssociation' >> /usr/local/lib/libWebObjects.so.0.0: undefined reference to `parseHexData' >> clang-3: error: linker command failed with exit code 1 (use -v to see >> invocation) >> gmake[2]: *** [WebBookStore1.gswa/./WebBookStore1] Error 1 >> gmake[1]: *** [WebBookStore1.all.gswapp.variables] Error 2 >> gmake: *** [internal-all] Error 2 >> >> most of the undefined sybols come from the GSWDeclarationParser.m, which is >> compiled this way: >> clang GSWDeclarationParser.m -c \ >> -MMD -MP -I/usr/local/include/gnustep -DGSWEB_WONAMES -DGNUSTEP >> -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_R >> UNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions >> -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-non >> fragile-abi -D_NONFRAGILE_ABI -pthread -fPIC -DDEBUG -fno-omit-frame-pointer >> -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -O2 - >> pipe -g -O0 -fgnu-runtime -Werror-implicit-function-declaration -Werror >> -fconstant-string-class=NSConstantString -I./. -I/ >> usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include/libxml2 >> -I/usr/local/include -I/usr/local/include/libp >> ng -I./derived_src -I. -I/usr/local/include >> -I/gnustep-web-1.3.0_writes_to_HOME/GNUstep/Library/Headers >> -I/usr/local/inclu >> de \ >> -o obj/WebObjects/WebObjects.obj/GSWDeclarationParser.m.o >> >> and then linked into libWebObjects this way: >> cc -shared -Wl,-E -L/usr/local/lib -pthread -fexceptions >> -fobjc-nonfragile-abi -o ./WebObjects.framework/Versions/0. >> 0/./libWebObjects.so.0.0 >> obj/WebObjects/WebObjects.obj/NSFramework_WebObjects.o >> obj/WebObjects/WebObjects.obj/GSWDebug.m.o >> obj/WebObjects/WebObjects.obj/GSWConstants.m.o >> obj/WebObjects/WebObjects.obj/GSWTemporaryElement.m.o obj/WebObjects/WebOb >> jects.obj/GSWBaseParser.m.o >> obj/WebObjects/WebObjects.obj/GSWHTMLRawParser.m.o >> obj/WebObjects/WebObjects.obj/GSWHTTPIO.m.o >> obj/WebObjects/WebObjects.obj/GSWDeclaration.m.o >> obj/WebObjects/WebObjects.obj/GSWDeclarationParser.m.o >> .... >> >> The functions are declared like this: >> >> inline NSDictionary* >> parseDictionaryWithValuesAsAssociations(GSWDeclarationParser* parser, >> BOOL >> valuesAsAssociations) >> { >> return >> ((*parser->_selfIMPs._parseDictionaryWithValuesAsAssociationsIMP)(parser,parseDictionaryWithValuesAsAssociationsSEL,valuesAsAssociations)); >> }; >> >> When I remove the inline before that, then libWebObjects can resolve the >> symbols. Since its compiled with -O0, I think the compiler should not inline >> those functions? >> >> I tried that on OpenBSD, David Wetzel seemed to use gcc on NetBSD, where the >> problem did not occured to him. >> Is it sane to just remove the inline statement, or is there something more >> clever I can do about it? >> >> cheers, >> Sebastian >> >> >> >> >> _______________________________________________ >> Discuss-gnustep mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/discuss-gnustep > > _______________________________________________ > Discuss-gnustep mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnustep _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
