Comment 17 for bug 1043507

Revision history for this message
In , Alan Modra (amodra-gmail) wrote :

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.