[PATCH] VAX/BFD: Correct GOT/PLT refcounts for static links

Maciej W. Rozycki macro@linux-mips.org
Sat Jul 27 19:33:00 GMT 2013


On Wed, 22 May 2013, Jan-Benedict Glaw wrote:

> > 	* elf32-vax.c (elf_vax_discard_got_entries): New function.
> > 	(elf_vax_always_size_sections): Likewise.
> > 	(elf_vax_size_dynamic_sections): Remove code moved to 
> > 	elf_vax_always_size_sections.  Make comment on
> > 	elf_vax_instantiate_got_entries match reality.
> > 	(elf_vax_instantiate_got_entries): Assert that rather than check
> > 	if dynobj is null.  Don't check for dynamic_sections_created.
> > 	Make function description match reality.
> > 	(elf_backend_always_size_sections): New macro.
> 
> Ok.

 Applied now, thanks for your review.

> > --- binutils-2.23.1.orig/bfd/elf32-vax.c
> > +++ binutils-2.23.1/bfd/elf32-vax.c
> > @@ -1046,6 +1046,59 @@ elf_vax_adjust_dynamic_symbol (struct bf
> [...]
> > +static bfd_boolean
> > +elf_vax_always_size_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
> > +			      struct bfd_link_info *info)
> > +{
> > +  bfd *dynobj;
> > +  asection *s;
> > +
> > +  dynobj = elf_hash_table (info)->dynobj;
> > +
> > +  if (dynobj && !elf_hash_table (info)->dynamic_sections_created)
> > +    {
> > +      /* We may have created entries in the .rela.got and .got sections.
> > +	 However, if we are not creating the dynamic sections, we will
> > +	 not actually use these entries.  Reset the size of .rela.got
> > +	 and .got, which will cause it to get stripped from the output
> 
> "them"?

 Fixed, with a separate commit.

2013-07-27  Maciej W. Rozycki  <macro@linux-mips.org>

	* elf32-vax.c (elf_vax_always_size_sections): Correct a comment
	typo.

  Maciej

Index: bfd/elf32-vax.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-vax.c,v
retrieving revision 1.79
diff -u -p -r1.79 elf32-vax.c
--- bfd/elf32-vax.c	27 Jul 2013 19:17:29 -0000	1.79
+++ bfd/elf32-vax.c	27 Jul 2013 19:20:33 -0000
@@ -1080,7 +1080,7 @@ elf_vax_always_size_sections (bfd *outpu
       /* We may have created entries in the .rela.got and .got sections.
 	 However, if we are not creating the dynamic sections, we will
 	 not actually use these entries.  Reset the size of .rela.got
-	 and .got, which will cause it to get stripped from the output
+	 and .got, which will cause them to get stripped from the output
 	 file below.  */
       s = bfd_get_linker_section (dynobj, ".rela.got");
       if (s != NULL)



More information about the Binutils mailing list