strip_fPIC.sh
author Sam Lantinga <slouken@libsdl.org>
Sat, 28 Jun 2003 17:27:33 +0000
changeset 638 b0108e9dea53
parent 22 48c34d68918e
permissions -rwxr-xr-x
Date: Sun, 11 May 2003 19:59:06 +0300 From: Pasi K?rkk?inen Subject: [PATCH] fix SDL OpenGL segfault with DRI/Mesa drivers and Glew Hello! The attached patch fixes a bug in SDL which causes SDL to crash in X11_GL_Shutdown() if you are using DRI/Mesa drivers AND glew (http://glew.sf.net). The bug is caused by a namespace collision affecting dlsym() to fetch wrong pointer for glXReleaseBuffersMESA() (uninitialized pointer from glew because the extension is NOT supported by the driver) and then SDL calling it in X11_GL_Shutdown(). SDL should check if the glXReleaseBuffersMESA() is really supported by the driver (from the extensions string) before calling it. Attached patch adds extension string parsing to check if glXReleaseBuffersMESA() is really supported (and this way prevents the segfault). Availability of the extensions should be _always_ checked from the extensions string rather than using dlsym()! Please add it to the next version of SDL. Thanks to gltron and author of glew to help fixing this.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
     1
#!/bin/sh
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
     2
#
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
     3
# libtool assumes that the compiler can handle the -fPIC flag
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
     4
# This isn't always true (for example, nasm can't handle it)
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
     5
command=""
1
cf2af46e9e2a Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
     6
while [ $# -gt 0 ]; do
22
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
     7
    case "$1" in
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
     8
        -?PIC)
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
     9
            # Ignore -fPIC and -DPIC options
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
    10
            ;;
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
    11
        *)
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
    12
            command="$command $1"
22
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
    13
            ;;
48c34d68918e Fixed to work on Solaris x86
Sam Lantinga <slouken@lokigames.com>
parents: 1
diff changeset
    14
    esac
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
    15
    shift
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
    16
done
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
    17
echo $command
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
    18
exec $command