mozilla-gcc47.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 16 May 2012 10:56:46 +0200
branchfirefox12
changeset 449 feee012b5199
parent 424 44d79c1f5826
permissions -rw-r--r--
imported patch to fix crashreporter with gcc 4.7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
422
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
449
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
     2
# Parent 93e5d3b8061741abc83dcd4ed0fe93f1636583ef
422
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
Patch to make Mozilla build with gcc 4.7, including
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
- Bug 725655 - gcc 4.7 build failures (missing headers) (TM: Mozilla13)
424
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
     5
- Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14)
449
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
     6
- Bug 741348 - Work around crashreporter client build failure with gcc 4.7 (TM: Mozilla15)
422
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
--- a/ipc/chromium/src/base/file_util_linux.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
+++ b/ipc/chromium/src/base/file_util_linux.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
@@ -1,15 +1,18 @@
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
 // Use of this source code is governed by a BSD-style license that can be
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
 // found in the LICENSE file.
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
 #include "base/file_util.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
 #include <fcntl.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
+#if defined(ANDROID) || defined(OS_POSIX)
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
+#include <unistd.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
+#endif
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
 #include <string>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
 #include <vector>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
 #include "base/eintr_wrapper.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
 #include "base/file_path.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
 #include "base/string_util.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
--- a/ipc/chromium/src/base/message_pump_libevent.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
+++ b/ipc/chromium/src/base/message_pump_libevent.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
@@ -1,16 +1,19 @@
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
 // Copyright (c) 2008 The Chromium Authors. All rights reserved.
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
 // Use of this source code is governed by a BSD-style license that can be
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
 // found in the LICENSE file.
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
 #include "base/message_pump_libevent.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
 #include <errno.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
 #include <fcntl.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
+#if defined(ANDROID) || defined(OS_POSIX)
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
+#include <unistd.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
+#endif
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
 #include "eintr_wrapper.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
 #include "base/logging.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    48
 #include "base/scoped_nsautorelease_pool.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    49
 #include "base/scoped_ptr.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    50
 #include "base/time.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    51
 #include "third_party/libevent/event.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    52
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    53
diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    54
--- a/ipc/chromium/src/base/time_posix.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    55
+++ b/ipc/chromium/src/base/time_posix.cc
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    56
@@ -8,16 +8,19 @@
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
 #include <mach/mach_time.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    58
 #endif
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
 #include <sys/time.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
 #ifdef ANDROID
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
 #include <time64.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    62
 #else
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    63
 #include <time.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    64
 #endif
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    65
+#if defined(ANDROID) || defined(OS_POSIX)
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    66
+#include <unistd.h>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    67
+#endif
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    68
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    69
 #include <limits>
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    70
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    71
 #include "base/basictypes.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    72
 #include "base/logging.h"
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    73
 
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    74
 namespace base {
35be97f6fdf7 fix some gcc 4.7 issues (not complete; still not building)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    75
 
424
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    76
diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    77
--- a/layout/base/tests/TestPoisonArea.cpp
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    78
+++ b/layout/base/tests/TestPoisonArea.cpp
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    79
@@ -392,53 +392,53 @@ ReservePoisonArea()
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    80
 {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    81
   if (sizeof(uintptr_t) == 8) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    82
     // Use the hardware-inaccessible region.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    83
     // We have to avoid 64-bit constants and shifts by 32 bits, since this
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    84
     // code is compiled in 32-bit mode, although it is never executed there.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    85
     uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 |
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    86
                          uintptr_t(0xF0DEAFFFu)) &
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    87
                         ~uintptr_t(PAGESIZE-1));
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    88
-    printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    89
+    printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    90
     return result;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    91
   } else {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    92
     // First see if we can allocate the preferred poison address from the OS.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    93
     uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1));
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    94
     void *result = ReserveRegion(candidate, false);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    95
     if (result == (void *)candidate) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    96
       // success - inaccessible page allocated
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    97
-      printf("INFO | poison area allocated at 0x%.*"PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    98
+      printf("INFO | poison area allocated at 0x%.*" PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
    99
              " (preferred addr)\n", SIZxPTR, (uintptr_t)result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   100
       return candidate;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   101
     }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   102
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   103
     // That didn't work, so see if the preferred address is within a range
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   104
     // of permanently inacessible memory.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   105
     if (ProbeRegion(candidate)) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   106
       // success - selected page cannot be usable memory
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   107
       if (result != MAP_FAILED)
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   108
         ReleaseRegion(result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   109
-      printf("INFO | poison area assumed at 0x%.*"PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   110
+      printf("INFO | poison area assumed at 0x%.*" PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   111
              " (preferred addr)\n", SIZxPTR, candidate);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   112
       return candidate;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   113
     }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   114
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   115
     // The preferred address is already in use.  Did the OS give us a
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   116
     // consolation prize?
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   117
     if (result != MAP_FAILED) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   118
-      printf("INFO | poison area allocated at 0x%.*"PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   119
+      printf("INFO | poison area allocated at 0x%.*" PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   120
              " (consolation prize)\n", SIZxPTR, (uintptr_t)result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   121
       return (uintptr_t)result;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   122
     }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   123
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   124
     // It didn't, so try to allocate again, without any constraint on
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   125
     // the address.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   126
     result = ReserveRegion(0, false);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   127
     if (result != MAP_FAILED) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   128
-      printf("INFO | poison area allocated at 0x%.*"PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   129
+      printf("INFO | poison area allocated at 0x%.*" PRIxPTR
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   130
              " (fallback)\n", SIZxPTR, (uintptr_t)result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   131
       return (uintptr_t)result;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   132
     }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   133
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   134
     printf("ERROR | no usable poison area found\n");
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   135
     return 0;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   136
   }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   137
 }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   138
@@ -450,17 +450,17 @@ static uintptr_t
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   139
 ReservePositiveControl()
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   140
 {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   141
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   142
   void *result = ReserveRegion(0, false);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   143
   if (result == MAP_FAILED) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   144
     printf("ERROR | allocating positive control | %s\n", LastErrMsg());
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   145
     return 0;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   146
   }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   147
-  printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n",
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   148
+  printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n",
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   149
          SIZxPTR, (uintptr_t)result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   150
   return (uintptr_t)result;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   151
 }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   152
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   153
 /* The "negative control" area confirms that our probe logic does detect a
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   154
  * page that is readable, writable, or executable.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   155
  */
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   156
 static uintptr_t
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   157
@@ -481,17 +481,17 @@ ReserveNegativeControl()
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   158
   // Now mark it executable as well as readable and writable.
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   159
   // (mmap(PROT_EXEC) may fail when applied to anonymous memory.)
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   160
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   161
   if (MakeRegionExecutable(result)) {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   162
     printf("ERROR | making negative control executable | %s\n", LastErrMsg());
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   163
     return 0;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   164
   }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   165
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   166
-  printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n",
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   167
+  printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n",
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   168
          SIZxPTR, (uintptr_t)result);
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   169
   return (uintptr_t)result;
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   170
 }
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   171
 
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   172
 static void
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   173
 JumpTo(uintptr_t opaddr)
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   174
 {
44d79c1f5826 more gcc4.7 fixes
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 422
diff changeset
   175
 #ifdef __ia64
449
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   176
diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in b/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   177
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   178
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   179
@@ -61,8 +61,11 @@ HOST_CPPSRCS = \
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   180
   file_id.cc \
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   181
   guid_creator.cc \
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   182
   $(NULL)
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   183
 
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   184
 # need static lib
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   185
 FORCE_STATIC_LIB = 1
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   186
 
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   187
 include $(topsrcdir)/config/rules.mk
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   188
+
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   189
+# See https://bugzilla.mozilla.org/show_bug.cgi?id=741348#c11
feee012b5199 imported patch to fix crashreporter with gcc 4.7
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 424
diff changeset
   190
+file_id.$(OBJ_SUFFIX): STL_FLAGS=