- update to Firefox 49.0 (boo#999701)

- removed obsolete patches:
  * mozilla-aarch64-48bit-va.patch
  * mozilla-exclude-nametablecpp.patch
  * mozilla-old_configure-bmo1282843.patch
- requires NSS 3.25

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=547
This commit is contained in:
Wolfgang Rosenauer 2016-09-20 16:19:47 +00:00 committed by Git OBS Bridge
parent 9f3937f2e8
commit 70d32ab4da
15 changed files with 188 additions and 426 deletions

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Tue Sep 20 07:09:52 UTC 2016 - wr@rosenauer.org
- update to Firefox 49.0 (boo#999701)
- removed obsolete patches:
* mozilla-aarch64-48bit-va.patch
* mozilla-exclude-nametablecpp.patch
* mozilla-old_configure-bmo1282843.patch
- requires NSS 3.25
-------------------------------------------------------------------
Tue Aug 30 20:25:38 UTC 2016 - astieger@suse.com

View File

@ -18,10 +18,10 @@
# changed with every update
%define major 48
%define mainver %major.0.2
%define major 49
%define mainver %major.0
%define update_channel release
%define releasedate 20160824000000
%define releasedate 20160919000000
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@ -75,7 +75,7 @@ BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.12
BuildRequires: mozilla-nss-devel >= 3.24
BuildRequires: mozilla-nss-devel >= 3.25
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@ -146,10 +146,7 @@ Patch10: mozilla-no-stdcxx-check.patch
Patch11: mozilla-reduce-files-per-UnifiedBindings.patch
Patch12: mozilla-gtk3_20.patch
Patch13: mozilla-check_return.patch
Patch15: mozilla-exclude-nametablecpp.patch
Patch16: mozilla-aarch64-48bit-va.patch
Patch17: mozilla-binutils-visibility.patch
Patch18: mozilla-old_configure-bmo1282843.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch
@ -265,10 +262,7 @@ cd $RPM_BUILD_DIR/mozilla
%patch12 -p1
%endif
%patch13 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
# Firefox
%patch101 -p1
%patch102 -p1

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49f395da30e395c16ba2c3dbdeafb4f03d1ec0f810750fd16ecde61c3c3592bf
size 28532
oid sha256:bf00204924990abe13110d4376ceb6155d5036d76f96fe39a096b5998d88bbe6
size 28372

View File

@ -7,8 +7,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_48_0_2_RELEASE"
VERSION="48.0.2"
RELEASE_TAG="416dc3163a1f27b8783ed14660d1b373e830df2f"
VERSION="49.0"
# mozilla
if [ -d mozilla ]; then

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4069de9c5f88b771fe44fbd26d69a78a0d3a518b710dbf9aa7df9dbba1ba9726
size 198952364

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:80732e41b9e96f5ac243a59efd5e5824de932b16e78c1b5109066e21b31685ba
size 198941964

View File

@ -1,11 +1,11 @@
# HG changeset patch
# Parent 07e419c2bbc63c486d25fd8ce117abd10e9ebdba
# Parent 2704257a50b4ff60fa43eca8d4a547c6d70bb30e
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1174 @@
@@ -0,0 +1,1179 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -16,6 +16,7 @@ new file mode 100644
+
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
@ -296,18 +297,6 @@ new file mode 100644
+ noautofocus="true"
+ position="topcenter topright"/>
+
+ <panel id="loop-notification-panel"
+ class="loop-panel social-panel"
+ type="arrow"
+ hidden="true"
+ noautofocus="true"/>
+
+ <panel id="loop-panel"
+ class="loop-panel social-panel"
+ type="arrow"
+ orient="horizontal"
+ hidden="true"/>
+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@ -388,7 +377,28 @@ new file mode 100644
+#include browser-context.inc
+ </menupopup>
+
+ <menupopup id="placesContext"/>
+ <menupopup id="placesContext">
+ <menuseparator id="placesContext_recentlyBookmarkedSeparator"
+ ignoreitem="true"
+ ordinal="2"
+ hidden="true"/>
+ <menuitem id="placesContext_hideRecentlyBookmarked"
+ label="&hideRecentlyBookmarked.label;"
+ accesskey="&hideRecentlyBookmarked.accesskey;"
+ oncommand="BookmarkingUI.hideRecentlyBookmarked();"
+ closemenu="single"
+ ignoreitem="true"
+ ordinal="2"
+ hidden="true"/>
+ <menuitem id="placesContext_showRecentlyBookmarked"
+ label="&showRecentlyBookmarked.label;"
+ accesskey="&showRecentlyBookmarked.accesskey;"
+ oncommand="BookmarkingUI.showRecentlyBookmarked();"
+ closemenu="single"
+ ignoreitem="true"
+ ordinal="2"
+ hidden="true"/>
+ </menupopup>
+
+ <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">
+ <hbox>
@ -404,21 +414,6 @@ new file mode 100644
+ </hbox>
+ </panel>
+
+ <!-- Sync Panel -->
+ <panel id="sync-start-panel" class="sync-panel" type="arrow" hidden="true"
+ noautofocus="true" onclick="this.hidePopup();"
+ flip="slide">
+ <hbox class="sync-panel-outer">
+ <image class="sync-panel-icon"/>
+ <vbox class="sync-panel-inner">
+ <description id="sync-start-panel-title"
+ value="&syncStartPanel2.heading;"/>
+ <description id="sync-start-panel-subtitle"
+ value="&syncStartPanel2.subTitle;"/>
+ </vbox>
+ </hbox>
+ </panel>
+
+ <!-- Bookmarks and history tooltip -->
+ <tooltip id="bhTooltip"/>
+
@ -634,7 +629,12 @@ new file mode 100644
+ key="key_undoCloseTab"
+ label="&undoCloseTab.label;"
+ observes="History:UndoCloseTab"/>
+ <menuseparator id="alltabs-popup-separator"/>
+ <menuseparator id="alltabs-popup-separator-1"/>
+ <menu id="alltabs_containersTab"
+ label="&newUserContext.label;">
+ <menupopup id="alltabs_containersMenuTab" />
+ </menu>
+ <menuseparator id="alltabs-popup-separator-2"/>
+ </menupopup>
+ </toolbarbutton>
+
@ -718,41 +718,41 @@ new file mode 100644
+ <box id="notification-popup-box" hidden="true" align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.defaultNotificationAnchor.label;"/>
+ <image id="geo-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
+ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
+ aria-label="&urlbar.addonsNotificationAnchor.label;"/>
+ <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
+ <image id="login-fill-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button"
+ aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
+ <image id="password-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
+ aria-label="&urlbar.passwordNotificationAnchor.label;"/>
+ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon web-notifications-icon" role="button"
+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button"
+ aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
+ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button"
+ aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
+ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
+ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button"
+ aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
+ <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="pointerLock-notification-icon" class="notification-anchor-icon pointer-icon" role="button"
+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
+ aria-label="&urlbar.servicesNotificationAnchor.label;"/>
+ <image id="translate-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
+ aria-label="&urlbar.translateNotificationAnchor.label;"/>
+ <image id="translated-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
+ aria-label="&urlbar.translatedNotificationAnchor.label;"/>
+ <image id="eme-notification-icon" class="notification-anchor-icon" role="button"
+ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
+ aria-label="&urlbar.emeNotificationAnchor.label;"/>
+ </box>
+ <!-- Use onclick instead of normal popup= syntax since the popup
@ -789,7 +789,7 @@ new file mode 100644
+ hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/>
+ </hbox>
+ <hbox id="userContext-icons">
+ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
+ <image id="userContext-indicator"/>
+ </hbox>
@ -856,6 +856,11 @@ new file mode 100644
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menuseparator/>
+ <menuitem label="&recentBookmarks.label;"
+ id="BMB_recentBookmarks"
+ disabled="true"
+ class="menuitem-iconic subviewbutton"/>
+ <menuseparator/>
+ <menu id="BMB_bookmarksToolbar"
+ class="menu-iconic bookmark-item subviewbutton"
+ label="&personalbarCmd.label;"
@ -1288,7 +1293,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
// when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open.
@@ -736,16 +742,27 @@ var gMainPane = {
@@ -730,16 +736,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true;
@ -1631,7 +1636,7 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -689,16 +689,17 @@
@@ -676,16 +676,17 @@
@RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/permissions
@ -1643,9 +1648,9 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-m
+@BINPATH@/defaults/pref/kde.js
; Services (gre) prefs
#ifdef MOZ_SERVICES_NOTIFICATIONS
@RESPATH@/defaults/pref/services-notifications.js
#endif
@RESPATH@/defaults/pref/services-sync.js
; [Layout Engine Resources]
; Style Sheets, Graphics and other Resources used by the layout engine.
@RESPATH@/res/EditorOverride.css
@RESPATH@/res/contenteditable.css

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:459b5fb222e58f87d49dd76b1761fe4610c7c353c2ef5aaaf0e94a7f278f3e71
size 43276076

3
l10n-49.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:168288cab14a3132216e3206ecd0b87f3a9c2f45b1ef2fcd47c8c74d7e322759
size 43284264

View File

@ -1,92 +1,92 @@
ach 9a0c8e338b70
af 9347b8c9ba47
an 1ecc480527e8
ar ac8018039f0f
as 39c28ddc51af
ast 719f95e0804a
az 58d1d9f5ebc6
be b72077740aac
bg 9f7507dd2b92
bn-BD 1dac94619464
bn-IN a2ea6b87d80d
br d36eef485e1f
bs cfee6f5b1e50
ca 55814ed0a2ee
cak 318aec440030
cs 76c75ca48864
cy 927c83f85620
da f1eafef10b33
de 3d5d819eedd7
dsb 91c722147298
el 22b959c9a739
en-GB 595e192dd7a4
en-ZA 52a936eeeea1
eo 1928e5a7ee7d
es-AR 4c9cfef714f5
es-CL c34f36c5864f
es-ES d069f54e79f2
es-MX 198b582408f2
et 0568132def4f
eu 4a534a844d9b
fa c64ea222eb3a
ach 6ed1a299cf50
af a2a61bde6775
an 93c1791e869c
ar 1e8208276670
as 732bcb1da9c2
ast 4b201bbc4cad
az 2035817f3662
be 04a4235e5dfc
bg a81e7006d413
bn-BD 0bc49db20e7b
bn-IN ab45a4357169
br 829bb95e6595
bs c2cbf84e2de1
ca 551c2d450a74
cak a24e3cc7ada5
cs 842a16138e8f
cy d3bd0fc1d07c
da 9f2406f95b0d
de 57d4aeb53449
dsb 9a588345e6a3
el 0ea494a1082a
en-GB a98a08450231
en-ZA dc11d29717d4
eo 1b7342be2401
es-AR 8e72962a04d2
es-CL 684eb9268729
es-ES bc3ecb554205
es-MX aff6da71c301
et ebd70ceecb55
eu 54494475aef7
fa 255b2d7d7cb3
ff 8373353b43c4
fi 4133735f9efd
fr 94568a74633b
fy-NL c001da131ecd
ga-IE 1665e942f19f
gd b4f76dd70e9a
fi 8d3446f9a5c5
fr 9dfc3b26ba48
fy-NL 954308cbc1e6
ga-IE 6cf48c09d9e5
gd 2b9e144b889d
gl c869caff337a
gn 65b2894520b6
gu-IN 6245b4309461
he 1a14924e99aa
hi-IN bba2a926e4f8
hr 5e68406d5630
hsb a9ba140dbbf2
hu d78bc92a737a
hy-AM 723627d1c0a4
id d84757c01f40
is e45ec009a0fc
it f04290f688b9
ja 7546335099a5
ja-JP-mac 9ecf2e1d8ea0
kk 188c4eac0a48
km 339790840ac1
kn a7e2c93d27ad
ko cbaf8af7159e
lij e9113fac3a93
lt 70491a0f5ef0
lv 918ea0cd0aca
mai ce010a305377
mk ffdf2a789185
ml 1b85d75836cd
mr a6fa1813c5c9
ms 41bbf86ac0d9
nb-NO 5155fd334299
nl c6d2a72aec88
nn-NO 3569b6691b3b
or febd1b04dbfc
pa-IN 6c5ed1be55fb
pl 19563918fa48
pt-BR ba6e3510ab03
pt-PT 258b18a5c29b
rm 5c20929daf23
ro b1baa279bda4
ru 622cafa42a39
gn 88e0eecd56db
gu-IN ff99825985ad
he 5492c43ed1c7
hi-IN 2460eda2085b
hr 4e4fa843efd1
hsb 711ebd948b60
hu 18ed4a160747
hy-AM 26ebbf2a7c29
id fe6b0ba5c8b9
is 750b18eea2bd
it 32c5df7e0cc8
ja 6fe0a63744ab
ja-JP-mac 9f666fe9f2a8
kk c8d56540ca41
km 2a4aa779e53d
kn 79f2d148c975
ko 87dbe38d3ab7
lij fdb3ad1d0fa6
lt 1de1474f4b1c
lv 71ebc1207474
mai bb506a238a92
mk 9793d2941b6c
ml 9bbdb16f771c
mr 770fe6a85f1a
ms fc706fcabf4b
nb-NO d595777287ba
nl a12c44096861
nn-NO ff1ebdbd993c
or 6ecfc06db966
pa-IN 3404cc7e0894
pl c89555291e77
pt-BR 359f724250a8
pt-PT b835fc33291c
rm d9b1fabf9a07
ro 20abd381ce37
ru 1245d886a73d
si 03a3b09a2203
sk 342049b6b66a
sl 6079300745a1
son d135d14fa4ea
sk 44b670dcadbc
sl d6ccefbe182a
son 300b8e976b40
sq bc47aefcea37
sr 2b6454805bc1
sv-SE 44ab4d9a6718
ta 17f88001ad3b
te 286ff9885ea2
th b7e1170de8c9
tr 13c52b19c0a1
uk c84dad1572cf
uz 1209fe62df1c
vi 68ce305343a3
xh 8466fb6c8797
zh-CN 693cfbea8412
zh-TW 380aaa88dbf5
sr 1d4bbfe9b938
sv-SE 9ec91e4ceffa
ta 011d54df6ae1
te d1c0f603ffc8
th f3ab798d7859
tr 5b90abf30758
uk b0acea50dee6
uz 17d7e0e78397
vi 5f990ea87b44
xh 82473adddcaa
zh-CN a17256bb05fa
zh-TW 769f13e36251

View File

@ -1,170 +0,0 @@
# HG changeset patch
# User Zheng Xu <zheng.xu@linaro.org>
# Date 1464657720 -7200
# Node ID dfaafbaaa2919a033c4c0abdd5830f4ea413bed6
# Parent 499f16ca85ec48d1896a1633730715f32bd62140
Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits are clear. r=ehoogeveen
There might be 48-bit VA on arm64 depending on kernel configuration.
Manually mmap heap memory to align with the assumption made by JS engine.
diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
--- a/js/src/gc/Memory.cpp
+++ b/js/src/gc/Memory.cpp
@@ -430,17 +430,17 @@ InitMemorySubsystem()
if (pageSize == 0)
pageSize = allocGranularity = size_t(sysconf(_SC_PAGESIZE));
}
static inline void*
MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE,
int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0)
{
-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
MOZ_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
#endif
void* region = mmap(desired, length, prot, flags, fd, offset);
if (region == MAP_FAILED)
return nullptr;
/*
* mmap treats the given address as a hint unless the MAP_FIXED flag is
* used (which isn't usually what you want, as this overrides existing
@@ -480,16 +480,51 @@ MapMemory(size_t length, int prot = PROT
* as out of memory.
*/
if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
if (munmap(region, length))
MOZ_ASSERT(errno == ENOMEM);
return nullptr;
}
return region;
+#elif defined(__aarch64__)
+ /*
+ * There might be similar virtual address issue on arm64 which depends on
+ * hardware and kernel configurations. But the work around is slightly
+ * different due to the different mmap behavior.
+ *
+ * TODO: Merge with the above code block if this implementation works for
+ * ia64 and sparc64.
+ */
+ const uintptr_t start = UINT64_C(0x0000070000000000);
+ const uintptr_t end = UINT64_C(0x0000800000000000);
+ const uintptr_t step = ChunkSize;
+ /*
+ * Optimization options if there are too many retries in practice:
+ * 1. Examine /proc/self/maps to find an available address. This file is
+ * not always available, however. In addition, even if we examine
+ * /proc/self/maps, we may still need to retry several times due to
+ * racing with other threads.
+ * 2. Use a global/static variable with lock to track the addresses we have
+ * allocated or tried.
+ */
+ uintptr_t hint;
+ void* region = MAP_FAILED;
+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
+ region = mmap((void*)hint, length, prot, flags, fd, offset);
+ if (region != MAP_FAILED) {
+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
+ if (munmap(region, length)) {
+ MOZ_ASSERT(errno == ENOMEM);
+ }
+ region = MAP_FAILED;
+ }
+ }
+ }
+ return region == MAP_FAILED ? nullptr : region;
#else
void* region = MozTaggedAnonymousMmap(nullptr, length, prot, flags, fd, offset, "js-gc-heap");
if (region == MAP_FAILED)
return nullptr;
return region;
#endif
}
diff --git a/js/src/jsapi-tests/testGCAllocator.cpp b/js/src/jsapi-tests/testGCAllocator.cpp
--- a/js/src/jsapi-tests/testGCAllocator.cpp
+++ b/js/src/jsapi-tests/testGCAllocator.cpp
@@ -307,48 +307,72 @@ void* mapMemoryAt(void* desired, size_t
void* mapMemory(size_t length) { return nullptr; }
void unmapPages(void* p, size_t size) { }
#elif defined(XP_UNIX)
void*
mapMemoryAt(void* desired, size_t length)
{
-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
#endif
void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
if (region == MAP_FAILED)
return nullptr;
if (region != desired) {
if (munmap(region, length))
MOZ_RELEASE_ASSERT(errno == ENOMEM);
return nullptr;
}
return region;
}
void*
mapMemory(size_t length)
{
- void* hint = nullptr;
+ int prot = PROT_READ | PROT_WRITE;
+ int flags = MAP_PRIVATE | MAP_ANON;
+ int fd = -1;
+ off_t offset = 0;
+ // The test code must be aligned with the implementation in gc/Memory.cpp.
#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
- hint = (void*)0x0000070000000000ULL;
-#endif
- void* region = mmap(hint, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+ void* region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
if (region == MAP_FAILED)
return nullptr;
-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
- if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000ULL) {
+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
if (munmap(region, length))
MOZ_RELEASE_ASSERT(errno == ENOMEM);
return nullptr;
}
+ return region;
+#elif defined(__aarch64__)
+ const uintptr_t start = UINT64_C(0x0000070000000000);
+ const uintptr_t end = UINT64_C(0x0000800000000000);
+ const uintptr_t step = ChunkSize;
+ uintptr_t hint;
+ void* region = MAP_FAILED;
+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
+ region = mmap((void*)hint, length, prot, flags, fd, offset);
+ if (region != MAP_FAILED) {
+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
+ if (munmap(region, length)) {
+ MOZ_RELEASE_ASSERT(errno == ENOMEM);
+ }
+ region = MAP_FAILED;
+ }
+ }
+ }
+ return region == MAP_FAILED ? nullptr : region;
+#else
+ void* region = mmap(nullptr, length, prot, flags, fd, offset);
+ if (region == MAP_FAILED)
+ return nullptr;
+ return region;
#endif
- return region;
}
void
unmapPages(void* p, size_t size)
{
if (munmap(p, size))
MOZ_RELEASE_ASSERT(errno == ENOMEM);
}

View File

@ -1,50 +0,0 @@
# HG changeset patch
# User Jonathan Kew <jkew@mozilla.com>
# Date 1463581374 -3600
# Node ID 9c57b7cacffc57ec3919a2cf3b5ce861e0cf3842
# Parent ea7843420fe518b772c7b259d8ff47193fc5b79e
Bug 1272647 - Exclude NameTable.cpp from unified compilation because #include <cmath> in other source files causes gcc6 compilation failure. r=bas
diff --git a/gfx/graphite2/src/moz.build b/gfx/graphite2/src/moz.build
--- a/gfx/graphite2/src/moz.build
+++ b/gfx/graphite2/src/moz.build
@@ -40,30 +40,35 @@ UNIFIED_SOURCES += [
'gr_features.cpp',
'gr_font.cpp',
'gr_logging.cpp',
'gr_segment.cpp',
'gr_slot.cpp',
'Intervals.cpp',
'json.cpp',
'Justifier.cpp',
- 'NameTable.cpp',
'Pass.cpp',
'Position.cpp',
'SegCache.cpp',
'SegCacheEntry.cpp',
'SegCacheStore.cpp',
'Segment.cpp',
'Silf.cpp',
'Slot.cpp',
'Sparse.cpp',
'TtfUtil.cpp',
'UtfCodec.cpp',
]
+# Excluded from UNIFIED_SOURCES because <cmath> from other files breaks it,
+# see bug 1272647.
+SOURCES += [
+ 'NameTable.cpp',
+]
+
# tell graphite2 not to export symbols, we'll be linking it directly with
# thebes
DEFINES['GRAPHITE2_STATIC'] = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
FINAL_LIBRARY = 'gkmedias'

View File

@ -1,5 +1,5 @@
# HG changeset patch
# Parent 972c67cdd5dd4463abbee60036b686d4cb78e616
# Parent 1d3f5cacba056949ea9a56d4d805c3073efe403b
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#include "prefread.h"
#include "prefapi_private_data.h"
@@ -1145,16 +1146,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
@@ -1162,16 +1163,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@ -62,7 +62,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
return NS_OK;
bool hasMore;
@@ -1170,17 +1189,17 @@ static nsresult pref_LoadPrefsInDirList(
@@ -1187,17 +1206,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf;
path->GetNativeLeafName(leaf);
@ -81,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -1274,24 +1293,36 @@ static nsresult pref_InitInitialObjects(
@@ -1291,24 +1310,36 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@ -141,7 +141,7 @@ diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
if CONFIG['GNU_CXX']:
FINAL_TARGET_PP_FILES += [
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
--- a/python/mozbuild/mozpack/chrome/flags.py
+++ b/python/mozbuild/mozpack/chrome/flags.py
@ -187,7 +187,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
@@ -60,15 +60,16 @@ if not CONFIG['MOZ_SUITE']:
@@ -60,17 +60,18 @@ if not CONFIG['MOZ_SUITE']:
'nsDownloadManagerUI.js',
'nsDownloadManagerUI.manifest',
]
@ -205,6 +205,8 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
CXXFLAGS += CONFIG['TK_CFLAGS']
if CONFIG['GNU_CXX']:
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@ -2288,7 +2290,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
@@ -48,17 +48,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
@@ -47,17 +47,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
EXPORTS += ['nsQAppInstance.h']
SOURCES += [
@ -2708,18 +2710,18 @@ new file mode 100644
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
@@ -75,17 +75,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
else:
# These files can't be built in unified mode because they redefine LOG.
@@ -77,17 +77,19 @@ else:
SOURCES += [
osdir + '/nsOSHelperAppService.cpp',
]
if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
UNIFIED_SOURCES += [
+ 'unix/nsCommonRegistry.cpp',
'unix/nsGNOMERegistry.cpp',
+ 'unix/nsKDERegistry.cpp',
+ 'unix/nsKDERegistry.cpp',
'unix/nsMIMEInfoUnix.cpp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
@ -2728,7 +2730,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m
@@ -131,16 +133,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
@ -3164,7 +3166,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -90,16 +90,17 @@ else:
@@ -87,16 +87,17 @@ else:
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
@ -3672,7 +3674,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
--- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build
@@ -47,12 +47,13 @@ FINAL_LIBRARY = 'xul'
@@ -44,12 +44,13 @@ FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'!..',
'../base',

View File

@ -1,29 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 2a0e5188c796cb2addedd185aba6176405786854
Bug 1282843 - configure.py doesn't parse global autoconf options like --libdir
without assuming libdir during build we do not find plugins/extensions in the correct system directory
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -149,16 +149,19 @@ def old_configure_options(*options):
def all_options(help):
return list(options)
return depends(prepare_configure, extra_old_configure_args, all_options,
*options)
@old_configure_options(
+ '--libdir',
+ '--includedir',
+ '--datadir',
'--cache-file',
'--enable-accessibility',
'--enable-address-sanitizer',
'--enable-alsa',
'--enable-android-omx',
'--enable-android-resource-constrained',
'--enable-approximate-location',
'--enable-b2g-bt',

View File

@ -1,2 +1,2 @@
REV=d4af06710040
REV=416dc3163a1f
REPO=http://hg.mozilla.org/releases/mozilla-release