Message ID | 1293271126-6322-1-git-send-email-dirk.behme@gmail.com |
---|---|
State | Accepted |
Commit | c7b7d4550d0178dc302c808f974a7beb0f80d3e1 |
Delegated to: | Stefan Roese |
Headers | show |
On Saturday 25 December 2010 10:58:46 Dirk Behme wrote: > Fix compiler warning > > In file included from ubifs.h:2137:0, > from ubifs.c:26: > misc.h: In function 'ubifs_idx_key': > misc.h:263:26: warning: dereferencing type-punned pointer will break > strict-aliasing rules > > seen with gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50). > > No functional change. Applied to u-boot-ubi. Thanks. Cheers, Stefan -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
Index: u-boot.git/fs/ubifs/misc.h =================================================================== --- u-boot.git.orig/fs/ubifs/misc.h +++ u-boot.git/fs/ubifs/misc.h @@ -260,7 +260,8 @@ struct ubifs_branch *ubifs_idx_branch(co static inline void *ubifs_idx_key(const struct ubifs_info *c, const struct ubifs_idx_node *idx) { - return (void *)((struct ubifs_branch *)idx->branches)->key; + const __u8 *branch = idx->branches; + return (void *)((struct ubifs_branch *)branch)->key; } /**
Fix compiler warning In file included from ubifs.h:2137:0, from ubifs.c:26: misc.h: In function 'ubifs_idx_key': misc.h:263:26: warning: dereferencing type-punned pointer will break strict-aliasing rules seen with gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50). No functional change. CC: Stefan Roese <sr@denx.de> Signed-off-by: Dirk Behme <dirk.behme@googlemail.com> --- This was found building 'omap3_pandora' with the above tool chain. Note: Compiling the ubifs (make fs/ubifs) in a recent mainline kernel (2.6.37-rc7) with the same tool chain doesn't give this warning. There seems to be no difference in the recent ubifs kernel sources regarding this piece of code (structs ubifs_idx_node, ubifs_branch and the function ubifs_idx_key in misc.h), though. So I'm not sure why this warning is in U-Boot but not in the kernel. Different compiler options? fs/ubifs/misc.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)