From: SourceForge.net <no...@so...> - 2003-03-27 23:24:36
|
Bugs item #711086, was opened at 2003-03-28 10:55 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=711086&group_id=2435 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Brian Palmer (disasm) Assigned to: Nobody/Anonymous (nobody) Summary: Linking 16-bit code is broken Initial Comment: I am writing a boot manager named FreeLoader. Since it is a boot manager I have to write some 16-bit code to init protected mode so Mingw32 compiled code can run. I link it to an executable .exe file and the run "objcopy -O binary" to generate the flat binary file. This works great under all versions of gcc that I have tested (DJGPP, Linux gcc) except for Mingw32. The problem is that it seems to be fixing up the 16-bit addresses incorrectly. For example, in the latest FreeLoader code from cvs I have a 16-bit function called switch_to_prot(). In the map file it lists this function (correctly) as 0x832f. In the resulting binary file (after the objcopy) when I step through it with bochs it is actually calling 0x832d, which is the wrong address. ---------------------------------------------------------------------- >Comment By: Danny Smith (dannysmith) Date: 2003-03-28 11:38 Message: Logged In: YES user_id=11494 What is version of objcopy? Please provide self-contained testcase that shows the bug. Danny ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=711086&group_id=2435 |