• Ralf Baechle's avatar
    MIPS: Make tlb exception handler definitions and declarations match. · 86a1708a
    Ralf Baechle authored
    The code was written as it is because it's more expressive, a bit easier.
    But it's always been dirty, if not a bug.  But we can't cheat with LTO
    compilers, so this results in:
    
    [...]
      LDFINAL vmlinux.o
    In file included from arch/mips/kernel/topology.c:604:0,
                     from arch/mips/kernel/time.c:212,
                     from arch/mips/kernel/syscall.c:300,
                     from arch/mips/kernel/signal.c:853,
                     from arch/mips/kernel/setup.c:1030,
                     from arch/mips/kernel/reset.c:354,
                     from arch/mips/kernel/ptrace.c:562,
                     from arch/mips/kernel/process.c:770,
                     from arch/mips/kernel/irq.c:350,
                     from arch/mips/kernel/branch.c:321,
                     from arch/mips/kernel/cpu-probe.c:1370,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:345,
                     from arch/mips/sgi-ip22/ip22-gio.c:660,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/sgialib.h:219,
                     from arch/mips/sgi-ip22/ip22-reset.c:224,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/paccess.h:116,
                     from arch/mips/sgi-ip22/ip22-nvram.c:334,
                     from include/linux/kernel_stat.h:79,
                     from arch/mips/sgi-ip22/ip22-int.c:592,
                     from arch/mips/sgi-ip22/ip22-hpc.c:470,
                     from arch/mips/sgi-ip22/ip22-mc.c:135,
                     from init/init_task.c:54,
                     from init/calibrate.c:744,
                     from init/noinitramfs.c:62,
                     from init/do_mounts.c:573,
                     from init/version.c:1009,
                     from init/main.c:777,
                     from :729:
    arch/mips/kernel/traps.c:63:49: error: variable ‘handle_tlbl’ redeclared as function
    In file included from arch/mips/mm/page.c:310:0,
                     from arch/mips/mm/mmap.c:208,
                     from arch/mips/mm/init.c:641,
                     from arch/mips/mm/gup.c:811,
                     from arch/mips/mm/fault.c:659,
                     from include/linux/module.h:682,
                     from arch/mips/mm/dma-default.c:161,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:397,
                     from arch/mips/kernel/i8253.c:538,
                     from arch/mips/kernel/proc.c:145,
                     from arch/mips/kernel/irq_cpu.c:129,
                     from arch/mips/kernel/i8259.c:229,
                     from include/uapi/linux/elf.h:251,
                     from arch/mips/kernel/mips_ksyms.c:129,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/time.h:50,
                     from arch/mips/kernel/cevt-r4k.c:90,
                     from arch/mips/kernel/vdso.c:136,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:351,
                     from arch/mips/kernel/unaligned.c:809,
                     from arch/mips/kernel/traps.c:1720,
                     from arch/mips/kernel/topology.c:684,
                     from arch/mips/kernel/time.c:212,
                     from arch/mips/kernel/syscall.c:300,
                     from arch/mips/kernel/signal.c:853,
                     from arch/mips/kernel/setup.c:1030,
                     from arch/mips/kernel/reset.c:354,
                     from arch/mips/kernel/ptrace.c:562,
                     from arch/mips/kernel/process.c:770,
                     from arch/mips/kernel/irq.c:350,
                     from arch/mips/kernel/branch.c:321,
                     from arch/mips/kernel/cpu-probe.c:1370,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:345,
                     from arch/mips/sgi-ip22/ip22-gio.c:660,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/sgialib.h:219,
                     from arch/mips/sgi-ip22/ip22-reset.c:224,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/paccess.h:116,
                     from arch/mips/sgi-ip22/ip22-nvram.c:334,
                     from include/linux/kernel_stat.h:79,
                     from arch/mips/sgi-ip22/ip22-int.c:592,
                     from arch/mips/sgi-ip22/ip22-hpc.c:470,
                     from arch/mips/sgi-ip22/ip22-mc.c:135,
                     from init/init_task.c:54,
                     from init/calibrate.c:744,
                     from init/noinitramfs.c:62,
                     from init/do_mounts.c:573,
                     from init/version.c:1009,
                     from init/main.c:777,
                     from :729:
    arch/mips/mm/tlbex.c:1448:5: note: previously declared here
    In file included from arch/mips/kernel/topology.c:604:0,
                     from arch/mips/kernel/time.c:212,
                     from arch/mips/kernel/syscall.c:300,
                     from arch/mips/kernel/signal.c:853,
                     from arch/mips/kernel/setup.c:1030,
                     from arch/mips/kernel/reset.c:354,
                     from arch/mips/kernel/ptrace.c:562,
                     from arch/mips/kernel/process.c:770,
                     from arch/mips/kernel/irq.c:350,
                     from arch/mips/kernel/branch.c:321,
                     from arch/mips/kernel/cpu-probe.c:1370,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:345,
                     from arch/mips/sgi-ip22/ip22-gio.c:660,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/sgialib.h:219,
                     from arch/mips/sgi-ip22/ip22-reset.c:224,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/paccess.h:116,
                     from arch/mips/sgi-ip22/ip22-nvram.c:334,
                     from include/linux/kernel_stat.h:79,
                     from arch/mips/sgi-ip22/ip22-int.c:592,
                     from arch/mips/sgi-ip22/ip22-hpc.c:470,
                     from arch/mips/sgi-ip22/ip22-mc.c:135,
                     from init/init_task.c:54,
                     from init/calibrate.c:744,
                     from init/noinitramfs.c:62,
                     from init/do_mounts.c:573,
                     from init/version.c:1009,
                     from init/main.c:777,
                     from :729:
    arch/mips/kernel/traps.c:62:49: error: variable ‘handle_tlbm’ redeclared as function
    In file included from arch/mips/mm/page.c:310:0,
                     from arch/mips/mm/mmap.c:208,
                     from arch/mips/mm/init.c:641,
                     from arch/mips/mm/gup.c:811,
                     from arch/mips/mm/fault.c:659,
                     from include/linux/module.h:682,
                     from arch/mips/mm/dma-default.c:161,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:397,
                     from arch/mips/kernel/i8253.c:538,
                     from arch/mips/kernel/proc.c:145,
                     from arch/mips/kernel/irq_cpu.c:129,
                     from arch/mips/kernel/i8259.c:229,
                     from include/uapi/linux/elf.h:251,
                     from arch/mips/kernel/mips_ksyms.c:129,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/time.h:50,
                     from arch/mips/kernel/cevt-r4k.c:90,
                     from arch/mips/kernel/vdso.c:136,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:351,
                     from arch/mips/kernel/unaligned.c:809,
                     from arch/mips/kernel/traps.c:1720,
                     from arch/mips/kernel/topology.c:684,
                     from arch/mips/kernel/time.c:212,
                     from arch/mips/kernel/syscall.c:300,
                     from arch/mips/kernel/signal.c:853,
                     from arch/mips/kernel/setup.c:1030,
                     from arch/mips/kernel/reset.c:354,
                     from arch/mips/kernel/ptrace.c:562,
                     from arch/mips/kernel/process.c:770,
                     from arch/mips/kernel/irq.c:350,
                     from arch/mips/kernel/branch.c:321,
                     from arch/mips/kernel/cpu-probe.c:1370,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:345,
                     from arch/mips/sgi-ip22/ip22-gio.c:660,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/sgialib.h:219,
                     from arch/mips/sgi-ip22/ip22-reset.c:224,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/paccess.h:116,
                     from arch/mips/sgi-ip22/ip22-nvram.c:334,
                     from include/linux/kernel_stat.h:79,
                     from arch/mips/sgi-ip22/ip22-int.c:592,
                     from arch/mips/sgi-ip22/ip22-hpc.c:470,
                     from arch/mips/sgi-ip22/ip22-mc.c:135,
                     from init/init_task.c:54,
                     from init/calibrate.c:744,
                     from init/noinitramfs.c:62,
                     from init/do_mounts.c:573,
                     from init/version.c:1009,
                     from init/main.c:777,
                     from :729:
    arch/mips/mm/tlbex.c:1450:5: note: previously declared here
    In file included from arch/mips/kernel/topology.c:604:0,
                     from arch/mips/kernel/time.c:212,
                     from arch/mips/kernel/syscall.c:300,
                     from arch/mips/kernel/signal.c:853,
                     from arch/mips/kernel/setup.c:1030,
                     from arch/mips/kernel/reset.c:354,
                     from arch/mips/kernel/ptrace.c:562,
                     from arch/mips/kernel/process.c:770,
                     from arch/mips/kernel/irq.c:350,
                     from arch/mips/kernel/branch.c:321,
                     from arch/mips/kernel/cpu-probe.c:1370,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:345,
                     from arch/mips/sgi-ip22/ip22-gio.c:660,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/sgialib.h:219,
                     from arch/mips/sgi-ip22/ip22-reset.c:224,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/paccess.h:116,
                     from arch/mips/sgi-ip22/ip22-nvram.c:334,
                     from include/linux/kernel_stat.h:79,
                     from arch/mips/sgi-ip22/ip22-int.c:592,
                     from arch/mips/sgi-ip22/ip22-hpc.c:470,
                     from arch/mips/sgi-ip22/ip22-mc.c:135,
                     from init/init_task.c:54,
                     from init/calibrate.c:744,
                     from init/noinitramfs.c:62,
                     from init/do_mounts.c:573,
                     from init/version.c:1009,
                     from init/main.c:777,
                     from :729:
    arch/mips/kernel/traps.c:64:49: error: variable ‘handle_tlbs’ redeclared as function
    In file included from arch/mips/mm/page.c:310:0,
                     from arch/mips/mm/mmap.c:208,
                     from arch/mips/mm/init.c:641,
                     from arch/mips/mm/gup.c:811,
                     from arch/mips/mm/fault.c:659,
                     from include/linux/module.h:682,
                     from arch/mips/mm/dma-default.c:161,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:397,
                     from arch/mips/kernel/i8253.c:538,
                     from arch/mips/kernel/proc.c:145,
                     from arch/mips/kernel/irq_cpu.c:129,
                     from arch/mips/kernel/i8259.c:229,
                     from include/uapi/linux/elf.h:251,
                     from arch/mips/kernel/mips_ksyms.c:129,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/time.h:50,
                     from arch/mips/kernel/cevt-r4k.c:90,
                     from arch/mips/kernel/vdso.c:136,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:351,
                     from arch/mips/kernel/unaligned.c:809,
                     from arch/mips/kernel/traps.c:1720,
                     from arch/mips/kernel/topology.c:684,
                     from arch/mips/kernel/time.c:212,
                     from arch/mips/kernel/syscall.c:300,
                     from arch/mips/kernel/signal.c:853,
                     from arch/mips/kernel/setup.c:1030,
                     from arch/mips/kernel/reset.c:354,
                     from arch/mips/kernel/ptrace.c:562,
                     from arch/mips/kernel/process.c:770,
                     from arch/mips/kernel/irq.c:350,
                     from arch/mips/kernel/branch.c:321,
                     from arch/mips/kernel/cpu-probe.c:1370,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/thread_info.h:345,
                     from arch/mips/sgi-ip22/ip22-gio.c:660,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/sgialib.h:219,
                     from arch/mips/sgi-ip22/ip22-reset.c:224,
                     from /fluff/home/ralf/src/linux/lto/linux-misc/arch/mips/include/asm/paccess.h:116,
                     from arch/mips/sgi-ip22/ip22-nvram.c:334,
                     from include/linux/kernel_stat.h:79,
                     from arch/mips/sgi-ip22/ip22-int.c:592,
                     from arch/mips/sgi-ip22/ip22-hpc.c:470,
                     from arch/mips/sgi-ip22/ip22-mc.c:135,
                     from init/init_task.c:54,
                     from init/calibrate.c:744,
                     from init/noinitramfs.c:62,
                     from init/do_mounts.c:573,
                     from init/version.c:1009,
                     from init/main.c:777,
                     from :729:
    arch/mips/mm/tlbex.c:1449:5: note: previously declared here
    lto1: fatal error: errors during merging of translation units
    compilation terminated.
    lto-wrapper: /usr/bin/mips-linux-gcc returned 1 exit status
    /usr/lib64/gcc/mips-linux/4.7.1/../../../../mips-linux/bin/ld: lto-wrapper failed
    collect2: error: ld returned 1 exit status
    make: *** [vmlinux] Error 1
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    86a1708a
traps.c 44.7 KB