2004-10-26 H.J. Lu <hongjiu.lu@intel.com>

PR 475
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
	R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
	and R_IA64_SECREL64LSB.
This commit is contained in:
H.J. Lu 2004-10-27 00:46:05 +00:00
parent f9dd442b25
commit 97ecf3226d
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2004-10-26 H.J. Lu <hongjiu.lu@intel.com>
PR 475
* elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
and R_IA64_SECREL64LSB.
2004-10-26 Paul Brook <paul@codesourcery.com>
* elflink.c (elf_finalize_dynstr): Skip shared aux structure.

View File

@ -4338,11 +4338,9 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section,
case R_IA64_SECREL32LSB:
case R_IA64_SECREL64MSB:
case R_IA64_SECREL64LSB:
/* Make output-section relative. */
if (value > input_section->output_section->vma)
value -= input_section->output_section->vma;
else
value = 0;
/* Make output-section relative to section where the symbol
is defined. PR 475 */
value -= sym_sec->output_section->vma;
r = elfNN_ia64_install_value (hit_addr, value, r_type);
break;