linux/drivers
Linus Torvalds 3730793d45 fbmon: work around compiler bug in gcc-2.4.2
There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
he loop counter is of type 'unsigned char' and it should count to 128.

The compiler will incorrectly decide that a trivial loop like this:

	unsigned char i, ...

	for (i = 0; i < 128; i++) {
		..

is endless, and will compile it to a single instruction that just
branches to itself.

This was triggered by the addition of '-fno-strict-overflow', and we
could play games with compiler versions and go back to '-fwrapv'
instead, but the trivial way to avoid it is to just make the loop
induction variable be an 'int' instead.

Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
for digging through assembler differences and finding it.

Reported-and-tested-by: Krzysztof Oledzki <olel@ans.pl>
Found-by: Troy Moure <twmoure@szypr.net>
Gcc-bug-acked-by: Ian Lance Taylor <iant@google.com>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-07-22 08:49:22 -07:00
..
accessibility
acpi ACPI: video: prevent NULL deref in acpi_get_pci_dev() 2009-06-26 00:23:42 -04:00
amba [ARM] amba: fix amba device resources 2009-07-05 22:39:08 +01:00
ata ahci: add device ID for 82801JI sata controller 2009-07-14 22:42:56 -04:00
atm
auxdisplay
base Firmware: firmware_class, fix lock imbalance 2009-07-12 13:02:10 -07:00
block virtio_blk: ioctl return value fix 2009-07-17 21:47:46 +09:30
bluetooth headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
cdrom
char tty: fix chars_in_buffers 2009-07-20 16:38:43 -07:00
clocksource clocksource: sh_tmu: Make undefined TCOR behaviour less undefined. 2009-06-24 21:08:11 +09:00
connector
cpufreq [CPUFREQ] Fix compile failure in cpufreq.c 2009-07-08 19:04:23 -04:00
cpuidle
crypto
dca
dio
dma DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set 2009-06-24 18:34:40 +01:00
edac edac: add DDR3 memory type for MPC85xx EDAC 2009-06-30 18:55:59 -07:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-07-06 14:03:44 -07:00
firmware
gpio headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
gpu drm: Move a dereference below a NULL test 2009-07-15 16:56:48 +10:00
hid headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
hwmon hwmon: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT 2009-07-11 13:42:38 +02:00
i2c i2c: Use resource_size 2009-07-15 00:03:56 +01:00
ide Revert "ide: improve handling of Power Management requests" 2009-07-06 12:39:27 -07:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-07-06 14:03:44 -07:00
ieee802154
infiniband Merge branches 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus 2009-06-23 10:38:47 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-07-08 09:32:41 -07:00
isdn tty: fix chars_in_buffers 2009-07-20 16:38:43 -07:00
leds Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
lguest lguest: remove unnecessary forward struct declaration 2009-07-17 21:47:44 +09:30
macintosh powerpc/pmac: Fix DMA ops for MacIO devices 2009-06-26 14:37:25 +10:00
mca
md Fix congestion_wait() sync/async vs read/write confusion 2009-07-10 20:31:53 +02:00
media headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
memstick
message fusion: mptsas, fix lock imbalance 2009-06-22 08:54:14 -05:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-07-08 09:32:41 -07:00
misc headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
mmc mvsdio: fix handling of partial word at the end of PIO transfer 2009-07-20 16:46:34 -07:00
mtd UBI: fix compilation warnings 2009-07-08 10:15:41 +03:00
net Revert "ppp: Fix throttling bugs" 2009-07-16 09:14:23 -07:00
nubus
of
oprofile oprofile: reset bt_lost_no_mapping with other stats 2009-07-10 12:35:36 +02:00
parisc Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
parport parport/serial: add support for NetMos 9901 Multi-IO card 2009-06-30 18:55:59 -07:00
pci headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
pcmcia Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
platform Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-09 20:33:18 -07:00
pnp Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
power wm97xx_batery: replace driver_data with dev_get_drvdata() 2009-07-12 13:02:10 -07:00
pps
ps3
rapidio
regulator
rtc rtc: ds1374, fix lock imbalance 2009-07-06 13:57:03 -07:00
s390 headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sbus
scsi headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
serial drivers/serial/bfin_sport_uart.c: remove wrong and unneeded memset 2009-07-16 09:19:16 -07:00
sh
sn
spi spi: bitbang bugfix in message setup 2009-06-30 18:56:00 -07:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-09 20:33:18 -07:00
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2009-07-13 10:24:43 -07:00
tc
telephony headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
thermal
uio
usb tty: fix chars_in_buffers 2009-07-20 16:38:43 -07:00
uwb
video fbmon: work around compiler bug in gcc-2.4.2 2009-07-22 08:49:22 -07:00
virtio virtio-pci: correctly unregister root device on error 2009-07-17 21:47:47 +09:30
vlynq vlynq: fix typo in Kconfig to enable debugging 2009-07-06 13:57:03 -07:00
w1 Merge git://git.infradead.org/battery-2.6 2009-06-24 14:35:57 -07:00
watchdog Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-07-18 11:59:33 -07:00
xen xen: Use kcalloc() in xen_init_IRQ() 2009-07-01 11:19:47 +02:00
zorro
Kconfig
Makefile