2.6.9-rc1 linux/fb.h (was: cvs compile failed: fbdev)

2004-09-09 Thread Marc Aurele La France
On Mon, 6 Sep 2004, Marc Aurele La France wrote:
On Mon, 6 Sep 2004, Michael Lampe wrote:
Marc Aurele La France wrote:

... In both cases, this is a kernel issue.

They will tell you it's not:

/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace

Irrelevant.  The #include linux/list.h is only there in an attempt to 
resolve the type of the inserted kernel memory list pointer.

I don't know how to handle this properly, though.

Don't assume problems with test kernels need to be resolved here.

You didn't get it. Including linux kernel headers in user space is a no no. 
See various threads about this on LKML. Bottom line: If you include kernel 
headers and your app breaks it's your fault not ours.

Leave religion out of this.

1) Xfbdev has always been Linux-specific.
2) Driving /dev/fb* as anything other than a dumb framebuffer isn't possible
  without linux/fb.h's ioctl's.

rc1 is broken WRT this problem.  Fix this there.
Now that I have more time to deal with this issue, let's recap/clarify:
I agree with you that asm/ headers should normally not be #include'd by apps. 
I also think allowing (forcing, in this case) userland to #include 
linux/list.h sets a dangerous precedent.

But this is about 2.6.9-rc1's linux/fb.h, a header that provides ioctl's 
(userland stuff) and therefore disallowing its use from userland is not an 
option.

It turns out that the fb_monspecs structure modified by rc1 is not 
ioctl-visible.  Thus to fix this problem, it should be sufficient to bracket 
the fb_manspecs  fb_chroma structure definitions and the #include 
linux/list.h with __KERNEL__, which is what the attached patch against rc1 
does.  This also deletes a duplicate function declaration in linux/fb.h.

I am cc'ing this to those who vouched for the problem change to be included in 
rc1.

Thanks.
Marc.
+--+---+
|  Marc Aurele La France   |  work:   1-780-492-9310   |
|  Computing and Network Services  |  fax:1-780-492-1729   |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]  |
|  University of Alberta   +---+
|  Edmonton, Alberta   |   |
|  T6G 2H1 | Standard disclaimers apply|
|  CANADA  |   |
+--+---+
XFree86 developer and VP.  ATI driver and X server internals.

fb.diff.gz
Description: Binary data


Re: 2.6.9-rc1 linux/fb.h (was: cvs compile failed: fbdev)

2004-09-09 Thread Andrew Morton
Marc Aurele La France [EMAIL PROTECTED] wrote:

 
 [fb.diff.gz  APPLICATION/octet-stream (1178 bytes)]

gack, please send patches as inline text or, if you must, text/plain
attachments.

Tony, could you please process this one, send it back at us?
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: 2.6.9-rc1 linux/fb.h (was: cvs compile failed: fbdev)

2004-09-09 Thread Antonino A. Daplas
On Friday 10 September 2004 03:11, Andrew Morton wrote:
 Marc Aurele La France [EMAIL PROTECTED] wrote:
  [fb.diff.gz  APPLICATION/octet-stream (1178 bytes)]

 gack, please send patches as inline text or, if you must, text/plain
 attachments.

 Tony, could you please process this one, send it back at us?

Actually, someone might have planned to expose struct fb_monspecs to
userspace, the ioctls are present but commented, probably the reason why this
structure is not enclosed in an #ifdef __KERNEL__.

/* #define FBIOGET_MONITORSPEC  0x460C */
/* #define FBIOPUT_MONITORSPEC  0x460D */

Anyway, someone already reported this to the fbdev-devel list and I agreed to
fix this by moving struct list_head modelist out of struct fb_monspecs instead.

Will submit a patch soon enough.

Tony 


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-06 Thread Michael Lampe
Marc Aurele La France wrote:
They came straigt from linux-2.6.9rc1.

I realized that the cvs compiles fine with linux-2.4, but not the fbdev 
doesn't compile under 2.6.9rc1.
rc1 inserts a pointer to kernel memory into the middle of the fb_monspecs 
structure. So, either more of linux/fb.h needs to bracketed with #ifndef 
__KERNEL__, or rc1 breaks userland binary compatibility (among other things). 
In both cases, this is a kernel issue.
They will tell you it's not:
/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace

I don't know how to handle this properly, though.
-Michael
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-06 Thread Marc Aurele La France
On Mon, 6 Sep 2004, Michael Lampe wrote:
Marc Aurele La France wrote:

They came straigt from linux-2.6.9rc1.

I realized that the cvs compiles fine with linux-2.4, but not the fbdev 
doesn't compile under 2.6.9rc1.

rc1 inserts a pointer to kernel memory into the middle of the fb_monspecs 
structure. So, either more of linux/fb.h needs to bracketed with #ifndef 
__KERNEL__, or rc1 breaks userland binary compatibility (among other 
things). In both cases, this is a kernel issue.

They will tell you it's not:

/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace
Irrelevant.  The #include linux/list.h is only there in an attempt to resolve 
the type of the inserted kernel memory list pointer.

I don't know how to handle this properly, though.
Don't assume problems with test kernels need to be resolved here.
Marc.
+--+---+
|  Marc Aurele La France   |  work:   1-780-492-9310   |
|  Computing and Network Services  |  fax:1-780-492-1729   |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]  |
|  University of Alberta   +---+
|  Edmonton, Alberta   |   |
|  T6G 2H1 | Standard disclaimers apply|
|  CANADA  |   |
+--+---+
XFree86 developer and VP.  ATI driver and X server internals.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-06 Thread Michael Lampe
Marc Aurele La France wrote:
... In both cases, this is a kernel issue.

They will tell you it's not:

/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace
Irrelevant.  The #include linux/list.h is only there in an attempt to resolve 
the type of the inserted kernel memory list pointer.

I don't know how to handle this properly, though.
Don't assume problems with test kernels need to be resolved here.
You didn't get it. Including linux kernel headers in user space is a no 
no. See various threads about this on LKML. Bottom line: If you include 
kernel headers and your app breaks it's your fault not ours.

-Michael
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-06 Thread Marc Aurele La France
On Mon, 6 Sep 2004, Michael Lampe wrote:
Marc Aurele La France wrote:

... In both cases, this is a kernel issue.

They will tell you it's not:

/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace

Irrelevant.  The #include linux/list.h is only there in an attempt to 
resolve the type of the inserted kernel memory list pointer.

I don't know how to handle this properly, though.

Don't assume problems with test kernels need to be resolved here.

You didn't get it. Including linux kernel headers in user space is a no no. 
See various threads about this on LKML. Bottom line: If you include kernel 
headers and your app breaks it's your fault not ours.
Leave religion out of this.
1) Xfbdev has always been Linux-specific.
2) Driving /dev/fb* as anything other than a dumb framebuffer isn't possible
   without linux/fb.h's ioctl's.
rc1 is broken WRT this problem.  Fix this there.
Marc.
+--+---+
|  Marc Aurele La France   |  work:   1-780-492-9310   |
|  Computing and Network Services  |  fax:1-780-492-1729   |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]  |
|  University of Alberta   +---+
|  Edmonton, Alberta   |   |
|  T6G 2H1 | Standard disclaimers apply|
|  CANADA  |   |
+--+---+
XFree86 developer and VP.  ATI driver and X server internals.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-04 Thread Jeff Chua
On Fri, 3 Sep 2004, Marc Aurele La France wrote:
I don't know what the problem is, but it does seem that under 
/usr/include/linux, your fb.h and list.h are not what they should be.
They came straigt from linux-2.6.9rc1.
I realized that the cvs compiles fine with linux-2.4, but not the fbdev 
doesn't compile under 2.6.9rc1.

Jeff
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-04 Thread Marc Aurele La France
On Sat, 4 Sep 2004, Jeff Chua wrote:
On Fri, 3 Sep 2004, Marc Aurele La France wrote:

I don't know what the problem is, but it does seem that under 
/usr/include/linux, your fb.h and list.h are not what they should be.

They came straigt from linux-2.6.9rc1.

I realized that the cvs compiles fine with linux-2.4, but not the fbdev 
doesn't compile under 2.6.9rc1.
rc1 inserts a pointer to kernel memory into the middle of the fb_monspecs 
structure. So, either more of linux/fb.h needs to bracketed with #ifndef 
__KERNEL__, or rc1 breaks userland binary compatibility (among other things). 
In both cases, this is a kernel issue.

Marc.
+--+---+
|  Marc Aurele La France   |  work:   1-780-492-9310   |
|  Computing and Network Services  |  fax:1-780-492-1729   |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]  |
|  University of Alberta   +---+
|  Edmonton, Alberta   |   |
|  T6G 2H1 | Standard disclaimers apply|
|  CANADA  |   |
+--+---+
XFree86 developer and VP.  ATI driver and X server internals.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed: fbdev

2004-09-03 Thread Marc Aurele La France
On Mon, 30 Aug 2004, Jeff Chua wrote:
latest cvs has this problem. Just downloaded today.

gcc -c -O2 -fno-strength-reduce -ansi -Wall -Wpointer-arith 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations 
-Wredundant-decls -Wnested-externs -Wundef 
-I../../../../../programs/Xserver/hw/tinyx 
-I../../../../../programs/Xserver/hw/tinyx/linux 
-I../../../../../exports/include/X11 -I../../../../../include/fonts 
-I../../../../../programs/Xserver/fb -I../../../../../programs/Xserver/mi 
-I../../../../../programs/Xserver/Xext 
-I../../../../../programs/Xserver/miext/shadow 
-I../../../../../programs/Xserver/miext/layer 
-I../../../../../programs/Xserver/include 
-I../../../../../programs/Xserver/os -I../../../../../include/extensions 
-I../../../../../exports/include/X11 -I../../../../../programs/Xserver/render 
-I../../../../../programs/Xserver/randr -I.  -I../../../../.. 
-I../../../../../exports/include   -Dlinux -D__i386__ 
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE 
-D_SVID_SOURCE  -D_GNU_SOURCE  -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP 
-DXCSECURITY -DTOGCUP  -DXF86BIGFONT -DDPMSExtension  -DPIXPRIV -DPANORAMIX 
-DRENDER -DRANDR -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH 
-DXFreeXDGA -DXvExtension -DXFree86LOADER  -DXFree86Server -DXF86VIDMODE 
-DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension 
-DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG   -DFUNCPROTO=15 -DNARROWPROTO 
-DXIPAQ   fbdev.c
In file included from /usr/include/linux/fb.h:5,
from fbdev.h:28,
from fbdev.c:70:
/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace
In file included from fbdev.h:28,
from fbdev.c:70:
/usr/include/linux/fb.h:286: field `modelist' has incomplete type
In file included from fbdev.h:29,
from fbdev.c:70:
/usr/include/unistd.h:966: warning: redundant redeclaration of `ctermid' in 
same scope
/usr/include/stdio.h:585: warning: previous declaration of `ctermid'
In file included from /usr/include/string.h:360,
from ../../../../../exports/include/X11/Xos.h:93,
from ../../../../../programs/Xserver/hw/tinyx/tinyx.h:74,
from fbdev.h:31,
from fbdev.c:70:
/usr/include/bits/string2.h: In function `__mempcpy_small':
/usr/include/bits/string2.h:250: warning: pointer of type `void *' used in 
arithmetic
/usr/include/bits/string2.h:254: warning: pointer of type `void *' used in 
arithmetic
/usr/include/bits/string2.h:258: warning: pointer of type `void *' used in 
arith
fbdev.c: In function `fbdevScreenInit':
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
make[5]: *** [fbdev.o] Error 1
make[5]: Leaving directory 
`/v6/src2/xfree86/xc/programs/Xserver/hw/tinyx/fbdev'
make[4]: *** [hw/tinyx/fbdev] Error 2
make[4]: Leaving directory `/v6/src2/xfree86/xc/programs/Xserver'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/v6/src2/xfree86/xc/programs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/v6/src2/xfree86/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/v6/src2/xfree86/xc'
make: *** [World] Error 2
I don't know what the problem is, but it does seem that under 
/usr/include/linux, your fb.h and list.h are not what they should be.

Marc.
+--+---+
|  Marc Aurele La France   |  work:   1-780-492-9310   |
|  Computing and Network Services  |  fax:1-780-492-1729   |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]  |
|  University of Alberta   +---+
|  Edmonton, Alberta   |   |
|  T6G 2H1 | Standard disclaimers apply|
|  CANADA  |   |
+--+---+
XFree86 developer and VP.  ATI driver and X server internals.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


cvs compile failed: fbdev

2004-08-29 Thread Jeff Chua
latest cvs has this problem. Just downloaded today.
gcc -c -O2 -fno-strength-reduce -ansi -Wall -Wpointer-arith 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations 
-Wredundant-decls -Wnested-externs -Wundef 
-I../../../../../programs/Xserver/hw/tinyx 
-I../../../../../programs/Xserver/hw/tinyx/linux 
-I../../../../../exports/include/X11 -I../../../../../include/fonts 
-I../../../../../programs/Xserver/fb -I../../../../../programs/Xserver/mi 
-I../../../../../programs/Xserver/Xext 
-I../../../../../programs/Xserver/miext/shadow 
-I../../../../../programs/Xserver/miext/layer 
-I../../../../../programs/Xserver/include 
-I../../../../../programs/Xserver/os 
-I../../../../../include/extensions -I../../../../../exports/include/X11 
-I../../../../../programs/Xserver/render 
-I../../../../../programs/Xserver/randr -I.  -I../../../../.. 
-I../../../../../exports/include   -Dlinux -D__i386__ 
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE 
-D_SVID_SOURCE  -D_GNU_SOURCE  -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP 
-DXCSECURITY -DTOGCUP  -DXF86BIGFONT -DDPMSExtension  -DPIXPRIV 
-DPANORAMIX  -DRENDER -DRANDR -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV 
-DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER  -DXFree86Server 
-DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG 
-DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG   -DFUNCPROTO=15 
-DNARROWPROTO   -DXIPAQ   fbdev.c
In file included from /usr/include/linux/fb.h:5,
 from fbdev.h:28,
 from fbdev.c:70:
/usr/include/linux/list.h:700: warning: #warning don't include kernel 
headers in userspace
In file included from fbdev.h:28,
 from fbdev.c:70:
/usr/include/linux/fb.h:286: field `modelist' has incomplete type
In file included from fbdev.h:29,
 from fbdev.c:70:
/usr/include/unistd.h:966: warning: redundant redeclaration of `ctermid' 
in same scope
/usr/include/stdio.h:585: warning: previous declaration of `ctermid'
In file included from /usr/include/string.h:360,
 from ../../../../../exports/include/X11/Xos.h:93,
 from ../../../../../programs/Xserver/hw/tinyx/tinyx.h:74,
 from fbdev.h:31,
 from fbdev.c:70:
/usr/include/bits/string2.h: In function `__mempcpy_small':
/usr/include/bits/string2.h:250: warning: pointer of type `void *' used in 
arithmetic
/usr/include/bits/string2.h:254: warning: pointer of type `void *' used in 
arithmetic
/usr/include/bits/string2.h:258: warning: pointer of type `void *' used in 
arith
fbdev.c: In function `fbdevScreenInit':
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
fbdev.c:270: warning: pointer of type `void *' used in arithmetic
make[5]: *** [fbdev.o] Error 1
make[5]: Leaving directory 
`/v6/src2/xfree86/xc/programs/Xserver/hw/tinyx/fbdev'
make[4]: *** [hw/tinyx/fbdev] Error 2
make[4]: Leaving directory `/v6/src2/xfree86/xc/programs/Xserver'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/v6/src2/xfree86/xc/programs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/v6/src2/xfree86/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/v6/src2/xfree86/xc'
make: *** [World] Error 2

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel