From: Patrick Bernardi Date: Tue, 28 Jul 2020 15:36:08 +0000 (-0400) Subject: [Ada] Simplify the VxWorks implementation of __gnat_environ X-Git-Tag: basepoints/gcc-12~4107 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=512fe5e067c8e0de195fe891bcdcc844da1eb7dd;p=thirdparty%2Fgcc.git [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. --- diff --git a/gcc/ada/env.c b/gcc/ada/env.c index 5df0539111fe..287260d69201 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 }