This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH mingw/gold] Fix mingw gold build with plugins enabled for non-dlfcn case
- From: Ian Lance Taylor <iant at google dot com>
- To: Pavel Chupin <pavel dot v dot chupin at gmail dot com>
- Cc: binutils at sourceware dot org
- Date: Sat, 5 Jan 2013 11:18:27 -0800
- Subject: Re: [PATCH mingw/gold] Fix mingw gold build with plugins enabled for non-dlfcn case
- References: <CANwJu19XXgY-LuL7U=LC_s4iO=nY-J=Wy8DAg81BC_CGw3yA0w@mail.gmail.com>
On Fri, Dec 28, 2012 at 10:41 AM, Pavel Chupin <pavel.v.chupin@gmail.com> wrote:
> Attached patch fixes mingw build configured (for example) as:
>
> ../configure --prefix=`pwd`/../INSTALL --target=i686-linux-android
> --host=i586-pc-mingw32msvc --build=i386-linux-gnu --enable-plugins
> --enable-gold
> make
>
> Error message:
>
> ../../gold/plugin.cc:32:19: fatal error: dlfcn.h: No such file or directory
>
> I'm fixing it like it's done in bfd configure: check for headers and
> library, add/not-add -ldl on link.
> Also adding windows.h case into plugin.cc to handle case when
> mingw-dlfcn is not installed on the system.
>
> ChangeLog:
>
> 2012-12-25 Pavel Chupin <pavel.v.chupin@intel.com>
>
> Fix mingw gold build with plugins enabled
> * gold/Makefile.am: Replace -ldl with @lt_cv_dlopen_libs@.
> * gold/aclocal.m4: Include libtool modules.
> * gold/configure.ac: Export lt_cv_dlopen_libs and add headers check.
> * gold/plugin.cc: Handle non-dlfcn case.
> * gold/Makefile.in: Regenerate.
> * gold/config.in: Regenerate.
> * gold/configure: Regenerate.
> * gold/testsuite/Makefile.in: Regenerate.
Sorry for the slow review. The general idea is fine but the
formatting is wrong. This is C++ code, not C: no space between
function name and left parenthesis. Keep line lengths less than 80
columns--the body of dlsym needs a line break. Don't define
dlclose--it's not called. dlerror should return an ordinary error
string--no capitalization, no punctuation.
In configure.ac, the comment should be a complete sentence with proper
capitalization and punctuation. It should explain why you are using
libtool.
Thanks.
Ian