I guess you mean screen->BlockHandler instead of pScreen->BlockHandler which isn't defined? After recompiling also the intel-driver with -O0 (with -O1, gdb eats 100% cpu when continuing after the watchpoint is set), the following results: [root@utahraptor ~]# gdb X GNU gdb (GDB) 7.4 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /usr/bin/X...done. (gdb) break I830ScreenInit Function "I830ScreenInit" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (I830ScreenInit) pending. (gdb) run Starting program: /usr/bin/X [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". X.Org X Server 1.12.0 Release Date: 2012-03-04 X Protocol Version 11, Revision 0 Build Operating System: Linux 3.2.11-1-ARCH x86_64 Current Operating System: Linux utahraptor 3.2.11-1-ARCH #1 SMP PREEMPT Thu Mar 15 09:19:02 CET 2012 x86_64 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=/dev/mapper/ssdvg-arch ro quiet Build Date: 19 March 2012 10:45:43AM Current version of pixman: 0.24.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 19 11:38:53 2012 (==) Using config directory: "/etc/X11/xorg.conf.d" [tcsetpgrp failed in terminal_inferior: Die Operation ist nicht erlaubt] Breakpoint 1, I830ScreenInit (scrnIndex=0, screen=0x9d9aa0, argc=1, argv=0x7fff084ed4a8) at intel_driver.c:924 924 ScrnInfoPtr scrn = xf86Screens[screen->myNum]; (gdb) watch screen->BlockHandler Hardware watchpoint 2: screen->BlockHandler (gdb) continue Continuing. Hardware watchpoint 2: screen->BlockHandler Old value = (ScreenBlockHandlerProcPtr) 0 New value = (ScreenBlockHandlerProcPtr) 0x4352df miScreenInit (pScreen=0x9d9aa0, pbits=0x0, xsize=, ysize=, dpix=, dpiy=, width=1920, rootDepth=24, numDepths=7, depths=0x9d92e0, rootVisual=33, numVisuals=2, visuals=0x9d5e00) at miscrinit.c:267 267 pScreen->WakeupHandler = (ScreenWakeupHandlerProcPtr)NoopDDA; (gdb) c Continuing. Hardware watchpoint 2: screen->BlockHandler Old value = (ScreenBlockHandlerProcPtr) 0x4352df New value = (ScreenBlockHandlerProcPtr) 0x4ab155 0x00000000004ab9d7 in xf86CrtcRotate (crtc=0x9cfc90) at xf86Rotate.c:475 475 pScreen->BlockHandler = xf86RotateBlockHandler; (gdb) c Continuing. Hardware watchpoint 2: screen->BlockHandler Old value = (ScreenBlockHandlerProcPtr) 0x4ab155 New value = (ScreenBlockHandlerProcPtr) 0x7fa066d73c1e I830ScreenInit (scrnIndex=0, screen=0x9d9aa0, argc=1, argv=0x7fff084ed4a8) at intel_driver.c:1026 1026 if (!AddCallback(&FlushCallback, intel_flush_callback, scrn)) (gdb) c Continuing. Watchpoint 2 deleted because the program has left the block in which its expression is valid. 0x0000000000431e27 in AddScreen (pfnInit=0x7fa066d741f6 , argc=1, argv=0x7fff084ed4a8) at dispatch.c:3909 3909 if (!(*pfnInit)(i, pScreen, argc, argv)) (gdb) c Continuing. The XKEYBOARD keymap compiler (xkbcomp) reports: > Warning: Multiple interpretations of "Caps_Lock+AnyOfOrNone(all)" > Using last definition for duplicate fields > Warning: Multiple interpretations of "Shift_L+AnyOfOrNone(all)" > Using last definition for duplicate fields > Warning: Type "ONE_LEVEL" has 1 levels, but has 4 symbols > Ignoring extra symbols > Warning: Type "ONE_LEVEL" has 1 levels, but has 2 symbols > Ignoring extra symbols > Warning: Type "ONE_LEVEL" has 1 levels, but has 2 symbols > Ignoring extra symbols Errors from xkbcomp are not fatal to the X server Program received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb)