musl-cross-make/patches/gcc-5.2.0
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
..
0001-musl.diff add initial fdpic support 2015-09-11 17:27:35 +00:00
0002-pr66609.diff initial check-in 2015-08-25 19:32:46 +00:00
0003-shbitrot.diff fix gcc's misdetection of sh as not supporting tls 2015-09-13 08:27:27 +00:00
0004-j2.diff initial check-in 2015-08-25 19:32:46 +00:00
0005-staticpie.diff initial check-in 2015-08-25 19:32:46 +00:00
0006-defaultpie.diff initial check-in 2015-08-25 19:32:46 +00:00
0007-fdpic.diff fix sh/fdpic 64-bit division code in libgcc 2015-09-24 02:44:28 +00:00