kernel ELF: Implement AT_OSRELDATE aux vector
authorJohn Marino <draco@marino.st>
Fri, 20 May 2011 11:17:03 +0000 (13:17 +0200)
committerJohn Marino <draco@marino.st>
Fri, 20 May 2011 11:26:59 +0000 (13:26 +0200)
We have several unimplemented non-standard enumerations of the ELF aux
vectors brought in with a recent sync with FreeBSD.  In general they won't
be implemented because of philosophical reasons or lack of necessity.  In
the case of AT_OSRELDATE, it makes sense to provide this simple update
as the release date comes directly from the ELF binary and it's already
available thanks to recent comments regarding osreldate.

sys/cpu/i386/include/elf.h
sys/cpu/x86_64/include/elf.h
sys/kern/imgact_elf.c

index d1e0724..38ffaeb 100644 (file)
@@ -96,7 +96,7 @@ __ElfType(Auxinfo);
 
 /*
  * The following non-standard values are used in Linux ELF binaries.
- * Types 16 - 23 are not implemented in the kernel
+ * Types 16-17 and 19-23 are not implemented in the kernel
  */
 #define        AT_NOTELF       10      /* Program is not ELF ?? */
 #define        AT_UID          11      /* Real uid. */
index 56a1971..1845539 100644 (file)
@@ -95,7 +95,7 @@ __ElfType(Auxinfo);
 
 /*
  * The following non-standard values are used in Linux ELF binaries.
- * Types 16 - 23 are not implemented in the kernel
+ * Types 16-17 and 19-23 are not implemented in the kernel
  */
 #define        AT_NOTELF       10      /* Program is not ELF ?? */
 #define        AT_UID          11      /* Real uid. */
index f8298cf..287eb84 100644 (file)
@@ -875,6 +875,7 @@ __elfN(dragonfly_fixup)(register_t **stack_base, struct image_params *imgp)
        AUXARGS_ENTRY(pos, AT_BASE, args->base);
        if (imgp->execpathp != 0)
                AUXARGS_ENTRY(pos, AT_EXECPATH, imgp->execpathp);
+       AUXARGS_ENTRY(pos, AT_OSRELDATE, osreldate);
        AUXARGS_ENTRY(pos, AT_NULL, 0);
 
        kfree(imgp->auxargs, M_TEMP);