This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
Re: errno issue with cross gcc using newlib
- From: Earnie Boyd <earnie_boyd at yahoo dot com>
- To: Anurag Sharma <anurag at proximity dot com dot au>
- Cc: newlib at sources dot redhat dot com, cygwin at cygwin dot com
- Date: Thu, 17 Oct 2002 06:53:24 -0400
- Subject: Re: errno issue with cross gcc using newlib
- References: <1034826684.10988.ezmlm@sources.redhat.com> <20021017140738.689df29c.anurag@proximity.com.au>
- Reply-to: cygwin at cygwin dot com
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