2007-12-19 19:56:28

by Clemens Koller

[permalink] [raw]
Subject: What's this __dummy in asm-cris/bitops.h?

Hello,

while looking for some assembly out of order / optimization stuff
for something else, I found some strange code in
.../linux/include/asm-cris/bitops.h:22


/*
* Some hacks to defeat gcc over-optimizations..
*/
struct __dummy { unsigned long a[100]; };
#define ADDR (*(struct __dummy *) addr)
#define CONST_ADDR (*(const struct __dummy *) addr)


CONST_ADDR is never used in the kernel.
Maybe some -cris people could have a look.

Thanks,
--
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Stra?e 45/1
Linhof Werksgel?nde
D-81379 M?nchen
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com


2007-12-20 09:57:19

by Jesper Nilsson

[permalink] [raw]
Subject: Re: What's this __dummy in asm-cris/bitops.h?

On Wed, Dec 19, 2007 at 08:56:17PM +0100, Clemens Koller wrote:
> Hello,
>
> while looking for some assembly out of order / optimization stuff
> for something else, I found some strange code in
> .../linux/include/asm-cris/bitops.h:22
>
> /*
> * Some hacks to defeat gcc over-optimizations..
> */
> struct __dummy { unsigned long a[100]; };
> #define ADDR (*(struct __dummy *) addr)
> #define CONST_ADDR (*(const struct __dummy *) addr)
>
> CONST_ADDR is never used in the kernel.
> Maybe some -cris people could have a look.

Hmm... This is very old code, it hasn't changed since 2001 and
it is not used anywhere.

I'll send a patch to remove it, thanks for noticing!

> Thanks,
> Clemens Koller

/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]