gnulib m4/threadlib.m4 bug crashing package tests
Ken Brown
kbrown@cornell.edu
Sun Nov 28 18:21:53 GMT 2021
On 11/28/2021 11:33 AM, Achim Gratz wrote:
> Ken Brown via Cygwin-apps writes:
>> It's gnulib that changed, not Cygwin or gcc/binutils. This is
>> actually an old issue:
>>
>> https://cygwin.com/pipermail/cygwin/2010-April/186342.html
>
> I've built the exact same package (man-db) this Febrary without that
> problem and now again with that problem (it doesn't help that the test
> suite never actually runs the failing executable). The gnulib test
> failed (as it still does on 32bit) for 64bit in February, but succeeds
> (resulting in gnulib trying to use weak symbols) now.
You're right, I was wrong. Here's the gnulib test program for anyone else who
wants to look at this:
#include <stdio.h>
#pragma weak fputs
int main ()
{
return (fputs == NULL);
}
As you said, this used to return 1, but now it returns 0 on 64-bit. Running
under gdb I see
(gdb) p fputs
$1 = {int (const char * restrict, FILE * restrict)} 0x1801b0540 <fputs>
This is a change, and it's actually what one would expect. But, as Dave Korn
explained in
https://cygwin.com/pipermail/cygwin/2010-April/186350.html ,
it doesn't mean that weak symbols on Cygwin behave the way they do on ELF
platforms. So I agree with you that this is a bogus test.
Ken
More information about the Cygwin-apps
mailing list