This is the mail archive of the java@gcc.gnu.org mailing list for the Java 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 to enable libgcj.dll for MinGW


----- Original Message -----
From: "Andrew Haley">
Sent: Thursday, 8 September 2005 22:48
>
> Interestingly, cygwin.h includes this:
>
> /* Binutils does not handle weak symbols from dlls correctly.  For now,
>    do not use them unnecessarily in gthr-posix.h.  */
> #define GTHREAD_USE_WEAK 0
>
> but mingw32 doesn't.  I assume that mingw32 binutils has exactly the
> same bug, so this is perhaps a mistake.  Danny?


MinGW doesn't  use gthr-posix.h, so there is no need for the define.

The reason why " Binutils does not handle weak symbols from dlls correctly."
is because dlls are normally accessed via an import lib, which is a static
archive, with effectively one export per member object.  Weak symbols are not
resolved by an archive member unless the member is needed to resolve a "strong"
undef.  (as per SVR4 ABI)

The bug is that __attribute__((weak)) on PE-COFF targets, should actually be
__attribute__((weak ("search" ))) where "search" indicates what type of objects
to search.


Danny

>
> Anyway, I'd have no objection to
>
> #ifdef OBJECT_FORMAT_ELF
>
> because it's only ELF targets where we're sure this works.
>
> Andrew.


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