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 &&