diff options
Diffstat (limited to 'util/crossgcc/patches/gdb-7.4.1_pythonhome.patch')
-rw-r--r-- | util/crossgcc/patches/gdb-7.4.1_pythonhome.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/util/crossgcc/patches/gdb-7.4.1_pythonhome.patch b/util/crossgcc/patches/gdb-7.4.1_pythonhome.patch new file mode 100644 index 0000000000..9bab2e022c --- /dev/null +++ b/util/crossgcc/patches/gdb-7.4.1_pythonhome.patch @@ -0,0 +1,19 @@ +diff -ur gdb-7.4.1.orig/gdb/python/python.c gdb-7.4.1/gdb/python/python.c +--- gdb-7.4.1.orig/gdb/python/python.c 2012-01-15 02:04:05.000000000 +0800 ++++ gdb-7.4.1/gdb/python/python.c 2012-08-21 15:11:32.000000000 +0800 +@@ -1273,6 +1273,15 @@ + SLASH_STRING, "python", NULL)); + #endif + ++ char readlinkbuffer[BUFSIZ]; ++ int readlinks = readlink("/proc/self/exe", readlinkbuffer, BUFSIZ - 1); ++ readlinkbuffer[readlinks] = 0; ++ char *executeablepath = dirname(readlinkbuffer); ++ char *pythonhome = malloc(strlen(executeablepath) + strlen("/../") + 2); ++ strcpy(pythonhome, executeablepath); ++ strcat(pythonhome, "/../"); ++ setenv("PYTHONHOME", pythonhome, 1); ++ + Py_Initialize (); + PyEval_InitThreads (); + |