This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
errno's needed by rtems marked as linux extensions
- From: Joel Sherrill <joel dot sherrill at oarcorp dot com>
- To: "newlib at sources dot redhat dot com" <newlib at sources dot redhat dot com>
- Date: Wed, 16 Dec 2009 12:12:57 -0600
- Subject: errno's needed by rtems marked as linux extensions
Hi,
RTEMS TCP/IP code will not compile against the newlib
head.
I posted earlier this year about errno's that had
been marked as Linux specified which are really not.
I found 6 errnos originally but the two others
on the original list were part of a longer string so
showed up via grep but were not really used.
========= EBADRQC (RTEMS code we can change)
cpukit/libnetworking/lib/ftpfs.c
========= EPFNOSUPPORT (used in Sun RPC/XDR)
cpukit/librpc/src/rpc/bindresvport.c
cpukit/librpc/src/rpc/clnt_generic.c
========= EHOSTDOWN (used in BSD TCP/IP stack)
cpukit/libnetworking/netinet/ip_input.c
cpukit/libnetworking/netinet/tcp_subr.c
cpukit/libnetworking/nfs/bootp_subr.c
cpukit/libnetworking/net/if_ethersubr.c
========= ETOOMANYREFS (BSD TCP/IP stack)
cpukit/libnetworking/netinet/ip_output.c
So EBADRQC can be changed on our site. That code
is specific to RTEMS and we can changed that to EINVAL.
So that leaves EPFNOSUPPORT, EHOSTDOWN, and ETOOMANYREFS.
EHOSTDOWN is defined in OpenGroup. The other two I don't know.
In general, the "Linux specific patch" marked some BSD
and OpenGroup errnos as Linux specific. That covers
the 3 we care about.
IMO EHOSTDOWN should just be enabled. It is incorrect
to mark is as Linux specific.
The other two are from BSD. What to do about them is
up to you. They are NOT proprietary to RTEMS.
When I looked originally, I found these OpenGroup references
Are there any relevant standards?
+ EHOSTDOWN is from
http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_10.html
so it is probably really not Linux specific anyway.
+ Every errno in this list appears in the Open Group test suite.
http://tetworks.opengroup.org/tet//sample_binaries/3.3/tet3.3-bin-linux2-dist.cpio.Z
I was unable to uncompress this so don't know what that means.
I didn't see any obvious references to them at opengroup.org in
a standards page in my search.
It would be interesting to see if other errnos marked
Linux extensions are also used by *BSD but the set above
are the problems for RTEMS. We cannot build RTEMS with
newlib cvs without those defined.
--
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherrill@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985