Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm Sender: cygwin-apps-owner AT cygwin DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps AT cygwin DOT com Delivered-To: mailing list cygwin-apps AT cygwin DOT com From: "Ralf Habacker" To: , "Ralf Habacker" , "Charles Wilson" Cc: "Binutils" , "Cygwin-Apps" Subject: RE: ordinal linking for cygwin ld Date: Sun, 28 Apr 2002 14:17:38 +0200 Message-ID: <001b01c1eeae$afa0b670$d36707d5@BRAMSCHE> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 In-Reply-To: Importance: Normal > Mostly. I'm a bit rusty - it's been a while since I grokked the > auto-import stuff. I'm getting back into it at the moment. The thing > that I don't follow at the moment is the how the linker fixup places the > exported data -variable- at a fixed rva at dll load time. The IAT is > -meant- to point straight to functions after the fixup occurs, so > pointing at an address in the .dll .text segment is fine. ^^^^ Not into the dll, into the client code. objdump -D client.exe 401063: a1 b8 40 40 00 mov 0x4040b8,%eax | ^^^^^^^^^^ opcode address 00401064 : Firstthunk points to 0x401064, the symbol <__fu0__var0000>, which is the address part of the mov instruction. After run time linking the loader has relocated this address to the propper value. 401063: a1 ab cd ef 00 mov 0x00efcdab,%eax Ralf