Force relocs emited for an executable to contain virtual addresses.

This commit is contained in:
Nick Clifton 2000-05-18 17:12:31 +00:00
parent 16ee897daa
commit 7ad3436572
2 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2000-05-18 Momchil Velikov <velco@fadata.bg>
* elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
relocs for an executable, ensure that they are virtual addresses.
Thu May 18 10:55:47 2000 Jeffrey A Law (law@cygnus.com)
* config.bfd (hppa*64*-*-hpux11*): New target triplet.

View file

@ -4323,7 +4323,7 @@ elf_bfd_final_link (abfd, info)
if (o != NULL)
o->target_index = bfd_get_symcount (abfd);
elfsym.st_shndx = i;
if (info->relocateable || info->emitrelocations || o == NULL)
if (info->relocateable || o == NULL)
elfsym.st_value = 0;
else
elfsym.st_value = o->vma;
@ -5514,6 +5514,10 @@ elf_link_input_bfd (finfo, input_bfd)
irela->r_offset += o->output_offset;
/* Relocs in an executable have to be virtual addresses. */
if (finfo->info->emitrelocations)
irela->r_offset += o->output_section->vma;
r_symndx = ELF_R_SYM (irela->r_info);
if (r_symndx == 0)