Commit Graph

56 Commits

Author SHA1 Message Date
Rich Felker d0ca7b1054 update gcc fdpic patch
two changes are made:

1. always enable flag_pic for fdpic. without this, various ICE and bad
codegen was observed.

2. allow sibcall for fdpic; it's valid since r12 is call-clobbered.
2015-09-21 06:00:40 +00:00
Rich Felker 72b4cdc7e2 fix inverted setting of sh fdpic flag by binutils
the behavior by bfd/ld matched the ABI document but was the opposite
of the kernel's interpretation and opposite of how ld treats the flag
on every other target using fdpic.

see this thread for details:
https://sourceware.org/ml/binutils/2015-09/msg00186.html
2015-09-14 17:31:27 +00:00
Rich Felker 5eb6f9add0 fix gcc's misdetection of sh as not supporting tls 2015-09-13 08:27:27 +00:00
Rich Felker 954245dc83 fix error in fdpic patch that enabled fdpic by default 2015-09-13 03:53:43 +00:00
Rich Felker 3a0c9775b6 add initial fdpic support
binutils-2.25.1/0003-shemuls.diff is needed to include the existing
fdpic support in the build when targeting sh*-linux-* rather than
tucking it away under sh*-uclinux-* only

gcc-5.2.0/0007-fdpic.diff is based on the original abandoned fdpic
patch 3/3 sent to the gcc list in 2010, updated for modern gcc and
with the uclinux dependencies removed. the original is here:

  https://gcc.gnu.org/ml/gcc-patches/2010-08/msg01464.html

gcc-5.2.0/0001-musl.diff has been updated to use the right musl
dynamic linker pathname for fdpic so that musl-specific changes can be
avoided in the main fdpic patch.

at present, additional patches to musl are needed to produce working
binaries for the target.
2015-09-11 17:27:35 +00:00
Rich Felker 596e008012 initial check-in 2015-08-25 19:32:46 +00:00