summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/drm/i965/xlib
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2009-11-04 13:59:59 +0000
committerKeith Whitwell <[email protected]>2009-11-04 13:59:59 +0000
commitb549bbb49868702d45fbcf5d75d2c14ffeca692b (patch)
tree99bc8a29c311014bc8872bf4bdb79a34ed02ea14 /src/gallium/winsys/drm/i965/xlib
parentb1d293321458ab00cc809aea4a19f46a256a7f98 (diff)
ws/i965: add butt-ugly linker hack
Need more linker magic to keep the glX symbols externally visible even though they started off in a .a file.
Diffstat (limited to 'src/gallium/winsys/drm/i965/xlib')
-rw-r--r--src/gallium/winsys/drm/i965/xlib/xlib_i965.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/winsys/drm/i965/xlib/xlib_i965.c b/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
index 60ab8e1993a..c55ba6b5199 100644
--- a/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
+++ b/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
@@ -360,3 +360,18 @@ struct xm_driver xlib_i965_driver =
};
+
+
+
+/***********************************************************************
+ *
+ * Butt-ugly hack to convince the linker not to throw away public GL
+ * symbols (they are all referenced from getprocaddress, I guess).
+ */
+extern void (*linker_foo(const unsigned char *procName))();
+extern void (*glXGetProcAddress(const unsigned char *procName))();
+
+extern void (*linker_foo(const unsigned char *procName))()
+{
+ return glXGetProcAddress(procName);
+}