errno issue with cross gcc using newlib

Earnie Boyd earnie_boyd@yahoo.com
Thu Oct 17 05:52:00 GMT 2002


Wrong list, redirected.  Please remove newlib@sources.redhat.com from 
the distribution in responses.

Earnie.

Anurag Sharma wrote:
> Hi All,
> 
> I have come across a strange behaviour using gcc cross compiler (host:
> linux, target: cygwin). I am using the cygwin header files and lib files
> while making the compiler. (Cygwin uses newlib instaed of libc). 
> 
> Consider this short code:
> 
>    int fd = ::open("/tmp/errnotest", O_RDONLY | O_BINARY);
>     
>     if (fd == -1) {
> 	std::cerr << "open failed, errno=" << errno << ", strerror=" <<
> strerror(errno) << std::endl;
> 	std::cerr << "open failed, errno=" << errno << ", strerror=" <<
> strerror(errno) << std::endl;
>     }
> 
> I have compiled this code using a cross gcc build on host linux using
> target cygwin.
> 
> If I build the cross compiler by providing --enable-threads=single option
> in the configure stage, following is the output :
> 
> open failed, errno=2, strerror=No such file or directory
> open failed, errno=2, strerror=No such file or directory
>  
> This is of course expected.
> 
> Hoewever if I build the cross compiler by providing --enable-threads=posix
> option in the configure stage, the output is as follows :
> 
> open failed, errno=2, strerror=No such file or directory
> open failed, errno=0, strerror=No error
> 
> That is , after the first call to errno, it is reset!!
> 
> Has anyone else experiened this before? Can anyone please help find out
> what exactly is going wrong?
> 
> Regards,
> 
> Anurag
> 
> 
> 
> 
> 


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list