"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