* archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
file pointer offsets for thin archives.
This commit is contained in:
parent
a39e4af6dc
commit
17e3916e23
@ -1,3 +1,8 @@
|
|||||||
|
2013-03-04 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
|
||||||
|
file pointer offsets for thin archives.
|
||||||
|
|
||||||
2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
|
2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
|
* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
/* MIPS-specific support for 64-bit ELF
|
/* Support for 64-bit ELF archives.
|
||||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007,
|
Copyright 1996-2013 Free Software Foundation, Inc.
|
||||||
2010, 2012 Free Software Foundation, Inc.
|
|
||||||
Ian Lance Taylor, Cygnus Support
|
Ian Lance Taylor, Cygnus Support
|
||||||
Linker support added by Mark Mitchell, CodeSourcery, LLC.
|
Linker support added by Mark Mitchell, CodeSourcery, LLC.
|
||||||
<mark@codesourcery.com>
|
<mark@codesourcery.com>
|
||||||
@ -200,7 +199,7 @@ bfd_elf64_archive_write_armap (bfd *arch,
|
|||||||
current = current->archive_next)
|
current = current->archive_next)
|
||||||
{
|
{
|
||||||
/* For each symbol which is used defined in this object, write out
|
/* For each symbol which is used defined in this object, write out
|
||||||
the object file's address in the archive */
|
the object file's address in the archive. */
|
||||||
|
|
||||||
for (;
|
for (;
|
||||||
count < symbol_count && map[count].u.abfd == current;
|
count < symbol_count && map[count].u.abfd == current;
|
||||||
@ -210,9 +209,11 @@ bfd_elf64_archive_write_armap (bfd *arch,
|
|||||||
if (bfd_bwrite (buf, 8, arch) != 8)
|
if (bfd_bwrite (buf, 8, arch) != 8)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add size of this archive entry */
|
/* Add size of this archive entry */
|
||||||
archive_member_file_ptr += (arelt_size (current)
|
archive_member_file_ptr += sizeof (struct ar_hdr);
|
||||||
+ sizeof (struct ar_hdr));
|
if (! bfd_is_thin_archive (arch))
|
||||||
|
archive_member_file_ptr += arelt_size (current);
|
||||||
/* remember about the even alignment */
|
/* remember about the even alignment */
|
||||||
archive_member_file_ptr += archive_member_file_ptr % 2;
|
archive_member_file_ptr += archive_member_file_ptr % 2;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user