It occurs to me that some folks might want to look at the spec:

http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
http://kishorekumar.net/pecoff_v8.1.htm

The Microsoft link has a click through agreement so I also provided
a link to a copy of the straight HTML that I found.

Dan


On 12/21/2010 4:26 PM, Daniel D. Daugherty wrote:
Greetings,

I would like to get a couple of code reviews for my fix to the
following JDK7/HSX-20 bug:

   6987812 2/3 SAJDI: "gHotSpotVMTypes was not initialized properly in
               the remote process"

Here is the URL for the webrev:

   http://cr.openjdk.java.net/~dcubed/6987812-webrev/0/

Here is an overview of the changes:

- Reorder the code in HotSpotTypeDataBase.readVMTypes() to lookup
 and decode the 'gHotSpotVMTypes' symbol first. This should help
 make any future failures in this area more consistent.

- COFFFileParser changes:
 - add comments to clarify some of the algorithms
 - read 'Base Of Data' field in optional header when PE32
   format COFF file is read
 - change ExportDirectoryTableImpl to return the 'Export RVA' field
   without modification and to return the 'Forwarder RVA' field
   after adjusting the address into a file offset

- update debugger/win32/coff/DumpExports to include more info about
 the section headers and to dump the exported symbol info in a more
 understandable order

- update debugger/win32/coff/TestParser to more clearly access the
 section header using 1-based indices instead of 0-based indices

- update the static initializer in debugger/windbg/WindbgDebuggerLocal
 to use different library loading logic for dbgeng.dll and dbghelp.dll.
 The library pair is searched for in:

  - $JAVA_HOME/jre/bin
  - dir named by DEBUGGINGTOOLSFORWINDOWS environment variable
  - the "Debugging Tools For Windows" program directory
  - the "Debugging Tools For Windows (x86)" program directory
  - the "Debugging Tools For Windows (x64)" program directory
  - the system directory (WINDOWS/system32 is searched last)

- the sawwindb.dll is now explicitly loaded from $JAVA_HOME/jre/bin

Thanks, in advance, for any reviews.

Dan


Reply via email to