it because sh3 ports don't provide PT_STEP. It is finally possible to
run programs under gdb now, though there are still issues to be
resolved. It was deemed useful enough to commit early, while the work
is still in progress. Tested on hpcsh.
Blessed by christos@.
So the problem is thus:
* The {u,}mulsidi3 generate two parallel sets which modify the upper and lower
halves of the target register.
* life_analysis() does not track subregister modifications -- if you don't
modify the whole register with a single set, it considers the register
unused.
The simple, if klugy, solution to this is to stick an explicit clobber in. It
seems to work.
While doing this, I noticed that constant folding was not happening for
32x32->64 multiplies. This is because the parallel set generated by
{u,}mulsidi3 cannot be folded at all. To solve this, I first expand to a
normal multiply, and then use a define_insn_and_split to convert it to the
parallel set after CSE and constant folding.
This patch has also been submitted to GCC bugzilla, but who knows if I'll get
a reply to that.
directory, thus saving the trouble of doing distclean and cvs update.
Item 4 - it's defs.mk, not defs.h.
New bullet - in defs.mk set G_BFD_CPPFLAGS from `tdefaults' variable
of the generated bfd/Makefile.
XXX - gcc3/backend/ra-colorize.c gets built wrong and the backend programs
XXX fail to link.
XXX - mdsetimage & installboot/ffs.c get an unrecogised instruction ICE.
* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h
* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.
These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).