This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: PE-COFF and import tables


Pedro Alves wrote:
> This was because libceoldname.a (from mingw, the equivalent of
> libmoldname.a for CE) used to be built with `--dllname coredll.dll',
> while coredll.def has `LIBRARY COREDLL'.  This wasn't a problem
> for most devices, but, we've had reports of a few that refused
> to load such binaries, so currently libceoldmane.a is build
> with:
> 
> mingw/Makefile.in:
> libceoldname.a: moldname-coredll.def $(MOLD_OBJS)
>         $(DLLTOOL) --as $(AS) -k -U     \
>                 --dllname COREDLL       \
>                 --def moldname-coredll.def      \
> 
> So, with current sources, you'll not see "coredll.dll" anymore.
> 

Dave Korn wrote:
> >   Is it not working now?  You didn't yet say.  As far as I know, the .DLL
> > extension should be present in both cases.  I fixed a problem relating to this
> > just recently:
> > http://sourceware.org/ml/binutils/2009-03/msg00282.html

Thanks for the pointer.  Having now read this, I went to look at an
executable generated by MSVC, and it has this for import:

 DLL Name: COREDLL.dll

Note that the problem I meantioned above was related to the missing
.dll extension, but to having imports from both 'coredll.dll'
and 'COREDLL' in the same binary,  IIRC, making libceoldname.a and
libcoredll.a both export either 'coredll.dll' or 'COREDLL' fixed
the issue, we ended up settling for COREDLL.  In any case,
your fix will make use the same dll name MSFT uses, so it's
good for CE too.

> ... are you using binutils from before or after 1st April (when the patch got
> applied)?

If he's using binutils from cegcc svn, it's from before.

-- 
Pedro Alves


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