[U-Boot] [PATCH v2 1/2] usb: composite: fix possible alignment issues

Marek Vasut marex at denx.de
Fri Nov 22 12:14:34 UTC 2019


On 11/22/19 12:58 PM, Heinrich Schuchardt wrote:
> On 11/22/19 8:47 AM, Simon Goldschmidt wrote:
>> On Fri, Nov 22, 2019 at 7:50 AM Heinrich Schuchardt
>> <xypron.glpk at gmx.de> wrote:
>>>
>>> On 11/22/19 1:25 AM, Marek Vasut wrote:
>>>> On 11/21/19 10:15 PM, Simon Goldschmidt wrote:
>>>>> Since upgrading to gcc9, warnings are issued:
>>>>> "taking address of packed member of ‘...’ may result in an unaligned
>>>>> pointer value"
>>>>>
>>>>> Fix this by converting two functions to use unaligned access since
>>>>> packed
>>>>> structures may be on an unaligned address, depending on USB hardware.
>>>>>
>>>>> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
>>>>
>>>> Applied both, thanks.
>>>>
>>>
>>> With these two patches applied to origin/master GCC 9.2.1 does not
>>> produce warnings anymore but for tbs2910_defconfig:
>>>
>>> u-boot.imx exceeds file size limit:
>>>     limit:  0x5fc00 bytes
>>>     actual: 0x60c00 bytes
>>>     excess: 0x1000 bytes
>>> make: *** [Makefile:1159: u-boot.imx] Error 1
>>> make: *** Deleting file 'u-boot.imx'
>>>
>>> So irrespective of my patches for the USB keyboard we need to address
>>> the size limit on TBS2910.
>>
>> Is that due to my cleanup patches? Can you compare the size by compiling
>> without them? That should work if you leave away the -Werror switch.
>>
>> Regards,
>> Simon
> 
> GCC 9.2.1 without your patches but with -Wno-address-of-packed-member:
> 
> u-boot.imx exceeds file size limit:
>   limit:  0x5fc00 bytes
>   actual: 0x60c00 bytes
>   excess: 0x1000 bytes

I see, so you have additional options added to the build which trigger
the size issue. It would be nice to mention that up front. Do you use
any other extra options ?


More information about the U-Boot mailing list