In Darwin9 (Mac OS X Leopard), the new implementation of putenv() does not duplicate its argument. Thus, this argument must not be deallocate in gcc/ada/env.c (__gnat_setenv())
Deallocating this argument will corrupt the environment memory causing several program (gnatmake will be unable to locate gcc, gnatbind or gnatlink). -- Summary: POSIX complient putenv() requires its argument NOT to be free'ed Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: critical Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bechir dot zalila at gmail dot com GCC build triplet: i686-apple-darwin9 GCC host triplet: i686-apple-darwin9 GCC target triplet: i686-apple-darwin9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35572