From 512fe5e067c8e0de195fe891bcdcc844da1eb7dd Mon Sep 17 00:00:00 2001 From: Patrick Bernardi Date: Tue, 28 Jul 2020 11:36:08 -0400 Subject: [Ada] Simplify the VxWorks implementation of __gnat_environ gcc/ada/ * env.c (__gnat_environ): For VxWorks kernel simply return the result of the envGet call. Do this for VxWorks 6 and 7 as they both support the same API. --- gcc/ada/env.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'gcc') diff --git a/gcc/ada/env.c b/gcc/ada/env.c index 5df0539..287260d 100644 --- a/gcc/ada/env.c +++ b/gcc/ada/env.c @@ -68,18 +68,9 @@ envLib.h on VxWorks MILS and VxWorks 653. */ #include #include - #elif (_WRS_VXWORKS_MAJOR <= 6) + #else + /* Kernel mode */ #include - /* In that mode the following symbol is not defined in any VxWorks - include files, prior to vxWorks 7, so we declare it as extern. */ - extern char** ppGlobalEnviron; - #elif (_WRS_VXWORKS_MAJOR >= 7) - /* This should work for kernel mode on VxWorks 7.x. In 7.2 the tcb - is made private, so accessor functions must be used, in 7.0 it - is optional but there is no way to distinguish between 7.2 - and 7.0 since the version.h header file was never updated. */ - #include - #include #endif #endif @@ -144,17 +135,11 @@ __gnat_environ (void) extern char **environ; return environ; #else - #if defined (__RTP__) || defined (VTHREADS) || (_WRS_VXWORKS_MAJOR <= 6) + #if defined (__RTP__) || defined (VTHREADS) return environ; - #elif (_WRS_VXWORKS_MAJOR >= 7) - char **task_environ; - - task_environ = envGet (taskIdSelf ()); - - if (task_environ == NULL) - return ppGlobalEnviron; - else - return task_environ; + #else + /* Kernel mode */ + return envGet (NULL); #endif #endif } -- cgit v1.1