[PATCH] fix #19443 - build failures with -DDEBUG
Martin Sebor
msebor@gmail.com
Wed Jan 13 04:29:00 GMT 2016
>> diff --git a/stdlib/rshift.c b/stdlib/rshift.c
>> index 4cf345c..71f8736 100644
>> --- a/stdlib/rshift.c
>> +++ b/stdlib/rshift.c
>> @@ -42,7 +42,7 @@ mpn_rshift (register mp_ptr wp,
>>
>> #ifdef DEBUG
>> if (usize == 0 || cnt == 0)
>> - abort ();
>> + __builtin_abort ();
>> #endif
>>
>> sh_1 = cnt;
>
> This file is shared with GMP.
>
> See: https://sourceware.org/glibc/wiki/SharedSourceFiles
>
> Can you peek at upstream to see if they included the apporpriate
> header to make abort(); work and try to harmonize with whatever
> changes GMP made?
The latest rshift.c looks quite different:
https://gmplib.org/repo/gmp/file/da670a8513db/mpn/generic/rshift.c
I haven't looked at the rest but if (according to the Wiki)
the last time GMP was integrated into Glibc was 1996 it seems
that replacing the DEBUG block with an assert might be the thing
to do for this bug and syncing the two up as a separate project.
(I'm not sure I have the cycles to take on the latter.)
> Keep in mind GMP v6 and above are LGPLv3 or GPLv2, and I don't
> know if that blocks us from another import of GMP into glibc.
>
>
>> diff --git a/time/mktime.c b/time/mktime.c
>> index 7d06314..bc7ed56 100644
>> --- a/time/mktime.c
>> +++ b/time/mktime.c
>
> This file belongs to gnulib and was last merged 2014-06-27.
>
> Could you please look at upstream gnulib and see what they are doing?
Gnulib still uses DEBUG:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/mktime.c
> Usually rather than work around such an issue we propose a global change
> to gnulib and glibc that harmonizes such uses.
I'll wait for Paul to let us know. Another option might be
to undefine DEBUG in the Makefile just for this file to avoid
changing it.
Martin
More information about the Libc-alpha
mailing list