http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52623
--- Comment #7 from David Edelsohn <dje at gcc dot gnu.org> 2012-03-22 19:02:23 UTC --- Can you be a little more specific about how you want to use import files? You seem to be associating them with -brtl, but that is a separate issue. GCC -shared and AIX support shared libraries by default, without -brtl. Traditionally, AIX shared libraries are archives of shared object files, e.g., shr.o, shr4.o, etc. One may link against libfoo.a containing shared objects, but the result is dynamic linking. What AIX does not support by default is overriding symbols at runtime. Creating the shared object with -G and linking the executable with -brtl adds support for dynamic runtime overrides, like SVR4. -brtl also adds ".so" files to the search path so that a shared object can be named libfoo.so instead of libfoo.a. There also are differences in which symbols are exported by default. But the basic support for shared libraries exists without -brtl or -bsvr4. An export file explicitly informs the linker which symbols should be exported and visible in a shared library. AIX normally does not export symbols that begin with an underscore, which occurs often in C++ mangling. An import file is a list of symbols are exported by a shared library or executable. The linker implicitly generates an import file when linking against a shared library. An import file also provides some flexibility for wildcards about the source of the symbol, e.g., the symbol will be provided by the main application or by run-time linking. Are you trying to use import files to change the search path or search order?