"Paulo J. Matos" <pa...@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

Reply via email to