unwind and type support in GCC47
Ian Lance Taylor
iant@google.com
Fri Mar 30 04:11:00 GMT 2012
"Paulo J. Matos" <paulo@matos-sorge.com> writes:
> I am porting my backend to GCC47 and have been jumping through some
> hurdles. libgcc is trying to compile unwind*.c files which I can't
> remember being there for GCC46.
They were there. In 4.6 they were in the gcc subdirectory. For 4.7
they moved to the libgcc directory. This was a logical move because
they have always been part of libgcc, not part of the compiler (and
enormous thanks for Rainer Orth for working through the mechanics of
moving them.)
> I deduce this files have to do with
> exception support GCC47 seems to want to make exceptions mandatory even
> though my backend doesn't really 'support' them (in the sense that our
> tests don't care about them).
The files didn't change when they moved. It is possible that something
about how they were built changed.
> unwind*.c have a lot of variable definitions to mode SI as being a word,
> However, in my case a word is actually in mode QI (16bits). Is there
> anything I can do to stop libgcc from trying to compile these files
Sure, change LIB2ADDEH in your libgcc/config/CPU/t-CPU file. E.g., see
picochip.
> or to
> make unwind compatible with my backend besides going blindly changing SI
> mode in variable declaration to QI mode?
There really shouldn't be anything in the exception support that uses
SImode. That would be a bug. And I don't see anything that uses
SImode. What are you looking at? What I see is things that use mode
__unwind_word__, __word__, and __pointer__. Those types are under the
control of your backend.
Ian
More information about the Gcc
mailing list