+2012-08-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (vis_hide, gen-hide-list): Do not make definitions
+       depend on --enable-shared.
+       ($(lib1asmfuncs-o)): Use %.vis files independent of
+       --enable-shared.
+       * static-object.mk ($(base)$(objext), $(base).vis)
+       ($(base)_s$(objext)): Use same rules for visibility handling as in
+       shared-object.mk.
+
 2012-08-21  Ian Lance Taylor  <iant@google.com>
 
        * config/i386/morestack.S (__morestack_non_split): Increase amount
 
   ifneq ($(LIBUNWIND),)
     install-libunwind = install-libunwind
   endif
+endif
 
 # For -fvisibility=hidden.  We need both a -fvisibility=hidden on
 # the command line, and a #define to prevent libgcc2.h etc from
 gen-hide-list = echo > $@
 endif
 
-else
-# Not enable_shared.
+ifneq ($(enable_shared),yes)
 iterator = $(srcdir)/empty.mk $(patsubst %,$(srcdir)/static-object.mk,$(iter-items))
-vis_hide =
-gen-hide-list = echo > \$@
 endif
 
 LIB2ADD += enable-execute-stack.c
                       $(LIB2_DIVMOD_FUNCS))
 
 # Build "libgcc1" (assembly) components.
-ifeq ($(enable_shared),yes)
 
 lib1asmfuncs-o = $(patsubst %,%$(objext),$(LIB1ASMFUNCS))
 $(lib1asmfuncs-o): %$(objext): $(srcdir)/config/$(LIB1ASMSRC) %.vis
 lib1asmfuncs-s-o = $(patsubst %,%_s$(objext),$(LIB1ASMFUNCS))
 $(lib1asmfuncs-s-o): %_s$(objext): $(srcdir)/config/$(LIB1ASMSRC)
        $(gcc_s_compile) -DL$* -xassembler-with-cpp -c $<
-libgcc-s-objects += $(lib1asmfuncs-s-o)
-
-else
+ifeq ($(enable_shared),yes)
 
-lib1asmfuncs-o = $(patsubst %,%$(objext),$(LIB1ASMFUNCS))
-$(lib1asmfuncs-o): %$(objext): $(srcdir)/config/$(LIB1ASMSRC)
-       $(gcc_compile) -DL$* -xassembler-with-cpp -c $<
-libgcc-objects += $(lib1asmfuncs-o)
+libgcc-s-objects += $(lib1asmfuncs-s-o)
 
 endif
 
 
 endif
 endif
 
-$(base)$(objext): $o
-       $(gcc_compile) -c -xassembler-with-cpp $<
+$(base)$(objext): $o $(base).vis
+       $(gcc_compile) -c -xassembler-with-cpp -include $*.vis $<
+
+$(base).vis: $(base)_s$(objext)
+       $(gen-hide-list)
+
+$(base)_s$(objext): $o
+       $(gcc_s_compile) -c -xassembler-with-cpp $<
 
 endif