or1k: use asm implementations for libgcc *si3 functions

Generic C functions have been used to implement those, since the
asm implementations haven't been able to handle the no-delay case.
This updates the asm implementation with support for no-delay
and re-enables the functions for __mulsi3 __udivsi3 __divsi3
__umodsi3 and __modsi3.

One reason why it's important for these to be implemented as such,
is that the openrisc Linux port links to libgcc.a and the Linux
toolchains compiles libgcc.a with -fPIC. The asm implementations
however, doesn't do any references through the .got, so those
can then be safely used from the Linux kernel.

libgcc/ChangeLog.or1k
2014-05-07  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>

	* config/or1k/or1k.S: Use delay/no-delay compatibility macros.
	* config/or1k/lib2funcs.c: Remove.
	* config/or1k/t-or1k: Set LIB1ASMSRC and LIB1ASMFUNCS.
	Remove LIB2ADD define.
or1k: Enable use of C functions in libgloss

Although it might seem a bit creepy, it may in some cases be necessary
to use standard C functions in libgloss, for example to use malloc in
the multicore bootstrap process.

Therefore we need to add -lor1k also before -lc in the link order to
capture those dependencies.
WIP: multicore support