From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18828 invoked by alias); 27 Nov 2012 08:11:56 -0000 Received: (qmail 18809 invoked by uid 22791); 27 Nov 2012 08:11:52 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_HOSTKARMA_NO,TW_DL,TW_FC X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 27 Nov 2012 08:11:45 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id BD9661C7D7B; Tue, 27 Nov 2012 03:11:44 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id bStBZovSm59c; Tue, 27 Nov 2012 03:11:44 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 835891C7CB7; Tue, 27 Nov 2012 03:11:44 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id D2AF8C270F; Tue, 27 Nov 2012 09:11:42 +0100 (CET) Date: Tue, 27 Nov 2012 08:11:00 -0000 From: Joel Brobecker To: Pavel Chupin Cc: gdb-patches@sourceware.org, "H.J. Lu" Subject: Re: [PATCH] Fix libtool.m4 dlopen lookup for mingw Message-ID: <20121127081142.GA3581@adacore.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-11/txt/msg00699.txt.bz2 Hi Pavel, > Attached patch removes mingw from special cases of dlopen lookup. It > allows dlopen to be found later in libdl and have it added properly as > -ldl in bfd and sim builds. > > To reproduce the problem: > > ../configure --enable-plugins --target=arm-linux-android > --host=i586-pc-mingw32msvc --build=i386-linux-gnu > make > > Error: > ../../bfd/libbfd.a(plugin.o): In function `try_load_plugin': > /tmp/gdb/BUILD/bfd/../../bfd/plugin.c:170: undefined reference to `dlopen' > /tmp/gdb/BUILD/bfd/../../bfd/plugin.c:177: undefined reference to `dlsym' > /tmp/gdb/BUILD/bfd/../../bfd/plugin.c:173: undefined reference to `dlerror' > > ChangeLog: > > 2012-11-27 Pavel Chupin > > Fix libtool.m4 libdl lookup for mingw > * libtool.m4: Remove mingw from special case of dlopen lookup > * bfd/configure: Regenerate. > * sim/arm/configure: Regenerate. > * sim/avr/configure: Regenerate. > * sim/bfin/configure: Regenerate. > * sim/common/configure: Regenerate. > * sim/cr16/configure: Regenerate. > * sim/cris/configure: Regenerate. > * sim/d10v/configure: Regenerate. > * sim/erc32/configure: Regenerate. > * sim/frv/configure: Regenerate. > * sim/h8300/configure: Regenerate. > * sim/iq2000/configure: Regenerate. > * sim/lm32/configure: Regenerate. > * sim/m32c/configure: Regenerate. > * sim/m32r/configure: Regenerate. > * sim/m68hc11/configure: Regenerate. > * sim/mcore/configure: Regenerate. > * sim/microblaze/configure: Regenerate. > * sim/mips/configure: Regenerate. > * sim/mn10300/configure: Regenerate. > * sim/moxie/configure: Regenerate. > * sim/rl78/configure: Regenerate. > * sim/rx/configure: Regenerate. > * sim/sh/configure: Regenerate. > * sim/sh64/configure: Regenerate. > * sim/v850/configure: Regenerate. Thanks for sending this patch. Changes to the root directory are controled by the GCC developers, so you will need to send your patch there for approval. But looking at your patch, I am wondering whether it is actually right. I have two reasons for questioning your patch: - I don't think MinGW actually provides libdl, at least not by default. Your change would probably break the build for those who do not have the dlfcn extension installed; - Looking at bfd/plugin.c, there are implementations of these dlfcn functions provided by that file for Windows. These implementations are guarded by: #if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) I am guessing that your MinGW install has dlfcn.h. Perhaps the problem would need to be fixed in bfd instead (binutils AT sourceware dot org). -- Joel