From 1d5f38ac2264102518a09c66a7b285f57e81e67e Mon Sep 17 00:00:00 2001 From: dfr Date: Sun, 7 Jun 1998 17:13:14 +0000 Subject: 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. --- sys/alpha/linux/linux_sysvec.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'sys/alpha/linux/linux_sysvec.c') diff --git a/sys/alpha/linux/linux_sysvec.c b/sys/alpha/linux/linux_sysvec.c index 798d9a9..f63b9aa 100644 --- a/sys/alpha/linux/linux_sysvec.c +++ b/sys/alpha/linux/linux_sysvec.c @@ -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: linux_sysvec.c,v 1.28 1998/04/28 18:15:06 eivind Exp $ + * $Id: linux_sysvec.c,v 1.29 1998/05/07 00:42:25 eivind Exp $ */ /* XXX we use functions that might not exist. */ @@ -56,9 +56,9 @@ #include #include -static int linux_fixup __P((int **stack_base, +static int linux_fixup __P((long **stack_base, struct image_params *iparams)); -static int elf_linux_fixup __P((int **stack_base, +static int elf_linux_fixup __P((long **stack_base, struct image_params *iparams)); static void linux_prepsyscall __P((struct trapframe *tf, int *args, u_int *code, caddr_t *params)); @@ -119,26 +119,26 @@ translate_traps(int signal, int trap_code) } static int -linux_fixup(int **stack_base, struct image_params *imgp) +linux_fixup(long **stack_base, struct image_params *imgp) { - int *argv, *envp; + long *argv, *envp; argv = *stack_base; envp = *stack_base + (imgp->argc + 1); (*stack_base)--; - **stack_base = (int)envp; + **stack_base = (long)envp; (*stack_base)--; - **stack_base = (int)argv; + **stack_base = (long)argv; (*stack_base)--; - **stack_base = (int)imgp->argc; + **stack_base = (long)imgp->argc; return 0; } static int -elf_linux_fixup(int **stack_base, struct image_params *imgp) +elf_linux_fixup(long **stack_base, struct image_params *imgp) { Elf32_Auxargs *args = (Elf32_Auxargs *)imgp->auxargs; - int *pos; + long *pos; pos = *stack_base + (imgp->argc + imgp->envc + 2); @@ -165,7 +165,7 @@ elf_linux_fixup(int **stack_base, struct image_params *imgp) imgp->auxargs = NULL; (*stack_base)--; - **stack_base = (int)imgp->argc; + **stack_base = (long)imgp->argc; return 0; } @@ -316,7 +316,7 @@ linux_sigreturn(p, args) * It is unsafe to keep track of it ourselves, in the event that a * program jumps out of a signal handler. */ - scp = args->scp; + scp = SCARG(args,scp); if (copyin((caddr_t)scp, &context, sizeof(*scp)) != 0) return (EFAULT); -- cgit v1.1