Support mapping of page zero read-only if COMPAT_SVR4_MAP_PAGE_ZERO
authorniklas <niklas@openbsd.org>
Thu, 18 Apr 1996 15:58:33 +0000 (15:58 +0000)
committerniklas <niklas@openbsd.org>
Thu, 18 Apr 1996 15:58:33 +0000 (15:58 +0000)
is used.  Dell SVR4 behaved this way, and some binaries rely on such icky
behaviour.

sys/kern/exec_elf.c

index a32eaab..b07a0de 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: exec_elf.c,v 1.3 1996/03/03 17:19:37 niklas Exp $     */
+/*     $OpenBSD: exec_elf.c,v 1.4 1996/04/18 15:58:33 niklas Exp $     */
 /*     $NetBSD: exec_elf.c,v 1.6 1996/02/09 18:59:18 christos Exp $    */
 
 /*
@@ -531,6 +531,12 @@ exec_elf_makecmds(p, epp)
        } else
                epp->ep_entry = eh->e_entry;
 
+#ifdef COMPAT_SVR4_MAP_PAGE_ZERO
+       /* Dell SVR4 maps page zero, yeuch! */
+       NEW_VMCMD(&epp->ep_vmcmds, vmcmd_map_readvn, NBPG, 0, epp->ep_vp, 0,
+           VM_PROT_READ);
+#endif
+
        free((char *) ph, M_TEMP);
        epp->ep_vp->v_flag |= VTEXT;
        return exec_aout_setup_stack(p, epp);