6ebb17dfa7
MACHINE_ARCH sets the hw.machine_arch sysctl in the kernel. In userspace it sets MACHINE_ARCH in bmake, which bsd.cpu.mk uses to configure the target ABI for ports. For riscv64sf builds (i.e. soft-float) that needs to be riscv64sf, but the sysctl didn't reflect that. It is static. Set the define from the riscv makefile so that we correctly reflect our actual build (i.e. riscv64 or riscv64sf), depending on what TARGET_ARCH we were built with. That still doesn't satisfy userspace builds (e.g. bmake), so check if we're building with a software-floating point toolchain there. That check doesn't work in the kernel, because it never uses floating point. Reviewed by: philip (previous version), mhorne Sponsored by: Axiado Differential Revision: https://reviews.freebsd.org/D23741 |
||
---|---|---|
.. | ||
_align.h | ||
_bus.h | ||
_inttypes.h | ||
_limits.h | ||
_stdint.h | ||
_types.h | ||
asm.h | ||
atomic.h | ||
bus_dma_impl.h | ||
bus_dma.h | ||
bus.h | ||
clock.h | ||
counter.h | ||
cpu.h | ||
cpufunc.h | ||
db_machdep.h | ||
dump.h | ||
efi.h | ||
elf.h | ||
encoding.h | ||
endian.h | ||
exec.h | ||
float.h | ||
floatingpoint.h | ||
fpe.h | ||
frame.h | ||
ieeefp.h | ||
in_cksum.h | ||
intr.h | ||
kdb.h | ||
machdep.h | ||
md_var.h | ||
memdev.h | ||
minidump.h | ||
ofw_machdep.h | ||
param.h | ||
pcb.h | ||
pcpu_aux.h | ||
pcpu.h | ||
pmap.h | ||
pmc_mdep.h | ||
proc.h | ||
procctl.h | ||
profile.h | ||
psl.h | ||
pte.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
riscvreg.h | ||
runq.h | ||
sbi.h | ||
setjmp.h | ||
sf_buf.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
stack.h | ||
stdarg.h | ||
sysarch.h | ||
trap.h | ||
ucontext.h | ||
vdso.h | ||
vm.h | ||
vmparam.h |