>>>>> Perry Smith writes: Perry> I can not find a description of what the different versions of libgcc Perry> and libstd++ are for. Some versions are obvious, others are not. Perry> In particular, I am trying to determine what these libraries are Perry> for: (this is on AIX version 5.3) (how are they different from each Perry> other perhaps is a better way to phrase my question. Or what Perry> objective do each of these have?) Perry> gcc/powerpc-ibm-aix5.3.0.0/4.0.2/libgcc_eh.a Perry> libgcc_s.a Perry> libsupc++.a Perry> libstdc++.a Perry> To provide some background, I am attempting to write a device driver Perry> on AIX 5.3 using C++. I want to use the try/catch/throw exception Perry> part of C++. I realize this may be an uphill battle but I think it Perry> will be worth it. To do this, the driver must be linked statically Perry> except for references resolved by exports provided by the AIX kernel Perry> services. I've been writing drivers using xlc on AIX for 18+ years Perry> so I am familiar with the AIX environment using C but want to start Perry> using C++. libgcc is a general, low-level runtime support library for GCC. On AIX, the XLC support routines are provided by the system libc. libgcc_s is the shared library version of the support library. libstdc++ provides the standard C++ library. libgcc_eh.a provides general support for exception handling for all GCC languages. libsupc++ is included in libstdc++. The VAC++ runtime libraries are much like the G++ libraries, but the two are incompatible. GCC, including G++, provides a "-static" option to link an application staticly. GCC invokes the appropriate options for AIX (similarly, an AIX shared object can be created with the "-shared" commandline option). One can examine the options generated for the linker with the "-v" commandline option. Using a C++ applications with exception handling to build a device driver is complicated, even without using G++. G++ needs all of its GCC and C++-related support libraries for exception handling. David