From 269b85b72388861958e4b4343c4a101765ca763c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 11 Aug 2008 17:04:07 +0000 Subject: s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it. 2008-08-11 Joel Sherrill gcc/ada/ * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it. * gsocket.h, socket.c: Update to support RTEMS. * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross. From-SVN: r138957 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/gcc-interface/Make-lang.in | 4 ++-- gcc/ada/gsocket.h | 4 ++-- gcc/ada/s-oscons-tmplt.c | 8 ++++++++ gcc/ada/socket.c | 4 ++-- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 41a7647..6885726 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2008-08-11 Joel Sherrill + + * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it. + * gsocket.h, socket.c: Update to support RTEMS. + * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross. + 2008-08-10 Samuel Tardieu Robert Dewar diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index cff834b..4001710 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -933,9 +933,9 @@ OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \ ./s-oscons-tmplt.exe > s-oscons-tmplt.s else -OSCONS_CPP=$(GCC_FOR_TARGET) -E -C \ +OSCONS_CPP=$(GCC_FOR_TARGET) $(CFLAGS_FOR_TARGET) -E -C \ -DTARGET=\"$(target)\" s-oscons-tmplt.c > s-oscons-tmplt.i -OSCONS_EXTRACT=$(GCC_FOR_TARGET) -S s-oscons-tmplt.i +OSCONS_EXTRACT=$(GCC_FOR_TARGET) $(CFLAGS_FOR_TARGET) -S s-oscons-tmplt.i endif ada/s-oscons.ads : ada/s-oscons-tmplt.c ada/gsocket.h ada/xoscons.adb ada/xutil.ads ada/xutil.adb diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h index 58c4abb..0dca1a9 100644 --- a/gcc/ada/gsocket.h +++ b/gcc/ada/gsocket.h @@ -216,7 +216,7 @@ #if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || defined (__osf__) || defined (_WIN32) || defined (__APPLE__) # define HAVE_THREAD_SAFE_GETxxxBYyyy 1 -#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || (defined (sun) && defined (__SVR4) && !defined (__vxworks)) +#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || (defined (sun) && defined (__SVR4) && !defined (__vxworks)) || defined(__rtems__) # define HAVE_GETxxxBYyyy_R 1 #endif @@ -226,7 +226,7 @@ # define Need_Netdb_Buffer 0 #endif -#if defined (__FreeBSD__) || defined (__vxworks) +#if defined (__FreeBSD__) || defined (__vxworks) || defined(__rtems__) # define Has_Sockaddr_Len 1 #else # define Has_Sockaddr_Len 0 diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c index 8017c38..614a866 100644 --- a/gcc/ada/s-oscons-tmplt.c +++ b/gcc/ada/s-oscons-tmplt.c @@ -829,6 +829,14 @@ CND(VEOL2, "Alternative EOL") #endif CND(AF_INET, "IPv4 address family") +/** + ** RTEMS lies and defines AF_INET6 even though there is no IPV6 support. + ** Its TCP/IP stack is in transition. It has newer .h files but no IPV6 yet. + **/ +#if defined(__rtems__) +# undef AF_INET6 +#endif + #ifndef AF_INET6 # define AF_INET6 -1 #else diff --git a/gcc/ada/socket.c b/gcc/ada/socket.c index 9653aae..aadc9b0 100644 --- a/gcc/ada/socket.c +++ b/gcc/ada/socket.c @@ -240,7 +240,7 @@ __gnat_safe_getservbyname (const char *name, const char *proto, struct servent *rh; int ri; -#if defined(__linux__) || defined(__GLIBC__) +#if defined(__linux__) || defined(__GLIBC__) || defined(__rtems__) (void) getservbyname_r (name, proto, ret, buf, buflen, &rh); #else rh = getservbyname_r (name, proto, ret, buf, buflen); @@ -256,7 +256,7 @@ __gnat_safe_getservbyport (int port, const char *proto, struct servent *rh; int ri; -#if defined(__linux__) || defined(__GLIBC__) +#if defined(__linux__) || defined(__GLIBC__) || defined(__rtems__) (void) getservbyport_r (port, proto, ret, buf, buflen, &rh); #else rh = getservbyport_r (port, proto, ret, buf, buflen); -- cgit v1.1