Mail Archives: djgpp-workers/1998/08/24/13:44:51
> compatibility problems between object files produced by
> different versions of GCC.
In many cases, yes. Most seem to be related to c++ stuff. The
problems arise between what is expected to be in libgcc.a. Typically,
you need to link against the version of libgcc.a specific to the
compiler you used to create the object files. The biggest gotchas here
have been exception handling and rtti I think.
These are usually easy to find because you will get unresolved externals
when linking.
> Andrew warned about incompatibilities between PGCC and GCC. If I
> understand correctly, stock libc cannot be used with PGCC.
No. This is another (maybe another 2 issues). The crt code for
djgpp 2.01 doesn't align the stack. Its not an incompatibility, but
it can slow things down a lot. I recommend that people recompile
all of their libs with pgcc just to get the small speed increase. It
is not actually required ..... unless you want to use any of the -m
options that break the abi (this also makes object files incompatible
with anything not compiled with the same options). So, there are
some -m options that control alignment of static data like floats and
doubles. There are also some that work on the stack. If those are used,
they must be used on every singe file, including all libs and such.
If you screw this up you will get bogus results, or run time fp exceptions
or something. Some of these options exist in regular gcc and egcs as well.
Andy
- Raw text -