diff -urN linux/fs/binfmt_elf.c linux-2.3.18-elfid/fs/binfmt_elf.c
--- linux/fs/binfmt_elf.c	Tue Aug  3 18:18:39 1999
+++ linux-2.3.18-elfid/fs/binfmt_elf.c	Mon Sep 20 07:35:51 1999
@@ -415,8 +415,7 @@
 
 	retval = -ENOEXEC;
 	/* First of all, some simple consistency checks */
-	if (elf_ex.e_ident[0] != 0x7f ||
-	    strncmp(&elf_ex.e_ident[1], "ELF", 3) != 0)
+	if (strncmp(elf_ex.e_ident, ELFMAG, SELFMAG))
 		goto out;
 
 	if (elf_ex.e_type != ET_EXEC && elf_ex.e_type != ET_DYN)
@@ -538,8 +537,7 @@
 		    (N_MAGIC(interp_ex) != QMAGIC))
 			interpreter_type = INTERPRETER_ELF;
 
-		if (interp_elf_ex.e_ident[0] != 0x7f ||
-		    strncmp(&interp_elf_ex.e_ident[1], "ELF", 3) != 0)
+		if (strncmp(interp_elf_ex.e_ident, ELFMAG, SELFMAG))
 			interpreter_type &= ~INTERPRETER_ELF;
 
 		retval = -ELIBBAD;
@@ -823,8 +821,7 @@
 	if (retval != sizeof(elf_ex))
 		goto out_putf;
 
-	if (elf_ex.e_ident[0] != 0x7f ||
-	    strncmp(&elf_ex.e_ident[1], "ELF", 3) != 0)
+	if (strncmp(elf_ex.e_ident, ELFMAG, SELFMAG))
 		goto out_putf;
 
 	/* First of all, some simple consistency checks */
diff -urN linux/fs/binfmt_em86.c linux-2.3.18-elfid/fs/binfmt_em86.c
--- linux/fs/binfmt_em86.c	Tue Aug  3 18:18:39 1999
+++ linux-2.3.18-elfid/fs/binfmt_em86.c	Fri Sep 17 16:58:21 1999
@@ -30,11 +30,8 @@
 	/* Make sure this is a Linux/Intel ELF executable... */
 	elf_ex = *((struct elfhdr *)bprm->buf);
 
-        if (elf_ex.e_ident[0] != 0x7f ||
-            strncmp(&elf_ex.e_ident[1], "ELF",3) != 0) {
+        if (strncmp(elf_ex.e_ident, ELFMAG, SELFMAG))
                 return  -ENOEXEC;
-        }
-
 
         /* First of all, some simple consistency checks */
         if ((elf_ex.e_type != ET_EXEC &&