summaryrefslogtreecommitdiffstats
path: root/sys/sys/imgact_elf.h
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1998-06-07 17:13:14 +0000
committerdfr <dfr@FreeBSD.org>1998-06-07 17:13:14 +0000
commit1d5f38ac2264102518a09c66a7b285f57e81e67e (patch)
tree83ce2f0e2b8041d2c933d3beffc1f4465ea5b929 /sys/sys/imgact_elf.h
parent83423d0e5a4ad035e44392f0427cb39232031e45 (diff)
downloadFreeBSD-src-1d5f38ac2264102518a09c66a7b285f57e81e67e.zip
FreeBSD-src-1d5f38ac2264102518a09c66a7b285f57e81e67e.tar.gz
This commit fixes various 64bit portability problems required for
FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
Diffstat (limited to 'sys/sys/imgact_elf.h')
-rw-r--r--sys/sys/imgact_elf.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h
index b9e69f9..45ea759 100644
--- a/sys/sys/imgact_elf.h
+++ b/sys/sys/imgact_elf.h
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: imgact_elf.h,v 1.5 1997/05/21 23:07:31 jdp Exp $
+ * $Id: imgact_elf.h,v 1.6 1997/09/07 05:27:11 bde Exp $
*/
#ifndef _SYS_IMGACT_ELF_H_
@@ -37,6 +37,8 @@
#define AUXARGS_ENTRY(pos, id, val) {suword(pos++, id); suword(pos++, val);}
+#if ELF_TARG_CLASS == ELFCLASS32
+
/*
* Structure used to pass infomation from the loader to the
* stack fixup routine.
@@ -65,6 +67,39 @@ typedef struct {
int elf_insert_brand_entry __P((Elf32_Brandinfo *entry));
int elf_remove_brand_entry __P((Elf32_Brandinfo *entry));
+#else
+
+/*
+ * Structure used to pass infomation from the loader to the
+ * stack fixup routine.
+ */
+typedef struct {
+ Elf64_Sword execfd;
+ Elf64_Word phdr;
+ Elf64_Word phent;
+ Elf64_Word phnum;
+ Elf64_Word pagesz;
+ Elf64_Word base;
+ Elf64_Word flags;
+ Elf64_Word entry;
+ Elf64_Word trace;
+} Elf64_Auxargs;
+
+typedef struct {
+ char *brand;
+ char *emul_path;
+ char *interp_path;
+ struct sysentvec *sysvec;
+} Elf64_Brandinfo;
+
+#define MAX_BRANDS 8
+
+int elf_insert_brand_entry __P((Elf64_Brandinfo *entry));
+int elf_remove_brand_entry __P((Elf64_Brandinfo *entry));
+
+#endif
+
+
#endif /* KERNEL */
#endif /* !_SYS_IMGACT_ELF_H_ */
OpenPOWER on IntegriCloud