Page MenuHomeFreeBSD

D12290.diff
No OneTemporary

D12290.diff

Index: head/sys/arm/include/elf.h
===================================================================
--- head/sys/arm/include/elf.h
+++ head/sys/arm/include/elf.h
@@ -85,8 +85,9 @@
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
#define AT_STACKPROT 23 /* Initial stack protection. */
#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 25 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
#define R_ARM_COUNT 33 /* Count of defined relocation types. */
Index: head/sys/arm64/include/elf.h
===================================================================
--- head/sys/arm64/include/elf.h
+++ head/sys/arm64/include/elf.h
@@ -90,8 +90,10 @@
#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
#define AT_STACKPROT 23 /* Initial stack protection. */
+#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 24 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
/* Define "machine" characteristics */
#define ELF_TARG_CLASS ELFCLASS64
Index: head/sys/kern/imgact_elf.c
===================================================================
--- head/sys/kern/imgact_elf.c
+++ head/sys/kern/imgact_elf.c
@@ -1110,9 +1110,7 @@
AUXARGS_ENTRY(pos, AT_FLAGS, args->flags);
AUXARGS_ENTRY(pos, AT_ENTRY, args->entry);
AUXARGS_ENTRY(pos, AT_BASE, args->base);
-#ifdef AT_EHDRFLAGS
AUXARGS_ENTRY(pos, AT_EHDRFLAGS, args->hdr_eflags);
-#endif
if (imgp->execpathp != 0)
AUXARGS_ENTRY(pos, AT_EXECPATH, imgp->execpathp);
AUXARGS_ENTRY(pos, AT_OSRELDATE,
@@ -1133,6 +1131,8 @@
AUXARGS_ENTRY(pos, AT_STACKPROT, imgp->sysent->sv_shared_page_obj
!= NULL && imgp->stack_prot != 0 ? imgp->stack_prot :
imgp->sysent->sv_stackprot);
+ if (imgp->sysent->sv_hwcap != NULL)
+ AUXARGS_ENTRY(pos, AT_HWCAP, *imgp->sysent->sv_hwcap);
AUXARGS_ENTRY(pos, AT_NULL, 0);
free(imgp->auxargs, M_TEMP);
Index: head/sys/mips/include/elf.h
===================================================================
--- head/sys/mips/include/elf.h
+++ head/sys/mips/include/elf.h
@@ -144,8 +144,10 @@
#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
#define AT_STACKPROT 23 /* Initial stack protection. */
+#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 24 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
#define ET_DYN_LOAD_ADDR 0x0120000
Index: head/sys/powerpc/include/elf.h
===================================================================
--- head/sys/powerpc/include/elf.h
+++ head/sys/powerpc/include/elf.h
@@ -107,8 +107,10 @@
#define AT_PAGESIZESLEN 19 /* Number of pagesizes. */
#define AT_STACKPROT 21 /* Initial stack protection. */
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
+#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 23 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
/*
* Relocation types.
Index: head/sys/riscv/include/elf.h
===================================================================
--- head/sys/riscv/include/elf.h
+++ head/sys/riscv/include/elf.h
@@ -90,8 +90,10 @@
#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
#define AT_STACKPROT 23 /* Initial stack protection. */
+#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 24 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
/* Define "machine" characteristics */
#define ELF_TARG_CLASS ELFCLASS64
Index: head/sys/sparc64/include/elf.h
===================================================================
--- head/sys/sparc64/include/elf.h
+++ head/sys/sparc64/include/elf.h
@@ -92,8 +92,10 @@
#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
#define AT_STACKPROT 23 /* Initial stack protection. */
+#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 24 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
/* Define "machine" characteristics */
#if __ELF_WORD_SIZE == 32
Index: head/sys/sys/sysent.h
===================================================================
--- head/sys/sys/sysent.h
+++ head/sys/sys/sysent.h
@@ -129,6 +129,7 @@
void (*sv_schedtail)(struct thread *);
void (*sv_thread_detach)(struct thread *);
int (*sv_trap)(struct thread *);
+ u_long *sv_hwcap; /* Value passed in AT_HWCAP. */
};
#define SV_ILP32 0x000100 /* 32-bit executable. */
Index: head/sys/x86/include/elf.h
===================================================================
--- head/sys/x86/include/elf.h
+++ head/sys/x86/include/elf.h
@@ -100,8 +100,10 @@
#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
#define AT_TIMEKEEP 22 /* Pointer to timehands. */
#define AT_STACKPROT 23 /* Initial stack protection. */
+#define AT_EHDRFLAGS 24 /* e_flags field from elf hdr */
+#define AT_HWCAP 25 /* CPU feature flags. */
-#define AT_COUNT 24 /* Count of defined aux entry types. */
+#define AT_COUNT 26 /* Count of defined aux entry types. */
/*
* Relocation types.

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 11, 7:10 PM (17 m, 37 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25173326
Default Alt Text
D12290.diff (5 KB)

Event Timeline