Oh well... patches work better if you actually attach them. As for history of this issue, there's #773412 and #773007 -- I could have probably reopened the former.
-- // If you believe in so-called "intellectual property", please immediately // cease using counterfeit alphabets. Instead, contact the nearest temple // of Amon, whose priests will provide you with scribal services for all // your writing needs, for Reasonable and Non-Discriminatory prices.
--- efivar-0.15/src/vars.c~ 2015-02-03 23:04:54.000000000 +0100 +++ efivar-0.15/src/vars.c 2015-02-03 23:05:50.420000000 +0100 @@ -34,7 +34,11 @@ typedef struct efi_kernel_variable_t { uint16_t VariableName[1024/sizeof(uint16_t)]; efi_guid_t VendorGuid; +#if __SIZEOF_POINTER__ == 4 + uint32_t DataSize; +#else uint64_t DataSize; +#endif uint8_t Data[1024]; efi_status_t Status; uint32_t Attributes;