Sure.
On Wed, Aug 20, 2014 at 7:48 PM, Joel Sherrill <joel.sherr...@oarcorp.com> wrote: > With the recent addition of a prototype for sigaltstack() and > associated data structures to newlib, the declaration in > rtems_bsdnet_internal.h is no longer needed. But to ease the > transition, I added an autoconf probe to determine if it > was needed or not. > > After 4.11, I would like to rip this and and <sys/cpuset.h> > checks out. > > --- > cpukit/configure.ac | 12 ++++++++++++ > cpukit/libnetworking/rtems/rtems_bsdnet_internal.h | 10 ++++++---- > 2 files changed, 18 insertions(+), 4 deletions(-) > > diff --git a/cpukit/configure.ac b/cpukit/configure.ac > index 56815e2..fcf3437 100644 > --- a/cpukit/configure.ac > +++ b/cpukit/configure.ac > @@ -116,6 +116,12 @@ RTEMS_CHECK_FUNC([pthread_getattr_np],[ > #include <pthread.h>]) > AC_CHECK_HEADERS([sys/cpuset.h]) > > +# This was added to newlib in August 2014 to improve conformance. > +# Disable use of internal definition if it is present. > +RTEMS_CHECK_FUNC([sigaltstack],[ > + #define _GNU_SOURCE > + #include <signal.h>]) > + > # Mandated by POSIX, not declared in some versions of newlib. > AC_CHECK_DECLS([getrusage],,,[#include sys/resource.h]) > > @@ -236,6 +242,12 @@ RTEMS_CPUOPT([__RTEMS_HAVE_SYS_CPUSET_H__], > [1], > [indicate if <sys/cpuset.h> is present in toolset]) > > +## Header file differences that need to be known in .h after install > +RTEMS_CPUOPT([__RTEMS_HAVE_DECL_SIGALTSTACK__], > + [test x"${ac_cv_have_decl_sigaltstack}" = x"yes"], > + [1], > + [indicate if <signal.h> in toolset has sigaltstack()]) > + > ## This improves both the size and coverage analysis. > RTEMS_CPUOPT([__RTEMS_DO_NOT_INLINE_THREAD_ENABLE_DISPATCH__], > [test x"${RTEMS_DO_NOT_INLINE_THREAD_ENABLE_DISPATCH}" = x"1"], > diff --git a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h > b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h > index 05e54b2..567cc8a 100644 > --- a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h > +++ b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h > @@ -83,11 +83,13 @@ typedef quad_t * qaddr_t; > typedef void __sighandler_t(int); > typedef __sighandler_t *sig_t; /* type of pointer to a signal > function */ > #define NSIG 32 > -struct sigaltstack { > - char *ss_sp; /* signal stack base */ > - int ss_size; /* signal stack length */ > - int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */ > +#if (__RTEMS_HAVE_DECL_SIGALTSTACK__ == 0) > +struct sigaltstack { > + char *ss_sp; /* signal stack base */ > + int ss_size; /* signal stack length */ > + int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */ > }; > +#endif > > #ifdef _KERNEL > typedef int boolean_t; > -- > 1.9.3 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel