The psim target does not properly load an executable in the "oea" 
environment using the "bug" OS emulation if the load address (LMA) 
and the link address (VMA) differ.  This is a known bug, as 
indicated by the comment in sim/ppc/hw_init.c:

  /* DEVICE


   load-binary - load binary segments into memory


   DESCRIPTION

   Each loadable segment of the specified binary is loaded into memory
   at its required address.  It is assumed that the memory at those
   addresses already exists.

   This device is normally used to load an executable into memory as
   part of real mode simulation.


   PROPERTIES


   file-name = <string>

   Name of the binary to be loaded.


   claim = <anything> (optional)

   If this property is present, the real memory that is to be used by
   the image being loaded will be claimed from the memory node
   (specified by the ihandle <</chosen/memory>>).


   BUGS


   When loading the binary the bfd virtual-address is used.  It should
   be using the bfd load-address.

   */






The attached patch seems to fix the problem for me.


-------- gdb version (Insight debugger) ------------
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "--host=i586-pc-linux-gnu
--target=powerpc-eabi".
--- ./sim/ppc/hw_init.c.orig    Fri Jun  9 18:50:51 2000
+++ ./sim/ppc/hw_init.c Fri Jun  9 19:29:12 2000
@@ -335,7 +335,11 @@
     return;
 
   /* find where it is to go */
-  section_vma = bfd_get_section_vma(abfd, the_section);
+  if (strcmp(device_name(me), "load-binary") == 0) {
+    section_vma = bfd_section_lma(abfd, the_section);
+  } else {
+    section_vma = bfd_section_vma(abfd, the_section);
+  }
 
   DTRACE(binary,
         ("name=%-7s, vma=0x%.8lx, size=%6ld, flags=%3lx(%s%s%s%s%s )\n",

Reply via email to