+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.
 
          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;
 
                  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)