Bug 5847

Summary: client-side code needs to be moved out of xserver because of XID size mismatches on 64bit arch
Product: xorg Reporter: Igor V. Kovalenko <garrison>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high Keywords: janitor
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Igor V. Kovalenko 2006-02-10 01:45:56 UTC
client-side code needs to be moved out of xserver because of XID size mismatches

For example, on amd64 the xorgcfg program is unusable because it receives
server-side typedef for XID (int32) and calls client-side library function from
libXt which has client-side typedef for XID (int64)

The solutions seem to be
1. Clean up the typedefs, so client and server side would agree:
  a) change client-side typedefs to match current server-side
     Keep server ABI, break client ABI - extremely undesireable
  b) change server-side typedefs to match current client-side
     Break server ABI, keep client ABI - somewhat undesireable

2. Fix every client-side app of xserver package
  Noone seems to care :)

3. Move client-side apps out of xserver package
  No issues with ABI

Thus last solution seems to be the best choice.
Comment 1 Alan Coopersmith 2006-02-10 02:29:13 UTC
The reason most of those apps are in xserver is because they use code from the
xfree86 ddx directly - doing this properly means removing those dependencies or
making the code they use into shared libraries with a defined API available to
both the server & clients.   The current discussion around replacing the PCI
probe functions with such a library is one example - with that, scanpci may be
able to move out of the xserver build.
Comment 2 Daniel Stone 2007-02-27 01:30:23 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 3 Alan Coopersmith 2009-09-07 01:32:21 UTC
xorgcfg (an X client), and the non-X-client utilities scanpci & xorgconfig
are all now removed from the X server.    The remaining utilities gtf & cvt
are command line utilities, not X clients.   X client code remains in the
Xnest, Xdmx & Xephyr programs, but as those are both clients & servers, that's
unavoidable, and have to be carefully coded to keep server & client types
straight.    Closing as fixed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.