This is the mail archive of the binutils@sourceware.cygnus.com 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]

linker problem with WinCE exe's


Hi !

I try to finish the port of gcc to WinCE (based on the sources of
http://hyperion.clc.cc.il.us/~arty/).

Actually I have an error in the linker with the "import information"
section of WinCE exe files.
This stuff is in the .idata section. This section has subsections as
.idata$2, .idata$3,...,idata$6. The interesting thing is that symbols
are reallocated correctly.
I have just an error when the address of the start of .idata$4 is needed

(In detail: the error occurs at the .idata section offset 0x0 where the

address of the beginning of .idata$4 should be and at offset 0x10 where
the address of .idata$5 should be).
After reallocation I always found the start address of .idata.
In the function bfd_perform_relocation (in reloc.c) the variables
symbol->value and  symbol->section->output_offset are always 0.

It seems to me, that one of these two values (value or output_offset)
should hold the offset of the subsection inside the section.
The problem I have is, that I didn't found the function which is
responsible for this (I spent already some hours with debugging and
analyzing the code).

Please, could anybody tell me, if I am on the right way and if so, where

I can find the value of the offset of a subsection inside a section ?
And additionally, in which function (module) the calcualtion of this
offset will be performed ?

My problem is, that I don't understood in detail how the linking works.
I was just debugging and looking into the code.


I thank you for any help,

Richard


----------------------------------
Richard Wisenöcker
Vienna, Austria





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