From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27772 invoked by alias); 22 Mar 2012 19:03:13 -0000 Received: (qmail 27763 invoked by uid 22791); 22 Mar 2012 19:03:10 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 22 Mar 2012 19:02:58 +0000 From: "dje at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/52623] 4.7.0-RC-20120314: bootstrap failure on AIX due to multilib and using C++ in post-stage1 Date: Thu, 22 Mar 2012 19:26:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dje at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-03/txt/msg01959.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52623 --- Comment #7 from David Edelsohn 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?