Thomas Hellström wrote:
Brian Paul wrote:
Tomas Carnecky wrote:
x86_64-pc-linux-gnu-gcc -c -I. -I../../../include
-I../../../include/GL/internal -I../../../src/mesa/main
-I../../../src/mesa/glapi -I../../../src/mesa/drivers/dri/common
`pkg-config --cflags libdrm` -I/usr/X11R6/include -Wall -march=k8
-O2 -pipe -fPIC -m64 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L
-D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS
-DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING
-DHAVE_ALIAS -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER
-DUSE_X86_64_ASM -std=c99 -ffast-math -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DXF86VIDMODE -D_REENTRANT
-UIN_DRI_DRIVER ../../../src/mesa/x86-64/glapi_x86-64.S -o
../../../src/mesa/x86-64/glapi_x86-64.o
../../../src/mesa/x86-64/glapi_x86-64.S:32:22: assyntax.h: No such
file or directory
../../../src/mesa/x86-64/glapi_x86-64.S: Assembler messages:
../../../src/mesa/x86-64/glapi_x86-64.S:85: Error: junk at end of
line, first unrecognized character is `('
../../../src/mesa/x86-64/glapi_x86-64.S:86: Error: unrecognized
symbol type ""
../../../src/mesa/x86-64/glapi_x86-64.S:86: Error: junk at end of
line, first unrecognized character is `('
../../../src/mesa/x86-64/glapi_x86-64.S:87: Error: invalid character
'(' in mnemonic
../../../src/mesa/x86-64/glapi_x86-64.S:119: Error: expected comma
after name `GLNAME' in .size directive
../../../src/mesa/x86-64/glapi_x86-64.S:122: Error: junk at end of
line, first unrecognized character is `('
../../../src/mesa/x86-64/glapi_x86-64.S:123: Error: unrecognized
symbol type ""
../../../src/mesa/x86-64/glapi_x86-64.S:123: Error: junk at end of
line, first unrecognized character is `('
../../../src/mesa/x86-64/glapi_x86-64.S:124: Error: invalid
character '(' in mnemonic
../../../src/mesa/x86-64/glapi_x86-64.S:148: Error: expected comma
after name `GLNAME' in .size directive
../../../src/mesa/x86-64/glapi_x86-64.S:151: Error: junk at end of
line, first unrecognized character is `('
If you copy assyntax.h into the x86-64 directory you can get past
that. Ian's fixed this in CVS.
Another problem you might find is references to redhat system headers
in the 'depend' files. The makefile rules for building the tarballs
should have prevented that but I think something went wrong. If you
rm the depend files you'll be OK.
and this goes on forever...
another (possible) bug:
x86_64-pc-linux-gnu-gcc -c -I. -I../../../include
-I../../../include/GL/internal -I../../../src/mesa/main
-I../../../src/mesa/glapi -I../../../src/mesa/drivers/dri/common
`pkg-config --cflags libdrm` -I/usr/X11R6/include -Wall -march=k8
-O2 -pipe -fPIC -m64 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L
-D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS
-DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING
-DHAVE_ALIAS -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER
-DUSE_X86_64_ASM -std=c99 -ffast-math -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DXF86VIDMODE -D_REENTRANT
-UIN_DRI_DRIVER XF86dri.c -o XF86dri.o
XF86dri.c: In function `XF86DRIOpenConnection':
XF86dri.c:204: warning: left shift count >= width of type
XF86dri.c: In function `XF86DRIGetDeviceInfo':
XF86dri.c:566: warning: left shift count >= width of type
system is: Linux eiger 2.6.14.2 #6 SMP PREEMPT Tue Nov 29 23:10:16
GMT 2005 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
AuthenticAMD GNU/Linux
Yeah, I think code at lines 204 and 566 is bogus.
In drm.h:
#if defined(__linux__)
typedef unsigned int drm_handle_t;
#else
typedef unsigned long drm_handle_t; /**< To mapped regions */
#endif
But in XF86dri.c we have:
*hSAREA = rep.hSAREALow;
#ifdef LONG64
*hSAREA |= ((drm_handle_t)rep.hSAREAHigh) << 32;
#endif
I think this would be better and more robust:
*hSAREA = rep.hSAREALow;
if (sizeof(drm_handle_t) == 8) {
*hSAREA |= ((drm_handle_t) rep.hSAREAHigh) << 32;
}
Any comments from the DRI/DRM guys?
I have been looking at the code as it is present also in the via XvMC
libs.
Seems like the correct solution.
/Thomas
Hmm, apparently I was a bit quick on the answer there. While the
generated code should be correct, the compiler isn't smart enough to
silence the warning. In fact, this should generate a warning even on 32
bit code.
I need to do the following to make it quiet:
#ifdef LONG64
if (sizeof(drm_handle_t) == 8) {
*hFrameBuffer |= ((unsigned long)rep.hFrameBufferHigh) << 32;
}
#endif
-Brian
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through
log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log
files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel