kernel_optimize_test/arch/mips/include/asm
Ingo Molnar 3f0116c323 compiler/gcc4: Add quirk for 'asm goto' miscompilation bug
Fengguang Wu, Oleg Nesterov and Peter Zijlstra tracked down
a kernel crash to a GCC bug: GCC miscompiles certain 'asm goto'
constructs, as outlined here:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670

Implement a workaround suggested by Jakub Jelinek.

Reported-and-tested-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Oleg Nesterov <oleg@redhat.com>
Reported-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Suggested-by: Jakub Jelinek <jakub@redhat.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-10-11 07:39:14 +02:00
..
dec MIPS: DECstation I/O ASIC DMA interrupt handling fix 2013-09-13 11:57:40 +02:00
emma MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fw MIPS: sibyte: Declare the cfe_write() buffer as constant 2013-06-21 18:07:02 +02:00
ip32 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
lasat MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-ar7 Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET" 2013-07-01 15:10:58 +02:00
mach-ath79 MIPS: ath79: Don't hardwire cpu_has_dsp{2} to 0 2013-09-03 23:22:16 +02:00
mach-au1x00 MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
mach-bcm47xx MIPS: BCM47XX: add bcm47xx prefix in front of nvram function names 2013-02-15 19:01:57 +01:00
mach-bcm63xx MIPS: BCM63XX: export PSI size from nvram 2013-08-05 18:58:55 +01:00
mach-cavium-octeon MIPS: OCTEON: Select ARCH_REQUIRE_GPIOLIB 2013-08-26 15:33:40 +02:00
mach-cobalt MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-db1x00 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-dec MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-emma2rh MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-generic MIPS: Fix multiple definitions of UNCAC_BASE. 2013-07-30 18:40:40 +02:00
mach-ip22 MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
mach-ip27 MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
mach-ip28 MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
mach-ip32 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-jazz MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-jz4740 MIPS: jz4740: Remove custom DMA API 2013-07-05 11:40:52 +05:30
mach-lantiq MIPS: Lantiq: Falcon: add cpu-feature-override.h 2013-09-03 23:22:16 +02:00
mach-lasat MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-loongson MIPS: Build uasm-generated code only once to avoid CPU Hotplug problem 2013-05-08 01:19:06 +02:00
mach-loongson1 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-malta MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-netlogic Merge branch 'mips-next' of http://dev.phrozen.org/githttp/mips-next into mips-for-linux-next 2012-12-13 19:40:13 +01:00
mach-pmcs-msp71xx MIPS: MSP71xx: Remove gpio drivers 2013-06-18 00:31:31 +02:00
mach-pnx833x MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-powertv MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-ralink MIPS: ralink: mt7620: Add cpu-feature-override header 2013-09-04 16:58:31 +02:00
mach-rc32434 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-rm MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-sead3 MIPS: microMIPS: Disable LL/SC and fix linker bug. 2013-05-09 17:55:19 +02:00
mach-sibyte MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-tx39xx MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-tx49xx MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-vr41xx MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mips-boards MIPS: malta: Remove software reset defines from generic header. 2013-06-21 18:07:01 +02:00
netlogic MIPS: Netlogic: Add support for USB on XLP2xx 2013-09-03 23:22:20 +02:00
octeon MIPS: Move declaration of Octeon function fixup_irqs() to header. 2013-09-03 18:19:28 +02:00
pci MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sgi MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sibyte MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sn MIPS: IP27: Remove pfn_t. 2013-05-08 03:51:58 +02:00
txx9 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
vr41xx MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
xtalk MIPS: IP27: Fix build errors with CONFIG_PCI disabled. 2013-06-21 18:07:00 +02:00
abi.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
addrspace.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
amon.h
arch_hweight.h
asm-offsets.h
asm.h MIPS: microMIPS: Optimise 'memset' core library function. 2013-05-09 17:55:19 +02:00
asmmacro-32.h
asmmacro-64.h
asmmacro.h
atomic.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
barrier.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
bcache.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
bitops.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
bmips.h MIPS: BMIPS: Fix compilation for BMIPS5000 2013-08-26 15:31:55 +02:00
bootinfo.h MIPS: add detect_memory_region() 2013-05-08 01:19:11 +02:00
branch.h MIPS: MIPS16e: Support handling of delay slots. 2013-05-09 17:55:20 +02:00
break.h MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h 2013-02-20 18:24:24 +01:00
bug.h
bugs.h
cache.h
cacheflush.h
cacheops.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
cevt-r4k.h
checksum.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
clkdev.h MIPS: add clkdev.h 2012-05-15 17:49:20 +02:00
clock.h MIPS: clock.h: Remove declaration of cpu_wait. 2013-05-22 01:34:25 +02:00
cmp.h
cmpxchg.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
compat-signal.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
compat.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-03-02 07:44:16 -08:00
compiler.h
cop2.h MIPS: Netlogic: COP2 save/restore code 2013-06-13 17:46:41 +02:00
cpu-features.h MIPS: cpu-features.h: s/MIPS53/MIPS64/ 2013-09-24 11:07:18 +02:00
cpu-info.h MIPS: Provide nice way to access boot CPU's data. 2013-09-17 13:58:12 +02:00
cpu-type.h MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
cpu.h MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
debug.h
delay.h MIPS: Make __{,n,u}delay declarations match definitions and generic delay.h 2012-10-16 22:20:03 +02:00
device.h
div64.h
dma-coherence.h MIPS: Add option to disable software I/O coherency. 2013-05-01 16:32:49 -05:00
dma-mapping.h MIPS: Add option to disable software I/O coherency. 2013-05-01 16:32:49 -05:00
dma.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
ds1287.h
dsp.h MIPS: DSP: Fix DSP mask for registers. 2013-01-24 13:20:09 +01:00
edac.h
elf.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
errno.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
exec.h Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
fb.h
fixmap.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
floppy.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fpregdef.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fpu_emulator.h MIPS: microMIPS: Floating point support. 2013-05-09 17:55:18 +02:00
fpu.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
ftrace.h
futex.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
gcmpregs.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
gic.h MIPS: Fix typos and cleanup comment 2013-07-01 15:10:57 +02:00
gio_device.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
gpio.h
gt64120.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
hardirq.h
hazards.h MIPS: Get rid of the use of .macro in C code. 2013-04-11 15:39:51 +02:00
highmem.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
hugetlb.h mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
hw_irq.h
i8259.h
ide.h
idle.h MIPS: Idle: Break r4k_wait into two functions and fix it. 2013-05-22 01:34:28 +02:00
inst.h MIPS: MIPS16e: Support handling of delay slots. 2013-05-09 17:55:20 +02:00
io.h MIPS: define write{b,w,l,q}_relaxed 2013-07-01 15:10:59 +02:00
irq_cpu.h MIPS: add irqdomain support for the CPU IRQ controller 2013-02-17 01:25:34 +01:00
irq_gt641xx.h
irq_regs.h
irq.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
irqflags.h MIPS: Get rid of the use of .macro in C code. 2013-04-11 15:39:51 +02:00
isadep.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jazz.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jazzdma.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jump_label.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2013-10-11 07:39:14 +02:00
Kbuild MIPS: use generic-y where possible 2013-08-26 15:31:52 +02:00
kdebug.h
kexec.h MIPS: kdump: Add support 2012-12-13 16:46:47 +01:00
kgdb.h
kmap_types.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
kprobes.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
kvm_host.h mips/kvm: Fix ABI by moving manipulation of CP0 registers to KVM_{G,S}ET_ONE_REG 2013-06-03 10:58:54 +03:00
linkage.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
local.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
m48t37.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mc146818-time.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mc146818rtc.h
mips_machine.h MIPS: move mips_{set,get}_machine_name() to a more generic place 2013-05-08 01:19:07 +02:00
mips_mt.h
mipsmtregs.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mipsprom.h
mipsregs.h MIPS: Add MIPS R5 config5 register. 2013-09-19 11:16:44 +02:00
mmu_context.h Merge branch '3.10-fixes' into mips-for-linux-next 2013-07-12 18:11:43 +02:00
mmu.h
mmzone.h
module.h MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
msc01_ic.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
nile4.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
paccess.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
page.h Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET" 2013-07-01 15:10:58 +02:00
pci.h MIPS: PCI: Use pci_resource_to_user to map pci memory space properly 2013-09-19 00:48:48 +02:00
perf_event.h
pgalloc.h
pgtable-32.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pgtable-64.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pgtable-bits.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pgtable.h consolidate io_remap_pfn_range definitions 2013-06-29 12:46:35 +04:00
pmon.h
prefetch.h
processor.h MIPS: Cleanup indentation and whitespace 2013-07-01 15:10:57 +02:00
prom.h MIPS: move mips_{set,get}_machine_name() to a more generic place 2013-05-08 01:19:07 +02:00
ptrace.h MIPS: Quit exposing Kconfig symbols in uapi headers. 2013-05-23 10:19:04 +02:00
r4k-timer.h MIPS: Synchronize MIPS count one CPU at a time 2012-08-17 10:57:28 +02:00
r4kcache.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
reboot.h
reg.h
regdef.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
rm9k-ocd.h
rtlx.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
seccomp.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
setup.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
sgialib.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sgiarcs.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
shmparam.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sigcontext.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
siginfo.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
signal.h Fix breakage in MIPS siginfo handling 2013-03-19 19:15:52 +01:00
sim.h mips: switch to generic sys_fork() and sys_clone() 2013-02-03 18:33:02 -05:00
smp-ops.h
smp.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
smtc_ipi.h
smtc_proc.h
smtc.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sni.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
socket.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
sparsemem.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
spinlock_types.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
spinlock.h MIPS: Remove redundant instructions from arch_spin_{,try}lock. 2013-04-26 17:18:24 +02:00
spram.h
stackframe.h MIPS: Don't save/restore OCTEON wide multiplier state on syscalls. 2013-07-01 15:10:56 +02:00
stackprotector.h MIPS: initial stack protector support 2013-07-01 15:10:48 +02:00
stacktrace.h
string.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
suspend.h
switch_to.h MIPS: Move cop2 save/restore to switch_to() 2013-06-13 17:46:41 +02:00
termios.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
thread_info.h MIPS: Implement HAVE_CONTEXT_TRACKING. 2013-06-10 18:02:30 +02:00
time.h MIPS: Add new GIC clockevent driver. 2013-05-09 17:55:21 +02:00
timex.h MIPS: Reimplement get_cycles(). 2013-09-18 16:31:49 +02:00
tlb.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
tlbdebug.h
tlbflush.h
tlbmisc.h
topology.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
traps.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
txx9irq.h
txx9pio.h
txx9tmr.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
types.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
uaccess.h Merge branch 'mti-next' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into mips-for-linux-next 2013-05-09 17:57:30 +02:00
uasm.h MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
unaligned.h
unistd.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
user.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
vdso.h
vga.h MIPS: Fix VGA_MAP_MEM macro. 2013-09-18 17:13:58 +02:00
vpe.h
war.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
watch.h
wbflush.h