diff --git a/src/lisp/elf.c b/src/lisp/elf.c
index 1e8659e5b6c696278f4b4b70ffba5cfa1f7a0ada..52747a8f457eeca3f3ae4ac623ec857145bb76c0 100644
--- a/src/lisp/elf.c
+++ b/src/lisp/elf.c
@@ -132,8 +132,15 @@ write_elf_header(int fd)
     eh.e_ident[EI_VERSION]	= EV_CURRENT;
 #ifdef SOLARIS
     eh.e_ident[EI_OSABI]	= ELFOSABI_SOLARIS;
-#else
+#elif defined(__FREEBSD__)
     eh.e_ident[EI_OSABI]	= ELFOSABI_FREEBSD;
+#elif defined(__NetBSD__)
+    eh.e_ident[EI_OSABI]	= ELFOSABI_NETBSD;
+#elif defined(__linux__)
+    eh.e_ident[EI_OSABI]	= ELFOSABI_LINUX;
+#else
+    /* Default to NONE */
+    eh.e_ident[EI_OSABI]	= ELFOSABI_NONE;
 #endif
 
 #ifdef SOLARIS