842dfc11ea
Starting with version 2.24.51.20140728 MIPS binutils complain loudly about mixing soft-float and hard-float object files, leading to this build failure since GCC is invoked with "-msoft-float" on MIPS: {standard input}: Warning: .gnu_attribute 4,3 requires `softfloat' LD arch/mips/alchemy/common/built-in.o mipsel-softfloat-linux-gnu-ld: Warning: arch/mips/alchemy/common/built-in.o uses -msoft-float (set by arch/mips/alchemy/common/prom.o), arch/mips/alchemy/common/sleeper.o uses -mhard-float To fix this, we detect if GAS is new enough to support "-msoft-float" command option, and if it does, we can let GCC pass it to GAS; but then we also need to sprinkle the files which make use of floating point registers with the necessary ".set hardfloat" directives. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Cc: Linux-MIPS <linux-mips@linux-mips.org> Cc: Matthew Fortune <Matthew.Fortune@imgtec.com> Cc: Markos Chandras <Markos.Chandras@imgtec.com> Cc: Maciej W. Rozycki <macro@linux-mips.org> Patchwork: https://patchwork.linux-mips.org/patch/8355/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> |
||
---|---|---|
.. | ||
.gitignore | ||
8250-platform.c | ||
Makefile | ||
asm-offsets.c | ||
binfmt_elfn32.c | ||
binfmt_elfo32.c | ||
bmips_vec.S | ||
branch.c | ||
cevt-bcm1480.c | ||
cevt-ds1287.c | ||
cevt-gic.c | ||
cevt-gt641xx.c | ||
cevt-r4k.c | ||
cevt-sb1250.c | ||
cevt-txx9.c | ||
cps-vec.S | ||
cpu-bugs64.c | ||
cpu-probe.c | ||
crash.c | ||
crash_dump.c | ||
csrc-bcm1480.c | ||
csrc-gic.c | ||
csrc-ioasic.c | ||
csrc-r4k.c | ||
csrc-sb1250.c | ||
early_printk.c | ||
early_printk_8250.c | ||
entry.S | ||
ftrace.c | ||
genex.S | ||
gpio_txx9.c | ||
head.S | ||
i8253.c | ||
i8259.c | ||
idle.c | ||
irq-gic.c | ||
irq-gt641xx.c | ||
irq-msc01.c | ||
irq-rm7000.c | ||
irq.c | ||
irq_cpu.c | ||
irq_txx9.c | ||
jump_label.c | ||
kgdb.c | ||
kprobes.c | ||
linux32.c | ||
machine_kexec.c | ||
mcount.S | ||
mips-cm.c | ||
mips-cpc.c | ||
mips-mt-fpaff.c | ||
mips-mt.c | ||
mips_ksyms.c | ||
mips_machine.c | ||
module-rela.c | ||
module.c | ||
octeon_switch.S | ||
perf_event.c | ||
perf_event_mipsxx.c | ||
pm-cps.c | ||
pm.c | ||
proc.c | ||
process.c | ||
prom.c | ||
ptrace.c | ||
ptrace32.c | ||
r4k_fpu.S | ||
r4k_switch.S | ||
r2300_fpu.S | ||
r2300_switch.S | ||
r6000_fpu.S | ||
relocate_kernel.S | ||
reset.c | ||
rtlx-cmp.c | ||
rtlx-mt.c | ||
rtlx.c | ||
scall32-o32.S | ||
scall64-64.S | ||
scall64-n32.S | ||
scall64-o32.S | ||
segment.c | ||
setup.c | ||
signal-common.h | ||
signal.c | ||
signal32.c | ||
signal_n32.c | ||
smp-bmips.c | ||
smp-cmp.c | ||
smp-cps.c | ||
smp-gic.c | ||
smp-mt.c | ||
smp-up.c | ||
smp.c | ||
spinlock_test.c | ||
spram.c | ||
stacktrace.c | ||
sync-r4k.c | ||
syscall.c | ||
time.c | ||
topology.c | ||
traps.c | ||
unaligned.c | ||
vdso.c | ||
vmlinux.lds.S | ||
vpe-cmp.c | ||
vpe-mt.c | ||
vpe.c | ||
watch.c |