Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Feb 2004 00:26:58 +0100 (CET)
From:      Christian Weisgerber <naddy@mips.inka.de>
To:        freebsd-alpha@FreeBSD.org
Subject:   Re: XFree86-Server-4.3.0_12 broken on alpha 5.x
Message-ID:  <200402112326.i1BNQwWZ036383@kemoauc.mips.inka.de>
References:  <20040209114613.GA13705@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kris Kennaway <kris@obsecurity.org> wrote:

> http://bento.freebsd.org/errorlogs/alpha-5-latest/XFree86-Server-4.3.0_12.log

This also affects XFree86-4.3.99.15_1.  It is caused by revision
1.7 of <include/sysarch.h>, which now declares

int             sysarch(int, void *);


By contrast, xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c
has this:

#ifdef __FreeBSD__
extern int sysarch(int, char *);
#endif

..

static int
sethae(u_int64_t hae)
{
#ifdef __FreeBSD__
#ifndef ALPHA_SETHAE
#define ALPHA_SETHAE 0
#endif
        struct parms p;
        p.hae = hae;
        return (sysarch(ALPHA_SETHAE, (char *)&p));
#endif


Is there a problem with just moving to void* in alpha_video.c?  It
should still work fine on 4.x.

--- programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c.orig	Thu Feb 12 00:21:27 2004
+++ programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c	Thu Feb 12 00:21:46 2004
@@ -483,7 +483,7 @@
 writeSparse32(int Value, pointer Base, register unsigned long Offset);
 
 #ifdef __FreeBSD__
-extern int sysarch(int, char *);
+extern int sysarch(int, void *);
 #endif
 
 struct parms {
@@ -499,7 +499,7 @@
 #endif
 	struct parms p;
 	p.hae = hae;
-	return (sysarch(ALPHA_SETHAE, (char *)&p));
+	return (sysarch(ALPHA_SETHAE, &p));
 #endif
 #ifdef __OpenBSD__
 	return -1;
-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402112326.i1BNQwWZ036383>