Files with >32 bit file sizes cause the create_sha1 and verify_pcr utilities to fail, even though GRUB itself has no problems with them when booting.
The problem appears to be in sha1.c, in the calculate_sha1 function; it uses ints for some values such as fiesize, bytes_to_copy, and round, where larger number types such as long long int should be used instead. (I'm not certain whether round would cause a problem, but filesize and bytes_to_copy certainly would.) In addition, the call to open appears to be using the original 32-bit open function instead of the large file open64 version.
I'm attaching my diffs for a corrected version, for reference. This was a quick fix, and may not be optimal.
sha1.c diffs