summaryrefslogtreecommitdiff
path: root/www-client/firefox/files/firefox-47.0-crashreporter.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@rogentos.ro>2016-07-19 14:57:26 +0100
committerV3n3RiX <venerix@rogentos.ro>2016-07-19 14:57:26 +0100
commit8372cee45add46e3012b11d9a0d45feb30279757 (patch)
treebf0725b168e6b213a76736e480f525823a6c548c /www-client/firefox/files/firefox-47.0-crashreporter.patch
parent2a4f7d14e15c25f0c5b474b8ba2d3889800e77fc (diff)
import firefox 45.2.0 stable from gentoo, enable PGO build
Diffstat (limited to 'www-client/firefox/files/firefox-47.0-crashreporter.patch')
-rw-r--r--www-client/firefox/files/firefox-47.0-crashreporter.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/www-client/firefox/files/firefox-47.0-crashreporter.patch b/www-client/firefox/files/firefox-47.0-crashreporter.patch
new file mode 100644
index 00000000..7b3bf3da
--- /dev/null
+++ b/www-client/firefox/files/firefox-47.0-crashreporter.patch
@@ -0,0 +1,27 @@
+--- a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
++++ b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
+@@ -920,10 +920,9 @@ string FormatIdentifier(unsigned char identifier[16]) {
+ // 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);
++ const char *c_filename = filename.c_str();
++ const char *p = strrchr(c_filename, '/');
++ string base = p ? p+1 : c_filename;
+ return base;
+ }
+
+--- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
++++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+@@ -3851,7 +3851,7 @@ struct kernel_statfs {
+ return -1;
+ }
+ }
+- #if defined(__x86_64__)
++ #if defined(__x86_64__) && defined(__ILP32__)
+ /* Need to make sure loff_t isn't truncated to 32-bits under x32. */
+ LSS_INLINE ssize_t LSS_NAME(pread64)(int f, void *b, size_t c, loff_t o) {
+ LSS_BODY(4, ssize_t, pread64, LSS_SYSCALL_ARG(f), LSS_SYSCALL_ARG(b),