This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap failure for target AVR, probably linked to Patch "2005-05-19 Jan Hubicka <jh@suse.cz>"
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: Björn Haase <bjoern dot m dot haase at web dot de>,jh at suse dot cz, gcc at gcc dot gnu dot org
- Date: Fri, 20 May 2005 20:15:05 +0200
- Subject: Re: Bootstrap failure for target AVR, probably linked to Patch "2005-05-19 Jan Hubicka <jh@suse.cz>"
- References: <200505201731.11344.bjoern.m.haase@web.de> <20050520174153.GD3948@atrey.karlin.mff.cuni.cz>
> >
> > Since the missing macros seem to have moved from rtl.h to basic-block.h, I'd
> > like to know at which place one would need gcc make include the additional
> > header. IIUC, instruction-emit.c is the machine-generated source file that is
> > generated by the machine-description parsers.
> >
> > Simply adding basic-block.h to the include list of the generated emit-insn.c
> > does not solve the problem but causes follow-up failures.
> >
> > I'd appreciate help.
>
> I am looking into that now. I would preffer the way of adding
> basic-block.h and friends into includes of insn-emit.c as in general I
> would like to make expanders/splitters/output templates aware of the
> profile (and thus BB they are in) so we can switch in between -O2/-Os on
> local basis.
> I must admit I am not 100% sure how to reach this elegantly as all the
> ingerfaces are bit interwinded (even for the splitters we split in
> final.c where we no longer have CFG available for all targets)
The attached patch seems to fix the problem to me (at least to the point
so I can build cc1 binarry). What kind of other problems you are
seeing?
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1488
diff -c -3 -p -r1.1488 Makefile.in
*** Makefile.in 18 May 2005 20:45:02 -0000 1.1488
--- Makefile.in 20 May 2005 18:11:58 -0000
*************** s-constants : $(MD_DEPS) build/genconsta
*** 2452,2458 ****
insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
! $(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) $(TM_P_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c \
$(OUTPUT_OPTION)
--- 2452,2459 ----
insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
! $(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) \
! $(TM_P_H) $(BASIC_BLOCK_H)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c \
$(OUTPUT_OPTION)
Index: genemit.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genemit.c,v
retrieving revision 1.98
diff -c -3 -p -r1.98 genemit.c
*** genemit.c 5 Mar 2005 14:01:00 -0000 1.98
--- genemit.c 20 May 2005 18:11:58 -0000
*************** from the machine description file `md'.
*** 845,850 ****
--- 845,851 ----
printf ("#include \"reload.h\"\n");
printf ("#include \"toplev.h\"\n");
printf ("#include \"ggc.h\"\n\n");
+ printf ("#include \"basic-block.h\"\n\n");
printf ("#define FAIL return (end_sequence (), _val)\n");
printf ("#define DONE return (_val = get_insns (), end_sequence (), _val)\n\n");