With new gcc9 how to handle error from -Werror=address-of-packed-member

Normand normand@linux.vnet.ibm.com
Thu Feb 14 10:46:00 GMT 2019



On 14/02/2019 11:10, Florian Weimer wrote:
> * Normand:
> 
>> With new gcc9 there are new error reported by
>> -Werror=address-of-packed-member
>> How to handle such error ?
>>
>> eg:
>> libflash/ecc.c:419:24: error: taking address of packed member of
>> 'struct ecc64' may result in an unaligned pointer value
>> [-Werror=address-of-packed-member]
>>    419 |   memcpy(inc_uint64_by(&ecc_word.data, alignment), src,
>> bytes_wanted);
>>        |                        ^~~~~~~~~~~~~~
> 
> What does the definition of struct ecc64 look like?
> 
> Thanks,
> Florian
> 
> 

Florian, the related struct is:
struct ecc64 {
	beint64_t data;
	uint8_t ecc;
} __attribute__((__packed__));


as per header file from:
https://github.com/open-power/skiboot/blob/skiboot-6.2.x/libflash/ecc.h#L25

-- 
Michel Normand



More information about the Gcc-help mailing list