[U-Boot] [PATCH v2] OMAP3 MMC: Fix warning dereferencing type-punned pointer

Tom Tom.Rix at windriver.com
Sat Sep 26 14:29:26 CEST 2009


Dirk Behme wrote:
> Tom wrote:
>> Dirk Behme wrote:
>>> Fix warning
>>>
>>> dereferencing type-punned pointer will break strict-aliasing rules
>>>
>>> Signed-off-by: Dirk Behme <dirk.behme at googlemail.com>
>>> CC: Steve Sakoman <sakoman at gmail.com>
>>>
>>
>> This may be improved by consolidating the unions into the omap3 mmc.h 
>> file
>> and using a pointer to union in the mmc_send_cmd.
> 
> Hmmh, I'm not so familiar with unions ;) But moving
> 
> union {
>     unsigned int resp[4];
>     mmc_resp_r3 r3;
>     mmc_resp_r6 r6;
> } mmc_resp;
> 
> and
> 
> union {
>     unsigned int resp[4];
>     mmc_csd_reg_t Card_CSD;
> } mmc_resp;
> 
> into the omap3 mmc.h would mean to make them global and to permanently 
> allocate the space for resp[4]? That is, make local variables allocated 
> locally (on stack?) move to global variables using (wasting?) some 
> additional memory? If so, I'd like to keep stuff local as done by the 
> original version. Sorry if I missed something ;)
> 

I ment just the declaration like

union mmc_resp_t {
      unsigned int resp[4];
      mmc_resp_r3 r3;
      mmc_resp_r6 r6;
      mmc_csd_reg_t Card_CSD;
};

variables would still be defined in the C file.

Tom


> Best regards
> 
> Dirk
> 



More information about the U-Boot mailing list