This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
elflink.c tidy
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: binutils at sourceware dot org
- Date: Mon, 20 Oct 2008 21:21:59 +1030
- Subject: elflink.c tidy
Nitpick really, since d_val and d_ptr are both bfd_vma. Useful if you
want to easily find all places where the .dynamic section struct was
set to an address rather than some other value.
* elflink.c (bfd_elf_final_link): Use d_ptr rather than d_val
where Elf_Internal_Dyn holds an address.
Index: bfd/elflink.c
===================================================================
RCS file: /cvs/src/src/bfd/elflink.c,v
retrieving revision 1.313
diff -u -p -r1.313 elflink.c
--- bfd/elflink.c 3 Oct 2008 09:40:48 -0000 1.313
+++ bfd/elflink.c 20 Oct 2008 01:09:53 -0000
@@ -10756,16 +10756,16 @@ bfd_elf_final_link (bfd *abfd, struct bf
&& (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak))
{
- dyn.d_un.d_val = h->root.u.def.value;
+ dyn.d_un.d_ptr = h->root.u.def.value;
o = h->root.u.def.section;
if (o->output_section != NULL)
- dyn.d_un.d_val += (o->output_section->vma
+ dyn.d_un.d_ptr += (o->output_section->vma
+ o->output_offset);
else
{
/* The symbol is imported from another shared
library and does not apply to this one. */
- dyn.d_un.d_val = 0;
+ dyn.d_un.d_ptr = 0;
}
break;
}
@@ -10844,6 +10844,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
else
type = SHT_RELA;
dyn.d_un.d_val = 0;
+ dyn.d_un.d_ptr = 0;
for (i = 1; i < elf_numsections (abfd); i++)
{
Elf_Internal_Shdr *hdr;
@@ -10856,9 +10857,9 @@ bfd_elf_final_link (bfd *abfd, struct bf
dyn.d_un.d_val += hdr->sh_size;
else
{
- if (dyn.d_un.d_val == 0
- || hdr->sh_addr < dyn.d_un.d_val)
- dyn.d_un.d_val = hdr->sh_addr;
+ if (dyn.d_un.d_ptr == 0
+ || hdr->sh_addr < dyn.d_un.d_ptr)
+ dyn.d_un.d_ptr = hdr->sh_addr;
}
}
}
--
Alan Modra
Australia Development Lab, IBM