musl-cross-make/patches/gcc-9.2.0/0015-riscv-tls-copy-relocs.diff
Rich Felker 52527c462f add patch fixing copy relocs issue on riscv
this is binutils issue 23825, but it's caused by gcc using local-exec
model rather than initial-exec model with the intent of making
binutils generate copy relocations. this is harmful, unnecessary, and
not presently supported by musl (and probably should never be). patch
taken from https://github.com/riscv/riscv-gcc/pull/118.
2019-11-19 08:50:58 -05:00

17 lines
481 B
Diff

diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c
index 677728e77ed..444d01e87ec 100644
--- a/gcc/config/riscv/riscv.c
+++ b/gcc/config/riscv/riscv.c
@@ -1209,9 +1209,11 @@ riscv_legitimize_tls_address (rtx loc)
rtx dest, tp, tmp;
enum tls_model model = SYMBOL_REF_TLS_MODEL (loc);
+#if 0
/* Since we support TLS copy relocs, non-PIC TLS accesses may all use LE. */
if (!flag_pic)
model = TLS_MODEL_LOCAL_EXEC;
+#endif
switch (model)
{