This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix libtool.m4 dlopen lookup for mingw


2012/11/27 Joel Brobecker <brobecker@adacore.com>:
> 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  <pavel.v.chupin@intel.com>
>>
>>         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;

Right, by default there is no such library present.  Therefore mingw
can't dependent on the presence of such a library.

>   - 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).

Yes, I assume that a fix of the issue you had should be addressed in
binutils instead.

Regards,
Kai


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]