You're running into archive.c:2661
/* Catch an attempt to grow an archive past its 4Gb limit. */
if (archive_member_file_ptr != (file_ptr) offset)
{ bfd_set_error (bfd_error_file_truncated);
return FALSE;
}
if (!bfd_write_bigendian_4byte_int (arch, offset))
return FALSE;
Previous versions of binutils created invalid armaps. We can't do much about this problem without changing archive format for x86_64. I suppose that is a possibility.
If you just want an archive for packaging purposes as distinct from using the archive as a linker input, then you can work around this problem by disabling the armap with ar's S option.
I'm closing this bug report as invalid since the archive format simply doesn't support such large archives. Please take any discussion (patches!) regarding changing archive format to the binutils list.
You're running into archive.c:2661 member_ file_ptr != (file_ptr) offset)
bfd_set_ error (bfd_error_ file_truncated) ; bigendian_ 4byte_int (arch, offset))
/* Catch an attempt to grow an archive past its 4Gb limit. */
if (archive_
{
return FALSE;
}
if (!bfd_write_
return FALSE;
Previous versions of binutils created invalid armaps. We can't do much about this problem without changing archive format for x86_64. I suppose that is a possibility.
If you just want an archive for packaging purposes as distinct from using the archive as a linker input, then you can work around this problem by disabling the armap with ar's S option.
I'm closing this bug report as invalid since the archive format simply doesn't support such large archives. Please take any discussion (patches!) regarding changing archive format to the binutils list.