--- gcc/ada/env.c.orig 2006-05-22 02:05:53.000000000 -0400 +++ gcc/ada/env.c 2008-04-07 19:56:12.000000000 -0400 @@ -166,7 +166,7 @@ LIB$SIGNAL (status); } -#elif defined (__vxworks) && defined (__RTP__) +#elif defined (__FreeBSD__) || (defined (__vxworks) && defined (__RTP__)) setenv (name, value, 1); #else @@ -177,7 +177,7 @@ sprintf (expression, "%s=%s", name, value); putenv (expression); -#if defined (__FreeBSD__) || defined (__APPLE__) || defined (__MINGW32__) \ +#if defined (__APPLE__) || defined (__MINGW32__) \ ||(defined (__vxworks) && ! defined (__RTP__)) /* On some systems like FreeBSD, MacOS X and Windows, putenv is making a copy of the expression string so we can free it after the call to