linux/include
Daniel Jacobowitz 6a39dd6222 [ARM] 3759/2: Remove uses of %?
Patch from Daniel Jacobowitz

The ARM kernel has several uses of asm("foo%?").  %? is a GCC internal
modifier used to output conditional execution predicates.  However, no
version of GCC supports conditionalizing asm statements.  GCC 4.2 will
correctly expand %? to the empty string in user asms.  Earlier versions may
reuse the condition from the previous instruction.  In 'if (foo) asm
("bar%?");' this is somewhat likely to be right... but not reliable.

So, the only safe thing to do is to remove the uses of %?.  I believe
the tlbflush.h occurances were supposed to be removed before, based
on the comment about %? not working at the top of that file.

Old versions of GCC could omit branches around user asms if the asm didn't
mark the condition codes as clobbered.  This problem hasn't been seen on any
recent (3.x or 4.x) GCC, but it could theoretically happen.  So, where
%? was removed a cc clobber was added.

Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-09-20 14:58:35 +01:00
..
acpi Pull acpi_os_allocate into test branch 2006-07-10 02:39:47 -04:00
asm-alpha [PATCH] Fix 'make headers_check' for Alpha 2006-09-16 12:54:32 -07:00
asm-arm [ARM] 3759/2: Remove uses of %? 2006-09-20 14:58:35 +01:00
asm-arm26 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-cris [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-frv [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-generic [PATCH] headers_check: remove <asm/timex.h> from user export 2006-09-13 07:32:15 -07:00
asm-h8300 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-i386 x86: save/restore eflags in context switch 2006-09-18 16:20:40 -07:00
asm-ia64 [PATCH] Fix 'make headers_check' on ia64 2006-09-16 12:54:32 -07:00
asm-m32r [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-m68k [PATCH] Fix 'make headers_check' on ia64 2006-09-19 07:59:59 -07:00
asm-m68knommu [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-mips [PATCH] headers_check: fix userspace build of asm-mips/page.h 2006-09-13 07:32:16 -07:00
asm-parisc [PATCH] headers_check: Clean up asm-parisc/page.h for user headers 2006-09-19 07:59:59 -07:00
asm-powerpc [POWERPC] Fix MMIO ops to provide expected barrier behaviour 2006-09-13 22:08:26 +10:00
asm-ppc [POWERPC] Fix MMIO ops to provide expected barrier behaviour 2006-09-13 22:08:26 +10:00
asm-s390 [PATCH] Fix 'make headers_check' on s390 2006-09-16 12:54:31 -07:00
asm-sh [PATCH] sh: fix FPN_START typo 2006-09-08 10:22:50 -07:00
asm-sh64 sh64: Use generic BUG_ON()/WARN_ON(). 2006-09-12 14:38:23 +09:00
asm-sparc [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
asm-sparc64 [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
asm-um Merge git://git.infradead.org/hdrinstall-2.6 2006-07-04 12:55:45 -07:00
asm-v850 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-x86_64 [PATCH] Fix 'make headers_check' on x86_64 2006-09-16 12:54:32 -07:00
asm-xtensa [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
keys
linux Merge git://git.infradead.org/mtd-2.6 2006-09-19 08:01:58 -07:00
math-emu
media V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install 2006-09-10 13:45:55 -03:00
mtd Merge git://git.infradead.org/hdrinstall-2.6 2006-07-04 12:55:45 -07:00
net Fix sctp privilege elevation (CVE-2006-3745) 2006-08-22 12:52:23 -07:00
pcmcia
rdma IB/mad: Validate MADs for spec compliance 2006-07-24 09:18:07 -07:00
rxrpc
scsi [SCSI] iscsi bugfixes: reduce memory allocations 2006-07-28 11:49:34 -05:00
sound [ALSA] Fix section mismatch errors in ALSA PCI drivers 2006-07-12 20:08:01 +02:00
video [PATCH] mbxfb: Add framebuffer driver for the Intel 2700G 2006-07-14 21:53:55 -07:00
Kbuild