From 34bc6ffca64341d3313c57c6b459e79045df987c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 20 Mar 1997 17:40:06 +0000 Subject: [PATCH] * elflink.h (elf_bfd_final_link): Set the value of a section symbol to the section address unless doing a relocateable link. --- bfd/ChangeLog | 11 +++++++++++ bfd/elflink.h | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6a82698..ca73a71 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,14 @@ +Thu Mar 20 12:39:02 1997 Ian Lance Taylor + + * elflink.h (elf_bfd_final_link): Set the value of a section + symbol to the section address unless doing a relocateable link. + +Tue Mar 18 23:03:17 1997 Richard Henderson + + * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't create + .plt entry if we've taken the function's address. + (elf64_alpha_merge_gots): Merge collected flags info as well. + Tue Mar 18 22:40:09 1997 H.J. Lu * Many files: Add function prototypes. diff --git a/bfd/elflink.h b/bfd/elflink.h index dee5a8a..6207595 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -3328,7 +3328,6 @@ elf_bfd_final_link (abfd, info) outputting relocs. */ if (info->strip != strip_all || info->relocateable) { - elfsym.st_value = 0; elfsym.st_size = 0; elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); elfsym.st_other = 0; @@ -3338,6 +3337,10 @@ elf_bfd_final_link (abfd, info) if (o != NULL) o->target_index = abfd->symcount; elfsym.st_shndx = i; + if (info->relocateable || o == NULL) + elfsym.st_value = 0; + else + elfsym.st_value = o->vma; if (! elf_link_output_sym (&finfo, (const char *) NULL, &elfsym, o)) goto error_return; -- 2.7.4