summaryrefslogtreecommitdiffstats
path: root/binutils-2.23.52.0.1-64-bit-thin-archives.patch
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.23.52.0.1-64-bit-thin-archives.patch')
-rw-r--r--binutils-2.23.52.0.1-64-bit-thin-archives.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/binutils-2.23.52.0.1-64-bit-thin-archives.patch b/binutils-2.23.52.0.1-64-bit-thin-archives.patch
new file mode 100644
index 0000000..5415750
--- /dev/null
+++ b/binutils-2.23.52.0.1-64-bit-thin-archives.patch
@@ -0,0 +1,25 @@
+*** ../binutils-2.23.52.0.1.orig/bfd/archive64.c 2013-03-01 17:20:39.873535502 +0000
+--- bfd/archive64.c 2013-03-01 17:22:30.410538566 +0000
+*************** bfd_elf64_archive_write_armap (bfd *arch
+*** 210,218 ****
+ if (bfd_bwrite (buf, 8, arch) != 8)
+ return FALSE;
+ }
+ /* Add size of this archive entry */
+! archive_member_file_ptr += (arelt_size (current)
+! + sizeof (struct ar_hdr));
+ /* remember about the even alignment */
+ archive_member_file_ptr += archive_member_file_ptr % 2;
+ }
+--- 210,220 ----
+ if (bfd_bwrite (buf, 8, arch) != 8)
+ return FALSE;
+ }
++
+ /* Add size of this archive entry */
+! archive_member_file_ptr += sizeof (struct ar_hdr);
+! if (! bfd_is_thin_archive (arch))
+! archive_member_file_ptr += arelt_size (current);
+ /* remember about the even alignment */
+ archive_member_file_ptr += archive_member_file_ptr % 2;
+ }