* elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
of GOTOFF relocations.
+2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
+ of GOTOFF relocations.
+
2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
break;
}
- /* Adjust the relocation to be relative to the GOT pointer. */
- relocation -= (sgot->output_section->vma
- + sgot->output_offset - got_base);
+ /* Note that sgot->output_offset is not involved in this
+ calculation. We always want the start of .got. */
+ relocation -= sgot->output_section->vma;
+
+ /* Now we adjust the relocation to be relative to the GOT pointer
+ (the _gp_got symbol), which possibly contains the 0x8000 bias. */
+ relocation -= got_base;
switch (howto->type)
{