Message ID | 4E04EA1F.9000203@ubuntu.com |
---|---|
State | New |
Headers | show |
On Fri, 24 Jun 2011, Matthias Klose wrote: > On 06/20/2011 05:18 PM, Joseph S. Myers wrote: > > On Mon, 20 Jun 2011, Matthias Klose wrote: > > > >> - PR45078; vxworks-dummy.h is included for cpu_type in arm, > >> i386, mips, sh and sparc but only installed when it's i386; copy it > >> manually anytime. > > > > I don't think you should list particular config/ headers in PLUGIN_HEADERS > > in Makefile.in; provide a way for targets to specify their additions to > > this list in config.gcc instead. Is the issue headers that are directly > > #included from tm.h headers (for whatever reason) rather than listed in > > tm_file? (Some of those #includes may be avoidable, but the .def ones > > probably do need listing explicitly.) > > > > The aim should be to get the extra files in tm_file_list, which is > > included in PLUGIN_HEADERS, so that they appear in $(TM_H) dependencies as > > well. > > updated patch attached. That doesn't sufficiently address the issues I pointed out. * Listing arm-cores.def in Makefile.in is still wrong. * If you add a header to tm_file (which needs a more detailed analysis of why including it there in the list of headers is safe for all targets affected) then you should also remove the #include directives that directly include it from other headers. * There are other files included in tm.h headers that this patch is silent on. I believe you don't need to do anything about headers listed in HeaderInclude in a .opt file that are also explicitly #included. Apart from those, all #include directives in tm.h headers should be investigated. If they can be replaced by entries in tm_file, by all means do so, but if not, then *don't* add them explicitly to Makefile.in, provide a way for them to get into tm_file_list in the Makefile without them getting into tm_include_list there (which may mean a new config.gcc variable). This new mechanism is where arm-cores.def and other such headers should be listed - not directly in Makefile.in.
2011-06-24 Matthias Klose <doko@ubuntu.com> PR plugin/45078 * Makefile.in (PLUGIN_HEADERS): Add config/arm/arm-cores.def. (install-plugin): Install c-family headers into a c-family subdir. * config.gcc: Add vxworks-dummy.h to tm_file for arm, mips, sh and sparc targets. --- gcc/Makefile.in +++ gcc/Makefile.in @@ -4503,6 +4503,7 @@ $(EXCEPT_H) tree-ssa-sccvn.h real.h output.h $(IPA_UTILS_H) \ $(C_PRAGMA_H) $(CPPLIB_H) $(FUNCTION_H) \ cppdefault.h flags.h $(MD5_H) params.def params.h prefix.h tree-inline.h \ + config/arm/arm-cores.def \ $(IPA_PROP_H) $(RTL_H) $(TM_P_H) $(CFGLOOP_H) $(EMIT_RTL_H) version.h # generate the 'build fragment' b-header-vars @@ -4527,7 +4528,7 @@ else continue; \ fi; \ case $$path in \ - "$(srcdir)"/config/* | "$(srcdir)"/*.def ) \ + "$(srcdir)"/config/* | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ *) base=`basename $$path` ;; \ esac; \ --- gcc/config.gcc +++ gcc/config.gcc @@ -467,6 +467,9 @@ fi tm_file="vxworks-dummy.h ${tm_file}" ;; +arm*-*-*|mips*-*-*|sh*-*-*|sparc*-*-*) + tm_file="vxworks-dummy.h ${tm_file}" + ;; esac # On a.out targets, we need to use collect2.