[OPW] Generated swapping and size-checking code integration

Asal Mirzaieva asalle.kim at gmail.com
Mon Feb 16 11:46:47 PST 2015

Hi all,

I am the Outreachy (called before OP, OPW) participant for Xorg 
(www.x.org/wiki/XorgOPW/ <http://www.x.org/wiki/XorgOPW/>) for project 
"Server-side XCB", my task is to write generator for swapping and 
size-checking functions and integrate the generated code into Xsever.

Here is the link tobitbucket <bitbucket.org/AsalleKim/gen_swap_check>. I 
didn't create patch, because in my opinion it's pretty inconvenient to 
send patches with code written from scratch, though it's a powerful tool 
for maintaining already existing code. The repo contains forked xserver 
from main xserver repo <http://cgit.freedesktop.org/xorg/xserver/>. It 
uses some changes in xcb made by Christian Linhart and Jaya Tiwari, the 
changes are in pending patches and will be soon applied (if they are not 
already). This mainly touches the valueparam to switch replacement in 
As valueparam is deprecated, the generator, I am working on, does not 
support it.

Generator's code can process almost all extensions, but I am now mainly 
working on Shape and Xproto.
For now it creates source file and header file in the directory 
proto/gen and then they are built with automake (proto/Makefile.am).

There are several things I was not sure about.
1. The working name of the swapping and size-checking functions 
generator is gen_swap_check, which is rather awkward. But I couldn't 
invent anything better.

2. To test the code I need to integrate it to the xserver. I already 
made some changes into Xext/shape.c so it uses the generated code now. 
The Xext/shape.h must include the swapcheck_shape.h (generated one). 
Would it be okay if I copy all generated headers to 
{installdir}/include/xcb, mixing the genswap-generated code and the 
regular code, generated by c_client.py? And copy the compiled 
swapcheck_* files to {installdir}/lib.

3. proto/Makefile.am is written in such way that no make targets are 
declared. How can I add cp commad to it?

4. When building several warnings in included file os.h appeared. How 
can I get rid of them? Or should I ignore them?

/home/asalle/xorg/Debug2/test-install/include/xorg/os.h:541:1: warning: redundant redeclaration of 'strndup' [-Wredundant-decls]
1055  strndup(const  char  *str, size_t n);

This is the short overview of swapping and size-checking functions 
I would be glad to hear your comments and messages about found bugs,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20150216/10001d89/attachment-0001.html>

More information about the xorg-devel mailing list