Mail Archives: djgpp/2000/06/14/06:20:09
On Tue, 13 Jun 2000, Bernhard Stiftner wrote:
> when I try to generate a DLX file out of a C++ object file,
> DLXGEN reports that the .o file consists of "more than one
> section" and refuses to generate the DLX.
> Everything is properly installed (linker description,
> libraries, headers, ...), and it works fine with C code.
> After comparing map files of a C and a C++ object file, I
> found out that in the C++ object file there are two frames
> called ".eh_frame" and " .eh_frame" (with a space before
> the "."), and only the second one seems to contain the
> relevant object data.
I'm guessing that DLX uses a linker script that is incompatible with
the way the new C++ code is generated. In particular, that linker
script probably doesn't know anything about the new .eh_frame
sections.
I suggest to look at the DLX linker script (look for a file named
dlx.djl or some such) and compare it with djgpp.djl which should be in
your lib subdirectory. That should give you some clue about how to
modify the DLX script. If you cannot figure this out, try posting the
DLX script here, perhaps someone will advise.
> PS: I have also contacted Luke Bishop (the programmer of
> DLX) - he told me that he could generate C++ DLXs without
> any troubles. That's interesting, AFAIK the problems with
> C++ and DLX start already when you install the latest C++
> compiler ZIP (gpp2952b.zip) ;-(
Did you verify that you and the DLX developer use the same version of
the compiler? What about the version of Binutils?
- Raw text -