musl-cross-make/patches
Rich Felker f872b28199 fix sh/fdpic 64-bit division code in libgcc
I originally missed the udiv_qrnnd part of the fdpic patch when
forward-porting it because longlong.h moved to a non-obvious location.
however, the original patch was broken anyway; it misordered
instructions at branch delay slots and clobbered in-use registers.

my version of the code is more efficient because it uses knowledge
that __udiv_qrnnd_16 is a pure-PIC function that makes no calls, uses
no static data, and does not clobber r12. this means we only need to
load the instruction address, not the got address, from the function
descriptor to make the call.

the same can be achieved even more efficiently by declaring
__udiv_qrnnd_16 with object type instead of function type and using
the existing non-fdpic asm unmodified. I did not do this because I was
afraid it would be considered a hack unacceptable for upstream.
2015-09-24 02:44:28 +00:00
..
binutils-2.25.1 fix inverted setting of sh fdpic flag by binutils 2015-09-14 17:31:27 +00:00
gcc-5.2.0 fix sh/fdpic 64-bit division code in libgcc 2015-09-24 02:44:28 +00:00
musl-complex-hack initial check-in 2015-08-25 19:32:46 +00:00