Hi all,
I'm running into a strange problem where eclipse cdt isn't recognizing
a binary executable compiled with Borland/CodeGear. However, it has no
trouble with executables created with these tools: msvc, digital mars
compiler, mingw-gcc, executable created with the PE-Lib API.
After some extensive analysis of the difference in the generated PE
file structure, it appears the problem is coming from the e_lfanew data
field in the Dos Header. PE executables that the binary parser
recognized all had a e_lfanew value <= 100h. The compiled PE
executable from Borland/CodeGear had a e_lfanew value of 200h, which
the parser did not recognize as a valid executable.
As an experiment, I hand-modified the Borland executable with CFF
Explorer so that the e_lfanew has a value of 100h instead of 200h.
After saving the modifications, a refresh in the Eclipse IDE properly
recognizes it as a valid PE executable!
Is this a known problem of the parser? Should I file a bug report
regarding this issue?
Thanks
|