llvm-ar outputs a strange error message when handling archives with members larger than 4GB due to not checking file size when passing the value as an unsigned 32 bit integer. This overflow issue caused malformed archives to be created.:
https://bugs.llvm.org/show_bug.cgi?id=38058
This change allows for members above 4GB and will error in a case that is over the formats size limit, a 10 digit decimal integer.
I am curious why you want to handle a file whose size is within [4294967296,9999999999] (4G is a bit unusual as a binary. But you don't allow it to be larger..).