The old GCC 3.4.4. for OpenRISC assumed the availability of hardware multiplication, but not hardware division by default (i.e. -mhard-mul, -msoft-div), which was consistent with the default Verilog configuration. The current GCC 4.2.2 appears to assume neither hardware multiplication nor hardware division are present (i.e. -msoft-mul, -msoft-div).
The old behavior can be restored by using -mhard-div on the GCC command line of in the CFLAGS within Makefiles. However it would be better to restore the defaults, for consistency with Verilog.
This is based on a preliminary analysis of the problem, which needs verifying.