Linker problems with arm-wince, need help/info
Chad J
gamerChad at _spamIsBad_gmail.com
Tue Jun 20 14:53:31 PDT 2006
Pedro Alves wrote:
> One more thing.
> There is usually a #define USER_LABEL_PREFIX "_" or #define
> USER_LABEL_PREFIX ""
> in gcc/config/$arch/someheader.h. In cegcc it is defined as
> USER_LABEL_PREFIX "".
> Maybe that isn't being used in the D frontend and an '_' is preppended
> unconditionally?
>
This seems to have saved the day!
In gcc/config/arm/wince-pe.h I added this code:
#undef LIB_SPEC
#define LIB_SPEC \
{ "%{staticlibs:-lgcc -lstdc++ -lsupc++ -lc -lm -lwinsock}
%{!staticlibs:-lcdll -lcdllimp} -lcoredll" }
// solve underscoring problems when linking
#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX ""
The LIB_SPEC stuff makes it link to the newlib libraries and such
without the need of an external specfile - this saves anyone who wants
to build this from having to do a bunch of xgcc trickery to get the
thing to eat a specfile.
Apparently I'm not out of the woods yet though. There are unresolved
references still. The linker's error output is attached. It seems to
be all Phobos stuff - it's calling functions that I don't think exist on
WinCE. For some reason those functions must be defined in the headers
while not actually being implemented. These are things like
GetCurrentDirectory, which shouldn't exist since WinCE doesn't have the
concept of a current working dir (AFAIK). If I'm wrong about this, do
let me know before I get too far in extending parts of phobos.
I'm probably going to try cegcc newlib now. Hopefully it can fill in
some of those undefined references.
Thanks for the massive help Pedro! Your intervention just saved me many
hours of pain and frustration :)
Thank you too David, for the initial help and your work on GDC!
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: linkErrors
Url: http://lists.puremagic.com/pipermail/d.gnu/attachments/20060620/e9448e52/attachment.diff
More information about the D.gnu
mailing list