Module Name: src
Committed By: joerg
Date: Wed Oct 30 23:32:30 UTC 2013
Modified Files:
src/sys/kern: exec_elf.c
src/sys/sys: exec.h
Log Message:
Preserve NetBSD version from the ABI tag for compat use.
To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/kern/exec_elf.c
cvs rdiff -u -r1.140 -r1.141 src/sys/sys/exec.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/exec_elf.c
diff -u src/sys/kern/exec_elf.c:1.47 src/sys/kern/exec_elf.c:1.48
--- src/sys/kern/exec_elf.c:1.47 Tue Sep 10 21:30:21 2013
+++ src/sys/kern/exec_elf.c Wed Oct 30 23:32:30 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_elf.c,v 1.47 2013/09/10 21:30:21 matt Exp $ */
+/* $NetBSD: exec_elf.c,v 1.48 2013/10/30 23:32:30 joerg Exp $ */
/*-
* Copyright (c) 1994, 2000, 2005 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: exec_elf.c,v 1.47 2013/09/10 21:30:21 matt Exp $");
+__KERNEL_RCSID(1, "$NetBSD: exec_elf.c,v 1.48 2013/10/30 23:32:30 joerg Exp $");
#ifdef _KERNEL_OPT
#include "opt_pax.h"
@@ -902,6 +902,9 @@ netbsd_elf_signature(struct lwp *l, stru
np->n_descsz == ELF_NOTE_NETBSD_DESCSZ &&
memcmp(ndata, ELF_NOTE_NETBSD_NAME,
ELF_NOTE_NETBSD_NAMESZ) == 0) {
+ memcpy(&epp->ep_osversion,
+ ndata + ELF_NOTE_NETBSD_NAMESZ + 1,
+ ELF_NOTE_NETBSD_DESCSZ);
isnetbsd = 1;
break;
}
Index: src/sys/sys/exec.h
diff -u src/sys/sys/exec.h:1.140 src/sys/sys/exec.h:1.141
--- src/sys/sys/exec.h:1.140 Tue Sep 10 21:30:21 2013
+++ src/sys/sys/exec.h Wed Oct 30 23:32:30 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: exec.h,v 1.140 2013/09/10 21:30:21 matt Exp $ */
+/* $NetBSD: exec.h,v 1.141 2013/10/30 23:32:30 joerg Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -216,6 +216,7 @@ struct exec_package {
char *ep_path; /* absolute path of executable */
void (*ep_emul_arg_free)(void *);
/* free ep_emul_arg */
+ uint32_t ep_osversion; /* OS version */
char ep_machine_arch[12]; /* from MARCH note */
};
#define EXEC_INDIR 0x0001 /* script handling already done */