diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2004-10-27 00:46:05 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2004-10-27 00:46:05 +0000 |
commit | 97ecf3226de156edd6021981349357ea1094f1f8 (patch) | |
tree | cf97ad27e03f65764401c3800e727edf2b71a41f /bfd/elfxx-ia64.c | |
parent | f9dd442b25428d1e1200344973e07af52f439c17 (diff) | |
download | gdb-97ecf3226de156edd6021981349357ea1094f1f8.zip gdb-97ecf3226de156edd6021981349357ea1094f1f8.tar.gz gdb-97ecf3226de156edd6021981349357ea1094f1f8.tar.bz2 |
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.
Diffstat (limited to 'bfd/elfxx-ia64.c')
-rw-r--r-- | bfd/elfxx-ia64.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index 917e2c3..a7d72bf 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -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; |