diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fd294e049322273a4a9e4f3308c5140d8a3066d0..5197abf62284f7975420b1ae6e7c00db36d32788 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2001-05-16  Andreas Jaeger  <aj@suse.de>
+
+	* Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
+
+	* toplev.c: Include dwarf2asm.h for prototype of
+	dw2_output_indirect_constants.
+
 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 	* stmt.c (expand_asm_operands): Be able to offload addressof
@@ -24,7 +31,7 @@ Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
 	    Nathan Sidwell  <nathan@codesourcery.com>
-	    
+
         * gcc.c (give_switch): Don't write before start of string.
 	Always append suffix.
 
@@ -273,7 +280,7 @@ cp:
 	* final.c (final_start_function): Always call dwarf2out_begin_prologue.
 	(final_end_function): Don't call output_function_exception_table.
 	* toplev.c (compile_file): Call dw2_output_indirect_constants.
-	(rest_of_compilation): Invoke output_function_exception_table 
+	(rest_of_compilation): Invoke output_function_exception_table
 	for ia64 before assemble_end_function.
 	* tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3e141398fc31a4cba6b26c2dcfdec6eecb7c9a41..dbaf8b5daa89a40441afec1ba809ca4d749ab810 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -138,9 +138,9 @@ MAKEOVERRIDES =
 # In stage2 and beyond, we force this to "-o $@" since we know we're using gcc.
 OUTPUT_OPTION = @OUTPUT_OPTION@
 
-# Some versions of `touch' (such as the version on Solaris 2.8) 
+# Some versions of `touch' (such as the version on Solaris 2.8)
 # do not correctly set the timestamp due to buggy versions of `utime'
-# in the kernel.  So, we use `echo' instead. 
+# in the kernel.  So, we use `echo' instead.
 STAMP = echo timestamp >
 
 # This is where we get zlib from.  zlibdir is -L../zlib and zlibinc is
@@ -213,7 +213,7 @@ AR_FOR_TARGET = ` \
        t='$(program_transform_cross_name)'; echo ar | sed -e $$t ; \
     fi; \
   fi`
-AR_FLAGS_FOR_TARGET = 
+AR_FLAGS_FOR_TARGET =
 AR_CREATE_FOR_TARGET = $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) rc
 AR_EXTRACT_FOR_TARGET = $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) x
 RANLIB_FOR_TARGET = ` \
@@ -913,10 +913,10 @@ $(srcdir)/configure: $(srcdir)/configure.in
 	(cd $(srcdir) && autoconf)
 
 gccbug:	$(srcdir)/gccbug.in
-	CONFIG_FILES=gccbug CONFIG_HEADERS= ./config.status 
+	CONFIG_FILES=gccbug CONFIG_HEADERS= ./config.status
 
 mklibgcc: $(srcdir)/mklibgcc.in
-	CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status 
+	CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status
 
 # cstamp-h.in controls rebuilding of config.in.
 # It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
@@ -1328,7 +1328,7 @@ gencheck$(build_exeext) : gencheck.o $(HOST_LIBDEPS)
 	 gencheck.o $(HOST_LIBS)
 
 gencheck.o : gencheck.c gencheck.h tree.def $(HCONFIG_H) $(SYSTEM_H) \
-             $(lang_tree_files) 
+             $(lang_tree_files)
 	$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
 	  $(srcdir)/gencheck.c
 
@@ -1373,13 +1373,13 @@ fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) flags.h toplev.h \
    $(EXPR_H) $(RTL_H) $(GGC_H) $(TM_P_H)
 diagnostic.o : diagnostic.c diagnostic.h diagnostic.def \
    $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) $(TM_P_H) flags.h \
-   $(GGC_H) input.h $(INSN_ATTR_H) insn-config.h toplev.h intl.h 
+   $(GGC_H) input.h $(INSN_ATTR_H) insn-config.h toplev.h intl.h
 toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) function.h \
    flags.h input.h $(INSN_ATTR_H) xcoffout.h output.h diagnostic.h \
    insn-config.h intl.h $(RECOG_H) Makefile toplev.h dwarfout.h \
    dwarf2out.h sdbout.h dbxout.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
    graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) $(lang_options_files) \
-   ssa.h params.h $(TM_P_H) reload.h
+   ssa.h params.h $(TM_P_H) reload.h dwarf2asm.h
 	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(MAYBE_USE_COLLECT2) \
 	  -DTARGET_NAME=\"$(target_alias)\" \
 	  -c $(srcdir)/toplev.c
@@ -1803,7 +1803,7 @@ genrecog$(build_exeext) : genrecog.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(
 
 genrecog.o : genrecog.c $(RTL_H) $(HCONFIG_H) \
   $(SYSTEM_H) errors.h gensupport.h
-	$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genrecog.c 
+	$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genrecog.c
 
 genextract$(build_exeext) : genextract.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
 	$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
@@ -2354,7 +2354,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mostlyclean
 INTL_CLEAN = intl.clean
 clean: mostlyclean $(INTL_CLEAN) lang.clean
 	-rm -f libgcc.a libgcc_s$(SHLIB_EXT) libgcc_s$(SHLIB_EXT).0
-	-rm -f config.h tconfig.h hconfig.h tm_p.h 
+	-rm -f config.h tconfig.h hconfig.h tm_p.h
 	-rm -f cs-*
 	-rm -rf libgcc
 	-rm -f *.dvi
@@ -2815,7 +2815,7 @@ CHECK_TARGETS = check-gcc @check_languages@ @CHECK_PO@
 
 check-c++ : check-g++
 check-f77 : check-g77
-check-java : 
+check-java :
 
 check: $(CHECK_TARGETS)
 
diff --git a/gcc/toplev.c b/gcc/toplev.c
index b80e26b7fe22e30c9ab263ef4c57a0416cece826..d64cb3a217387bcf0da2284c480f47fd4b844327 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -64,6 +64,7 @@ Boston, MA 02111-1307, USA.  */
 #include "ssa.h"
 #include "params.h"
 #include "reload.h"
+#include "dwarf2asm.h"
 
 #ifdef DWARF_DEBUGGING_INFO
 #include "dwarfout.h"
@@ -2736,7 +2737,7 @@ rest_of_compilation (decl)
 	  }
 
       /* If requested, consider whether to make this function inline.  */
-      if ((DECL_INLINE (decl) && !flag_no_inline) 
+      if ((DECL_INLINE (decl) && !flag_no_inline)
 	  || flag_inline_functions)
 	{
 	  timevar_push (TV_INTEGRATION);
@@ -3110,7 +3111,7 @@ rest_of_compilation (decl)
 	  timevar_pop (TV_CSE);
 	  cse_not_expected = !flag_rerun_cse_after_loop;
 	}
-      
+
       /* If gcse or cse altered any jumps, rerun jump optimizations to clean
 	 things up.  Then possibly re-run CSE again.  */
       while (tem || tem2)
@@ -4117,7 +4118,7 @@ decode_f_option (arg)
   else if ((option_value = skip_leading_substring (arg, "inline-limit-"))
 	   || (option_value = skip_leading_substring (arg, "inline-limit=")))
     {
-      int val = 
+      int val =
 	read_integral_parameter (option_value, arg - 2,
 				 MAX_INLINE_INSNS);
       set_param_value ("max-inline-insns", val);
@@ -4422,9 +4423,9 @@ independent_decode_option (argc, argv)
       arg = argv[1];
       /* Look for the `='.  */
       equal = strchr (arg, '=');
-      if (!equal) 
+      if (!equal)
 	error ("invalid --param option: %s", arg);
-      else 
+      else
 	{
 	  int val;
 
@@ -4440,7 +4441,7 @@ independent_decode_option (argc, argv)
 
       return 2;
     }
-      
+
   if (*arg == 'Y')
     arg++;
 
@@ -4607,7 +4608,7 @@ independent_decode_option (argc, argv)
    Decode command args, then call compile_file.
    Exit code is FATAL_EXIT_CODE if can't open files or if there were
    any errors, or SUCCESS_EXIT_CODE if compilation succeeded.
-   
+
    It is not safe to call this function more than once.  */
 
 int