2010-07-10 Yao Qi Merge from Sourcery G++ 4.4: 2009-05-28 Julian Brown Merged from Sourcery G++ 4.3: libgcc/ * config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*) (arm*-*-symbianelf): Add arm/t-divmod-ef to tmake_file. * Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Set to previous default if not set by a target-specific Makefile fragment. (lib2-divmod-o, lib2-divmod-s-o): Use above. * config/arm/t-divmod-ef: New. 2010-07-09 Sandra Loosemore Merge from Sourcery G++ 4.4: === modified file 'libgcc/Makefile.in' --- old/libgcc/Makefile.in 2010-03-30 12:08:52 +0000 +++ new/libgcc/Makefile.in 2010-07-30 12:21:02 +0000 @@ -400,18 +400,24 @@ endif endif +ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),) +# Provide default flags for compiling divmod functions, if they haven't been +# set already by a target-specific Makefile fragment. +LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions +endif + # Build LIB2_DIVMOD_FUNCS. lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS)) $(lib2-divmod-o): %$(objext): $(gcc_srcdir)/libgcc2.c $(gcc_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \ - -fexceptions -fnon-call-exceptions $(vis_hide) + $(LIB2_DIVMOD_EXCEPTION_FLAGS) $(vis_hide) libgcc-objects += $(lib2-divmod-o) ifeq ($(enable_shared),yes) lib2-divmod-s-o = $(patsubst %,%_s$(objext),$(LIB2_DIVMOD_FUNCS)) $(lib2-divmod-s-o): %_s$(objext): $(gcc_srcdir)/libgcc2.c $(gcc_s_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \ - -fexceptions -fnon-call-exceptions + $(LIB2_DIVMOD_EXCEPTION_FLAGS) libgcc-s-objects += $(lib2-divmod-s-o) endif === modified file 'libgcc/config.host' --- old/libgcc/config.host 2010-04-02 02:02:18 +0000 +++ new/libgcc/config.host 2010-07-30 12:21:02 +0000 @@ -208,12 +208,15 @@ arm*-*-netbsd*) ;; arm*-*-linux*) # ARM GNU/Linux with ELF + tmake_file="${tmake_file} arm/t-divmod-ef" ;; arm*-*-uclinux*) # ARM ucLinux + tmake_file="${tmake_file} arm/t-divmod-ef" ;; arm*-*-ecos-elf) ;; arm*-*-eabi* | arm*-*-symbianelf* ) + tmake_file="${tmake_file} arm/t-divmod-ef" ;; arm*-*-rtems*) ;; === added directory 'libgcc/config/arm' === added file 'libgcc/config/arm/t-divmod-ef' --- old/libgcc/config/arm/t-divmod-ef 1970-01-01 00:00:00 +0000 +++ new/libgcc/config/arm/t-divmod-ef 2010-07-30 12:21:02 +0000 @@ -0,0 +1,4 @@ +# On ARM, specifying -fnon-call-exceptions will needlessly pull in +# the unwinder in simple programs which use 64-bit division. Omitting +# the option is safe. +LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions