GCC 4.4: Stricter aliasing requirements

Denys Vlasenko vda.linux at googlemail.com
Mon Sep 6 12:10:47 UTC 2010


On Sun, Sep 5, 2010 at 8:28 PM, Cristian Ionescu-Idbohrn
<cristian.ionescu-idbohrn at axis.com> wrote:
> On Sun, 5 Sep 2010, Denys Vlasenko wrote:
>> Did you already looked at the code which causes this?
>
> No, I didn't.
>
>> Hint: grep -r FIX_ALIASING .
>
> 62 hits.  Just 183+ left :)  Is this:

Ok, perhaps I was too cryptic :)

I meant that there was already work done to reduce the number of warnings.

There were not 185, but 2248 warnings before I added FIX_ALIASING
tricks in some places. Try defining it to nothing, and you'll see.

> include/platform.h-104-/* At 4.4 gcc become much more anal about this, need to use "aliased" types */
> include/platform.h-105-#if __GNUC_PREREQ(4,4)
> include/platform.h:106:# define FIX_ALIASING __attribute__((__may_alias__))
> include/platform.h-107-#else
> include/platform.h:108:# define FIX_ALIASING
> include/platform.h-109-#endif
>
> a recipe you sugest to be mechanicaly applied, or do you want to go more
> anal than that ;)?

I think that FIX_ALIASING trick should be added to more places,
make bloatcheck should be run afterwards, and those additions which
do not cause bloat should be pushed to git.

The rest should be looked more closely - *why* they cause bloat.

-- 
vda


More information about the busybox mailing list