From mboxrd@z Thu Jan 1 00:00:00 1970 From: wisi To: egcs binutils Subject: linker problem with WinCE exe's Date: Thu, 01 Jul 1999 00:00:00 -0000 Message-id: <37582C57.7F8A3E7B@gmx.at> X-SW-Source: 1999-q2/msg00121.html 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