linux_dsm_epyc7002/arch/arm
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
..
boot Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-07-02 15:04:12 -07:00
common [ARM] 3741/1: remove sa1111.c build warning on non-sa1100 systems 2006-08-27 13:09:14 +01:00
configs [ARM] 3786/1: pnx4008: update defconfig 2006-09-14 13:32:08 +01:00
kernel [ARM] 3759/2: Remove uses of %? 2006-09-20 14:58:35 +01:00
lib Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mach-aaec2000 [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-at91rm9200 [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-clps711x [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-clps7500 [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-ebsa110 [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-ep93xx [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-footbridge [ARM] 3759/2: Remove uses of %? 2006-09-20 14:58:35 +01:00
mach-h720x [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-imx [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-integrator [ARM] Add Integrator support for glibc outb() and friends 2006-08-28 12:47:05 +01:00
mach-iop3xx [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-ixp4xx [ARM] 3772/1: Fix compilation error in mach-ixp4xx/nslu2* 2006-09-06 19:03:24 +01:00
mach-ixp23xx [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-ixp2000 [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-l7200 [ARM] 3684/1: ARM: Convert l7200 to generic irq handling 2006-07-01 22:32:19 +01:00
mach-lh7a40x [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-netx [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-omap1 [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-omap2 [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-pnx4008 [ARM] 3709/1: pnx4008: convert to generic irq subsystem 2006-07-05 14:47:20 +01:00
mach-pxa [ARM] 3760/1: This patch adds timeouts while working with SSP registers. Such timeouts were en 2006-08-27 12:54:56 +01:00
mach-realview [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-rpc [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
mach-s3c2410 [ARM] 3794/1: S3C24XX: do not defined set_irq_wake when no CONFIG_PM 2006-09-18 13:30:20 +01:00
mach-sa1100 [ARM] 3760/1: This patch adds timeouts while working with SSP registers. Such timeouts were en 2006-08-27 12:54:56 +01:00
mach-shark [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
mach-versatile [ARM] 3752/1: fix versatile flash resource map 2006-08-13 14:17:12 +01:00
mm [ARM] Move mmu.c out of the way 2006-09-20 14:58:35 +01:00
nwfpe [ARM] 3729/3: EABI padding rules necessitate the packed attribute of floatx80 2006-07-13 13:04:24 +01:00
oprofile [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
plat-omap [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name 2006-08-01 22:26:25 +01:00
tools [ARM] Update mach-types 2006-06-26 22:50:21 +01:00
vfp [ARM] 3759/2: Remove uses of %? 2006-09-20 14:58:35 +01:00
Kconfig [ARM] Add ARM irqtrace support 2006-09-20 14:58:35 +01:00
Kconfig-nommu [ARM] nommu: fixups for the exception vectors 2006-03-27 15:18:50 +01:00
Kconfig.debug [ARM] Trivial typo fixes 2006-06-04 21:22:11 +01:00
Makefile [ARM] 3761/1: fix armv4t breakage after adding thumb interworking to userspace helpers 2006-08-28 12:51:20 +01:00