summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2015-01-08 00:39:40 +0000
committerimp <imp@FreeBSD.org>2015-01-08 00:39:40 +0000
commita1d87ddc1026000bc73f4ee5a77c288249f2df16 (patch)
treebc3d17865c01b77eee2e61fd607d2e0b7ce16cdb /sys/i386
parent3e76fe38ac67ebe704211939a44e6de3777c2438 (diff)
downloadFreeBSD-src-a1d87ddc1026000bc73f4ee5a77c288249f2df16.zip
FreeBSD-src-a1d87ddc1026000bc73f4ee5a77c288249f2df16.tar.gz
Don't call the SSE routines when they aren't enabled (or even compiled
into the kernel).
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/elf_machdep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c
index cd701aa..43757a1 100644
--- a/sys/i386/i386/elf_machdep.c
+++ b/sys/i386/i386/elf_machdep.c
@@ -47,6 +47,10 @@ __FBSDID("$FreeBSD$");
#include <machine/md_var.h>
#include <machine/npx.h>
+#if !defined(CPU_DISABLE_SSE) && defined(I686_CPU)
+#define CPU_ENABLE_SSE
+#endif
+
struct sysentvec elf32_freebsd_sysvec = {
.sv_size = SYS_MAXSYSCALL,
.sv_table = sysent,
@@ -137,10 +141,13 @@ SYSINIT(kelf32, SI_SUB_EXEC, SI_ORDER_ANY,
void
elf32_dump_thread(struct thread *td, void *dst, size_t *off)
{
+#ifdef CPU_ENABLE_SSE
void *buf;
+#endif
size_t len;
len = 0;
+#ifdef CPU_ENABLE_SSE
if (use_xsave) {
if (dst != NULL) {
npxgetregs(td);
@@ -153,6 +160,7 @@ elf32_dump_thread(struct thread *td, void *dst, size_t *off)
len += elf32_populate_note(NT_X86_XSTATE, NULL, NULL,
cpu_max_ext_state_size, NULL);
}
+#endif
*off = len;
}
OpenPOWER on IntegriCloud