Fix for bugs #34210, #35508. =================================================================== --- libgcc/config.host.orig 2008-01-25 13:49:04.000000000 -0700 +++ libgcc/config.host 2008-03-22 22:04:25.965018200 -0600 @@ -77,6 +77,9 @@ strongarm*-*-*) arm*-*-*) cpu_type=arm ;; +avr-*-*) + cpu_type=avr + ;; bfin*-*) cpu_type=bfin ;; @@ -243,6 +246,8 @@ arm*-*-kaos*) avr-*-rtems*) ;; avr-*-*) + # Make HImode functions for AVR + tmake_file=${cpu_type}/t-avr ;; bfin*-elf*) ;; Index: config/avr/t-avr =================================================================== --- libgcc/config/avr/t-avr (revision 0) +++ libgcc/config/avr/t-avr (revision 0) @@ -0,0 +1,19 @@ +# Extra 16-bit integer functions. +intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _ffsXX2 _clzXX2 \ + _ctzXX2 _popcountXX2 _parityXX2 +hiintfuncs16 = $(subst XX,hi,$(intfuncs16)) +siintfuncs16 = $(subst XX,si,$(intfuncs16)) + +iter-items := $(hiintfuncs16) +iter-labels := $(siintfuncs16) +iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16)) + + +include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items)) +libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16)) + +ifeq ($(enable_shared),yes) +libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16)) +endif + +