This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: RTEMS Targets Issue #1 - daemon()
- From: Yaakov Selkowitz <yselkowitz at cygwin dot com>
- To: newlib at sourceware dot org
- Date: Sat, 19 Mar 2016 23:15:07 -0500
- Subject: Re: RTEMS Targets Issue #1 - daemon()
- Authentication-results: sourceware.org; auth=none
- References: <56ED85DE dot 9090109 at oarcorp dot com>
On 2016-03-19 12:01, Joel Sherrill wrote:
I built tools using the master of binutils-gdb, newlib, and gcc.
All fifteen toolsets built ok. I am building all ~150 RTEMS BSPs.
It is still building but I am seeing some warnings and build failures
which were not present with the last newlib snapshot. I have not
dug in to see what the default feature flags are for RTEMS. I am
just going to report issues one at a time as I dig through them.
Sounds good, I'll respond as best I can.
First is that the RTEMS ftpd has a static method named daemon().
[snip]
In the last newlib snapshot, daemon() was protected like this:
#if defined(__CYGWIN__)
int _EXFUN(daemon, (int nochdir, int noclose));
#endif
In some places ifdef __CYGWIN__ was used for "this isn't POSIX and
therefore not everyone wants it".
Now it is like this:
#if __BSD_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE < 500)
int _EXFUN(daemon, (int nochdir, int noclose));
#endif
Which means you are allowed to provide your own daemon() function, so
long as you are not relying on other BSDisms or SUSv1.
The ftpd is an RTEMS specific implementation and I don't see an
issue with changing the name in RTEMS. Does everyone agree this
change in what newlib's unistd.h was presenting is correct now
and that RTEMS needs to change?
As the ftpd code isn't a public API, you could just change it, or if the
code is e.g. POSIX compliant, then you could compile it with the proper
value of _POSIX_C_SOURCE. Your choice.
--
Yaakov