| delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-workers-bounces using -f |
| X-Recipient: | djgpp-workers AT delorie DOT com |
| Message-ID: | <57152494.6040808@gmx.de> |
| Date: | Mon, 18 Apr 2016 20:16:52 +0200 |
| From: | "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-workers AT delorie DOT com]" <djgpp-workers AT delorie DOT com> |
| User-Agent: | Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 |
| MIME-Version: | 1.0 |
| To: | djgpp-workers AT delorie DOT com |
| Subject: | Re: Test build of gcc-6.0.1-20160415 |
| References: | <5713789D DOT 8070708 AT iki DOT fi> |
| In-Reply-To: | <5713789D.8070708@iki.fi> |
| X-Provags-ID: | V03:K0:jz7EOGew+6E6tCIsnyGT5XSnf/W9orHj7P11EGcq/i/JWIfXkP9 |
| vHgDe4XPVMYMqADCcAcjLm8Lzxz6sNR50ibrSndijwIEtxHwxKLGHd6lqko55pzSg+nsu+3 | |
| ZSwMKapZjIBOmrHE4HfzKYR5qB8XZhEhFUl9FPoxGn48J+tTBkjP9zprXgavGrS7AfnBR1/ | |
| Mcg//A+S9OCz+Q+YMYKrw== | |
| X-UI-Out-Filterresults: | notjunk:1;V01:K0:oDw/i2FfIl0=:mM/znSBGeOqUIqksgM7eEy |
| EPafSw6n/3tDnfm37W+m74WjIrCO9K2KWcIHf/pBre74u8IRnpjVr4hK85xuYjHkZF5T3Ogog | |
| /pJLNUUDKq/14VcEQhqXP2JHjaIBzFoTqpsDjoUTqmT3mT/iDztnez87Ir/QNnHyH/kQJTcZr | |
| QFeCRf3Yc4CfW9yHg8QvZlCFFnKIi5/0RbdkUNCpMVyzLViDidjYSe2tYTg6Qdi06Xb7w1Uqc | |
| 2VJjoMt9nfZ1kSxIbPxkobqBfMk77Of0oCSzyttDA0NYKgi0X7b8jUg1Hlne+q2LpTlE90QIj | |
| muNhd0ZXaCkPobqxPdTJRaedt6tQqXvKioVjBKJkFhalku61nrPIgclInZTj8f2WaL7DDfh8h | |
| h9rsETYTl8Cr+mmgb2tQEpeTEd4XY+e5nTtCU/tFWLEap3QMbJ04REkj3JXdSIK30Sw9xRIcD | |
| 79lpmzVo13rOTF3MxhKbX+y8Ofrmh17Dyil04jfisyFb7pUUiU0Gp8RW/7/EpgonuCpMc8QOg | |
| MxNOWn/eSbzJrpmQlYrWraq332/ywwZhFKsTz//ViPKXS94ZLwwp2I++XaeCB9syiJM+yyY1I | |
| /RuDszO0as12px0taoZ852YmvpkSyiTPAhXRutK5wPYq2sVNDMUqKMxeS/cHQiNQ7lTOjj7UM | |
| rPthGRkxKHO6A5egyPTHbJm6CEDQ/SZRd5CEdguIuXIg3FhUcfeRfFzzDauveDJKAJFXj5wUd | |
| HTK2rR59eOFfqTlMNjlrILu9kfNjQWilHLE+Itn4Hh0WN5RoorgCyPf8c9b681e834T5khgDA | |
| rY8D3Ki | |
| Reply-To: | djgpp-workers AT delorie DOT com |
Am 17.04.2016 13:50, schrieb Andris Pavenis (andris DOT pavenis AT iki DOT fi) [via djgpp-workers AT delorie DOT com]:
> gcc-6.1.0 should not be very far any more:
>
> https://gcc.gnu.org/ml/gcc/2016-04/msg00103.html
> https://gcc.gnu.org/ml/gcc/2016-04/msg00109.html
>
> I built DJGPP port based on SVN revision r235040 (the same used for release candidate sources) checked out from git mirror (see https://gcc.gnu.org/wiki/GitMirror for details). Of course DJGPP related additional changes are merged.
>
> Files (both i686 and x86_64 rpms and native DJGPP build are available for testing at:
>
> http://ap1.pp.fi/djgpp/gcc/test/6.0.1-20160415/
>
> Andris
>
I have tried to build libc from repository using g[cc|pp]601_20160415b.zip.
It fails with the following error message:
gcc ... -c strlen.c
strlen.c: In function 'strlen':
strlen.c:10:6: error: nonnull argument 'str' compared to NULL [-Werror=nonnull-compare]
if (str == NULL)
^
cc1.exe: all warnings being treated as errors
../../../makefile.inc:89: recipe for target 'strlen.o' failed
make.exe[3]: *** [strlen.o] Error 1
makefile.sub:2: recipe for target 'all_subs' failed
make.exe[2]: *** [all_subs] Error 2
../makefile.lib:6: recipe for target 'all' failed
make.exe[1]: *** [all] Error 2
makefile:39: recipe for target 'subs' failed
make.exe: *** [subs] Error 2
Inspecting the strlen code, it is clear that the offending code segment is:
if (str == NULL)
return 0;
It seems to be that for some reason, the compiler does assume that the passed
argument to the function can never be NULL. If I understood correctly, this
should only be the case if the function is specified like this:
size_t strlen(const char *_s) __attribute__ ((__nonnull__ (1)));
specifying that _s is never NULL, but this is certainly not the case in the
current versions of string.h.
So the question arises if we have to remove all NULL pointer check from our
code and if this measure is really wise? IMHO, we should adjust the compiler
checks in such a way that NULL pointer checks are still possible.
BTW I have inspected http://pubs.opengroup.org/onlinepubs/009695399/functions/strlen.html
and I have seen no indication that a NULL pointer check is prohibited, but
also I have seen no indication that a NULL pointer check is allowed.
Regards,
Juan M. Guerrero
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |