updated gcc-3.4 patches for 2.4.27-rc4

From: Mikael Pettersson
Date: Tue Aug 03 2004 - 14:03:23 EST


[Resend. 1st post seems to have gone into a /dev/null somewhere.]

The gcc-3.4 patches for the 2.4.27-rc4 kernel have been updated:
http://www.csd.uu.se/~mikpe/linux/patches/2.4/patch-gcc34-fastcall-fixes-2.4.27-rc4
http://www.csd.uu.se/~mikpe/linux/patches/2.4/patch-gcc34-lvalue-fixes-2.4.27-rc4
http://www.csd.uu.se/~mikpe/linux/patches/2.4/patch-gcc34-misc-fixes-2.4.27-rc4
Download and apply all three of them.

After a careful review of all patches, the following changes were made:
- i386' smp_send_reschedule() now has proper fastcall declarations.
The previous patches removed the FASTCALL from <linux/smp.h>,
but the new patches instead preserve the behaviour from gcc < 3.4.
- Several functions had their fastcall annotations moved around a
little to match exactly their 2.6.8-rc2 versions.
- A few void* casts used for cast-as-lvalue fixes were reformatted
to match exactly their 2.6.8-rc2 versions.
- Cleaned up the cast-as-lvalue fix in
arch/x86_64/ia32/ia32_ioctl.c:blkpg_ioctl_trans().

The cast-as-lvalue fixes for kernel/sysctl.c result in code doing
pointer arithmetic on void* values. There has been some discussion
about replacing those with char* values. I decided against that
because (1) the diff became larger, and (2) the functions in sysctl.c
already do void* pointer arithmetic, and there is no strong reason
for eliminating that (ab)use in the 2.4 kernel.

The cast-as-lvalue fixes are also needed to silence warnings from
gcc-3.3.4.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/