diff options
Diffstat (limited to 'community/firefox/fix-tools.patch')
-rw-r--r-- | community/firefox/fix-tools.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/community/firefox/fix-tools.patch b/community/firefox/fix-tools.patch new file mode 100644 index 0000000000..b0a6d4fbcc --- /dev/null +++ b/community/firefox/fix-tools.patch @@ -0,0 +1,49 @@ +--- mozilla-release.orig/tools/profiler/local_debug_info_symbolizer.cc ++++ mozilla-release/tools/profiler/local_debug_info_symbolizer.cc +@@ -3,6 +3,7 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + ++#include <sys/types.h> + #include "PlatformMacros.h" + #include "nsAutoPtr.h" + +--- mozilla-release.orig/tools/profiler/platform-linux.cc ++++ mozilla-release/tools/profiler/platform-linux.cc +@@ -84,7 +84,7 @@ + + #define SIGNAL_SAVE_PROFILE SIGUSR2 + +-#if defined(__GLIBC__) ++#if 1 + // glibc doesn't implement gettid(2). + #include <sys/syscall.h> + pid_t gettid() +--- mozilla-release.orig/tools/profiler/platform.h ++++ mozilla-release/tools/profiler/platform.h +@@ -29,6 +29,8 @@ + #ifndef TOOLS_PLATFORM_H_ + #define TOOLS_PLATFORM_H_ + ++#include <sys/types.h> ++ + #ifdef ANDROID + #include <android/log.h> + #else +--- mozilla-release.orig/tools/profiler/LulElf.cpp ++++ mozilla-release/tools/profiler/LulElf.cpp +@@ -579,10 +579,10 @@ + // Return the non-directory portion of FILENAME: the portion after the + // last slash, or the whole filename if there are no slashes. + string BaseFileName(const string &filename) { +- // Lots of copies! basename's behavior is less than ideal. +- char *c_filename = strdup(filename.c_str()); +- string base = basename(c_filename); +- free(c_filename); ++ // basename's behavior is less than ideal so avoid it ++ const char *c_filename = filename.c_str(); ++ const char *p = strrchr(c_filename, '/'); ++ string base = p ? p+1 : c_filename; + return base; + } + |