SiS driver fails to build (patch included)

Matthias Hopf mhopf at suse.de
Tue Aug 16 09:29:02 PDT 2005


On Aug 11, 05 14:44:51 +0200, Thomas Winischhofer wrote:
> > the SiS driver currently fails to build due to a missing
> > #include <setjmp.h>. It also redefines BUFSIZ (from stdio) with an own,
> > personal, buffer size - without ever using it.
> 
> What are you talking about? BUFSIZ is used at several places all over
> sis_memcpy.c.

Hm.
Must have been to late, you're right...
Maybe I continuously typed it wrong when searching.

> And I never saw any problem with setjmp.h either.... what platform/os
> are you compiling on, and with what compiler?

This is strange. But maybe gcc 4.0.1 changed a bit, and setjump.h isn't
included by stdlib.h or equivalent headers any more.

SuSE 9.3, i686, gcc 4.0.1 20050529

sis_memcpy.c 1.19:

  sis_memcpy.c:44:1: warning: "BUFSIZ" redefined
  In file included from ../../../../../../programs/Xserver/hw/xfree86/os-support/xf86_ansic.h:328,
                   from sis.h:76,
                   from sis_memcpy.c:34:
  /usr/include/stdio.h:105:1: warning: this is the location of the previous definition
  sis_memcpy.c:846: error: syntax error before ‘sigill_return’
  sis_memcpy.c:846: warning: type defaults to ‘int’ in declaration of ‘sigill_return’
  sis_memcpy.c:846: warning: data definition has no type or storage class
  sis_memcpy.c: In function ‘sigill_handler’:
  sis_memcpy.c:850: warning: implicit declaration of function ‘longjmp’
  sis_memcpy.c:850: warning: nested extern declaration of ‘longjmp’
  sis_memcpy.c: In function ‘CheckOSforSSE’:
  sis_memcpy.c:865: warning: implicit declaration of function ‘setjmp’
  sis_memcpy.c:865: warning: nested extern declaration of ‘setjmp’

... due to missing #include <setjmp.h>
After including:

  sis_memcpy.c:45:1: warning: "BUFSIZ" redefined
  In file included from ../../../../../../programs/Xserver/hw/xfree86/os-support/xf86_ansic.h:328,
                   from sis.h:76,
                   from sis_memcpy.c:34:
  /usr/include/stdio.h:105:1: warning: this is the location of the previous definition

... due to BUFSIZ redefinition.
Now: sis_memcpy.c 1.21, still:

  sis_memcpy.c:846: error: syntax error before ‘sigill_return’
  [...]

So please apply the first part of my patch (as attached - manually edited, but applies with fuzz).

Thanks

Matthias

-- 
Matthias Hopf <mhopf at suse.de>       __        __   __
Maxfeldstr. 5 / 90409 Nuernberg    (_   | |  (_   |__         mat at mshopf.de
Phone +49-911-74053-715            __)  |_|  __)  |__  labs   www.mshopf.de

-------------------------> CUT <-------------------------
Index: programs/Xserver/hw/xfree86/drivers/sis/sis_memcpy.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_memcpy.c,v
retrieving revision 1.19
diff -u -p -r1.19 sis_memcpy.c
--- programs/Xserver/hw/xfree86/drivers/sis/sis_memcpy.c	11 Jul 2005 02:29:59 -0000	1.19
+++ programs/Xserver/hw/xfree86/drivers/sis/sis_memcpy.c	11 Aug 2005 09:32:18 -0000
@@ -32,6 +32,7 @@
 #endif
 
 #include "sis.h"
+#include <setjmp.h>
 
 #if 0			/* Debug */
 #define SISDGBMC



More information about the xorg mailing list