@@ -, +, @@ :: Loading from mdadm: raid0: invalid slot number 1 for IMM64 raid1: invalid slot number 1 for IMM64 --- gcc/config/ia64/ia64.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) --- a/gcc/config/ia64/ia64.c +++ a/gcc/config/ia64/ia64.c @@ -1111,13 +1111,17 @@ ia64_expand_load_address (rtx dest, rtx src) emit_insn (gen_load_fptr (dest, src)); else if (sdata_symbolic_operand (src, VOIDmode)) emit_insn (gen_load_gprel (dest, src)); - else if (local_symbolic_operand64 (src, VOIDmode)) + else if ((!TARGET_CONST_GP) && local_symbolic_operand64 (src, VOIDmode)) { /* We want to use @gprel rather than @ltoff relocations for local symbols: - @gprel does not require dynamic linker - and does not use .sdata section - https://gcc.gnu.org/bugzilla/60465 */ + https://gcc.gnu.org/bugzilla/60465 + + Unfortunately linux kernel does not support gprel64 relocations + yet: https://bugs.gentoo.org/601014 + */ emit_insn (gen_load_gprel64 (dest, src)); } else --