[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