Remove redundant code
Alan Modra
amodra@gmail.com
Wed Apr 20 07:01:00 GMT 2011
More than one bfd_release in a row on the same bfd is never necessary,
and in the archive.c case is potentially wrong.
* archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
* elflink.c (elf_link_add_object_symbols): Delete redundant code.
Index: bfd/archive.c
===================================================================
RCS file: /cvs/src/src/bfd/archive.c,v
retrieving revision 1.74
diff -u -p -r1.74 archive.c
--- bfd/archive.c 4 Mar 2011 01:43:24 -0000 1.74
+++ bfd/archive.c 20 Apr 2011 00:49:55 -0000
@@ -661,10 +661,6 @@ _bfd_get_elt_at_filepos (bfd *archive, f
if (_bfd_add_bfd_to_archive_cache (archive, filepos, n_nfd))
return n_nfd;
- /* Huh? */
- /* FIXME: n_nfd isn't allocated in the archive's memory pool.
- If we reach this point, I think bfd_release will abort. */
- bfd_release (archive, n_nfd);
bfd_release (archive, new_areldata);
return NULL;
}
Index: bfd/elflink.c
===================================================================
RCS file: /cvs/src/src/bfd/elflink.c,v
retrieving revision 1.399
diff -u -p -r1.399 elflink.c
--- bfd/elflink.c 20 Apr 2011 00:22:08 -0000 1.399
+++ bfd/elflink.c 20 Apr 2011 00:50:22 -0000
@@ -4237,10 +4237,7 @@ error_free_dyn:
We need to get the alignment from the section. */
align = new_sec->alignment_power;
}
- if (align > old_alignment
- /* Permit an alignment power of zero if an alignment of one
- is specified and no other alignments have been specified. */
- || (isym->st_value == 1 && old_alignment == 0))
+ if (align > old_alignment)
h->root.u.c.p->alignment_power = align;
else
h->root.u.c.p->alignment_power = old_alignment;
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list