On Fri, 13 May 2011, Bernd Schmidt wrote: > On 05/10/2011 09:53 PM, Joseph S. Myers wrote: > > General comment: there are lots of new files here that are built for the > > target, and if possible it's preferable for such sources to be under > > libgcc/config/ with associated build rules also located there not in the > > gcc/ directory. > > I've made an attempt to move over the floating-point library functions, > but this doesn't work since the include paths aren't set up properly - > sfp-machine.h isn't found regardless of where it is placed. So I've left > things in place for now.
I had thought there were some soft-fp files in libgcc/, but actually it appears there are just wrappers (see config/i386/64) including files from libgcc/config/. Moving non-soft-fp files to libgcc/config/ should work, however. > I'm also unsure what to do about t-c6x-softfp. I've noticed that e.g. > moxie has two copies of the corresponding file, but I don't know why. The main soft-fp configuration will only work in the gcc/ directory at present. > >> +/* Make __c6xabi_AEABI_NAME an alias for __GCC_NAME. */ > > > All this code now needs to go in a header in libgcc/config/, listed in > > libgcc_tm_file. > > Changed. However, there's no libgcc_tm_file as far as I can see and > other ports add the header to tm_file. See r173619. > > It's desirable for --target-help to show the list of valid values, either > > in the help for the individual option (as for various Enum options in > > common.opt, using the TAB-separated form of help text) or by adding a help > > text to the Enum definition. > > I've done the latter. Text added to the EnumValues appears to be > ignored, is that correct? Yes, EnumValue entries don't have their own help text. > > * Add the two new targets to contrib/config-list.mk (and confirm they do > > pass --enable-werror-always builds with current trunk GCC). > > Added. I've tried to change my builds to use that option, but there are > lots of errors that appear unrelated to the C6X port. c6x.o compiles > without warnings. There shouldn't be lots of errors; Joern does such builds frequently. Note that you need to start with a *current native trunk compiler* and use that when building the cross compiler; GCC is only expected to build cleanly with -Werror when the build uses the same version of GCC, not when it uses an older release. > - gcc.dg/march.c fails due to extra help text It looks like this needs a similar fix (target-independent) to r172056 (which fixed mtune.c). > +#define PREFERRED_RELOAD_CLASS(x, class) (class) This macro is being phased out and replaced by a target hook. In general any target macro whose only use is in targhooks.c to provide a default transitional version of a hook should not be defined by a new port; new ports should define the hooks directly for all macros that are at that stage in transition to being hooks. > +GCC_4.5.0 { 4.7.0 seems more appropriate for a new configuration. > + __c6xabi_divi > + __c6xabi_divu > + __c6xabi_remu > + __c6xabi_remi > + __c6xabi_divremu > + __c6xabi_divremi > + __c6xabi_strasgi_64plus > + __c6xabi_push_rts > + __c6xabi_pop_rts These are all marked hidden in lib1funcs.asm, presumably because of their special register use conventions, so it doesn't make sense to give them symbol versions. -- Joseph S. Myers jos...@codesourcery.com