diff options
author | dfr <dfr@FreeBSD.org> | 1998-06-07 17:13:14 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-06-07 17:13:14 +0000 |
commit | 1d5f38ac2264102518a09c66a7b285f57e81e67e (patch) | |
tree | 83ce2f0e2b8041d2c933d3beffc1f4465ea5b929 /sys/sys/imgact_elf.h | |
parent | 83423d0e5a4ad035e44392f0427cb39232031e45 (diff) | |
download | FreeBSD-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.h | 37 |
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_ */ |