Lines 1111-1123
ia64_expand_load_address (rtx dest, rtx src)
Link Here
|
1111 |
emit_insn (gen_load_fptr (dest, src)); |
1111 |
emit_insn (gen_load_fptr (dest, src)); |
1112 |
else if (sdata_symbolic_operand (src, VOIDmode)) |
1112 |
else if (sdata_symbolic_operand (src, VOIDmode)) |
1113 |
emit_insn (gen_load_gprel (dest, src)); |
1113 |
emit_insn (gen_load_gprel (dest, src)); |
1114 |
else if (local_symbolic_operand64 (src, VOIDmode)) |
1114 |
else if ((!TARGET_CONST_GP) && local_symbolic_operand64 (src, VOIDmode)) |
1115 |
{ |
1115 |
{ |
1116 |
/* We want to use @gprel rather than @ltoff relocations for local |
1116 |
/* We want to use @gprel rather than @ltoff relocations for local |
1117 |
symbols: |
1117 |
symbols: |
1118 |
- @gprel does not require dynamic linker |
1118 |
- @gprel does not require dynamic linker |
1119 |
- and does not use .sdata section |
1119 |
- and does not use .sdata section |
1120 |
https://gcc.gnu.org/bugzilla/60465 */ |
1120 |
https://gcc.gnu.org/bugzilla/60465 |
|
|
1121 |
|
1122 |
Unfortunately linux kernel does not support gprel64 relocations |
1123 |
yet: https://bugs.gentoo.org/601014 |
1124 |
*/ |
1121 |
emit_insn (gen_load_gprel64 (dest, src)); |
1125 |
emit_insn (gen_load_gprel64 (dest, src)); |
1122 |
} |
1126 |
} |
1123 |
else |
1127 |
else |
1124 |
- |
|
|