gfortran 4.3.4: NINT() intrinsic triggers undefined references to '_llround' and '_llroundf'

Cornelis de Gier cwdegier@gmail.com
Sat Oct 16 12:12:00 GMT 2010


2010/10/16 Marco Atzeri <marco_atzeri@yahoo.it>:
> As Dave wrote the problem is inside cygwin
>
>> I thought it was just because we are failing to export
>> them in the cygwin.din file.  The correct .o files are
>> compiled as part of the newlib libm build.
>
> but we forgot to make a patch.
>
> I will look on it.
>
> Marco

Below follows a C program that triggers the same undefined reference
(gcc 4.3.4, current cygwin). A simpler version using e.g. llround(4.5)
is optimized away. A strings command on /lib/libm.a shows llround is
not available.

=================================
#include <math.h>
float test(){
return(4.569);
}	

int main(){
return(llround(test()));
}
=================================
$ gcc -Wall -lm testllround.c
/tmp/ccLX7lEo.o:testllround.c:(.text+0x32): undefined reference to `_llround'
collect2: ld returned 1 exit status
=================================
$ strings /lib/libm.a | grep lround
_lround
_lroundf
_lround
__imp__lround
_lroundf
__imp__lroundf
=================================

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list