This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/16818] New: Environment not set when using -static and global C++ ctors
- From: "jurij dot rosenthal at web dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jul 2004 11:27:31 -0000
- Subject: [Bug c++/16818] New: Environment not set when using -static and global C++ ctors
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The environment variable extern char *environ is not set
on Solaris (SunOS 5.8 and 5.9) when using g++ -static.
(Works on Linux, though)
I checked this with different gcc version (2.95.1, 3.3.2, 3.3.4
and 3.4.1) on Solaris.
Seems to me that this is caused by the run time system.
bash-2.05$ g++ -v -save-temps -Wall -static -o test_getenv test_getenv.cpp
Reading specs from /home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/specs
Configured with: ../gcc-3.4.1/configure --prefix=/home/jurij --without-gnu-as
--without-gnu-ld --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
--disable-nls --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.1
/home/jurij/libexec/gcc/sparc-sun-solaris2.9/3.4.1/cc1plus -E -quiet -v
test_getenv.cpp -mcpu=v7 -Wall -o test_getenv.ii
ignoring nonexistent directory
"/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/../../../../sparc-sun-solaris2.9/include"
#include "..." search starts here:
#include <...> search starts here:
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/../../../../include/c++/3.4.1
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/../../../../include/c++/3.4.1/sparc-sun-solaris2.9
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/../../../../include/c++/3.4.1/backward
/usr/local/include
/home/jurij/include
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/include
/usr/include
End of search list.
/home/jurij/libexec/gcc/sparc-sun-solaris2.9/3.4.1/cc1plus -fpreprocessed
test_getenv.ii -quiet -dumpbase test_getenv.cpp -mcpu=v7 -auxbase test_getenv
-Wall -version -o test_getenv.s
GNU C++ version 3.4.1 (sparc-sun-solaris2.9)
compiled by GNU C version 3.4.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
/usr/ccs/bin/as -V -Qy -s -xarch=v8 -o test_getenv.o test_getenv.s
/usr/ccs/bin/as: Sun WorkShop 6 update 2 Compiler Common 6.2 Solaris_9_CBE
2001/04/02
/home/jurij/libexec/gcc/sparc-sun-solaris2.9/3.4.1/collect2 -V -dn -Bstatic -Y
P,/usr/ccs/lib:/usr/lib -Qy -o test_getenv
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/crt1.o
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/crti.o /usr/ccs/lib/values-Xa.o
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/crtbegin.o
-L/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1 -L/usr/ccs/bin -L/usr/ccs/lib
-L/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/../../.. test_getenv.o -lstdc++
-lm -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/crtend.o
/home/jurij/lib/gcc/sparc-sun-solaris2.9/3.4.1/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.378
Executing:
bash-2.05$ ./test_getenv
value of OSTYPE = (null)
value of OSTYPE = some
OSTYPE should say "some" in both cases.
--
Summary: Environment not set when using -static and global C++
ctors
Product: gcc
Version: 3.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jurij dot rosenthal at web dot de
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: sparc-sun-solaris2.9
GCC host triplet: sparc-sun-solaris2.9
GCC target triplet: sparc-sun-solaris2.9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16818