forked from pool/MozillaFirefox
- update to Firefox 30.0 (bnc#881874)
* MFSA 2014-48/CVE-2014-1533/CVE-2014-1534 (bmo#921622, bmo#967354, bmo#969517, bmo#969549, bmo#973874, bmo#978652, bmo#978811, bmo#988719, bmo#990868, bmo#991981, bmo#992274, bmo#994907, bmo#995679, bmo#995816, bmo#995817, bmo#996536, bmo#996715, bmo#999651, bmo#1000598, bmo#1000960, bmo#1002340, bmo#1005578, bmo#1007223, bmo#1009952, bmo#1011007) Miscellaneous memory safety hazards (rv:30.0) * MFSA 2014-49/CVE-2014-1536/CVE-2014-1537/CVE-2014-1538 (bmo#989994, bmo#999274, bmo#1005584) Use-after-free and out of bounds issues found using Address Sanitizer * MFSA 2014-50/CVE-2014-1539 (bmo#995603) Clickjacking through cursor invisability after Flash interaction * MFSA 2014-51/CVE-2014-1540 (bmo#978862) Use-after-free in Event Listener Manager * MFSA 2014-52/CVE-2014-1541 (bmo#1000185) Use-after-free with SMIL Animation Controller * MFSA 2014-53/CVE-2014-1542 (bmo#991533) Buffer overflow in Web Audio Speex resampler * MFSA 2014-54/CVE-2014-1543 (bmo#1011859) Buffer overflow in Gamepad API - rebased patches - removed obsolete patches * firefox-browser-css.patch * mozilla-aarch64-bmo-962488.patch * mozilla-aarch64-bmo-963023.patch * mozilla-aarch64-bmo-963024.patch * mozilla-aarch64-bmo-963027.patch OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=384
This commit is contained in:
parent
25ebccd71b
commit
83b187e5a4
@ -1,3 +1,45 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 9 08:28:17 UTC 2014 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Firefox 30.0 (bnc#881874)
|
||||||
|
* MFSA 2014-48/CVE-2014-1533/CVE-2014-1534
|
||||||
|
(bmo#921622, bmo#967354, bmo#969517, bmo#969549, bmo#973874,
|
||||||
|
bmo#978652, bmo#978811, bmo#988719, bmo#990868, bmo#991981,
|
||||||
|
bmo#992274, bmo#994907, bmo#995679, bmo#995816, bmo#995817,
|
||||||
|
bmo#996536, bmo#996715, bmo#999651, bmo#1000598,
|
||||||
|
bmo#1000960, bmo#1002340, bmo#1005578, bmo#1007223,
|
||||||
|
bmo#1009952, bmo#1011007)
|
||||||
|
Miscellaneous memory safety hazards (rv:30.0)
|
||||||
|
* MFSA 2014-49/CVE-2014-1536/CVE-2014-1537/CVE-2014-1538
|
||||||
|
(bmo#989994, bmo#999274, bmo#1005584)
|
||||||
|
Use-after-free and out of bounds issues found using Address
|
||||||
|
Sanitizer
|
||||||
|
* MFSA 2014-50/CVE-2014-1539 (bmo#995603)
|
||||||
|
Clickjacking through cursor invisability after Flash interaction
|
||||||
|
* MFSA 2014-51/CVE-2014-1540 (bmo#978862)
|
||||||
|
Use-after-free in Event Listener Manager
|
||||||
|
* MFSA 2014-52/CVE-2014-1541 (bmo#1000185)
|
||||||
|
Use-after-free with SMIL Animation Controller
|
||||||
|
* MFSA 2014-53/CVE-2014-1542 (bmo#991533)
|
||||||
|
Buffer overflow in Web Audio Speex resampler
|
||||||
|
* MFSA 2014-54/CVE-2014-1543 (bmo#1011859)
|
||||||
|
Buffer overflow in Gamepad API
|
||||||
|
- rebased patches
|
||||||
|
- removed obsolete patches
|
||||||
|
* firefox-browser-css.patch
|
||||||
|
* mozilla-aarch64-bmo-962488.patch
|
||||||
|
* mozilla-aarch64-bmo-963023.patch
|
||||||
|
* mozilla-aarch64-bmo-963024.patch
|
||||||
|
* mozilla-aarch64-bmo-963027.patch
|
||||||
|
* mozilla-ppc64-xpcom.patch
|
||||||
|
* mozilla-ppc64le-javascript.patch
|
||||||
|
* mozilla-ppc64le-libffi.patch
|
||||||
|
* mozilla-ppc64le-mfbt.patch
|
||||||
|
* mozilla-ppc64le-webrtc.patch
|
||||||
|
* mozilla-ppc64le-xpcom.patch
|
||||||
|
- requires NSPR 4.10.6
|
||||||
|
- enabled GStreamer 1.0 usage for 13.2 and above
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat May 10 06:09:37 UTC 2014 - wr@rosenauer.org
|
Sat May 10 06:09:37 UTC 2014 - wr@rosenauer.org
|
||||||
|
|
||||||
|
@ -17,15 +17,18 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define major 29
|
%define major 30
|
||||||
%define mainver %major.0.1
|
%define mainver %major.0
|
||||||
%define update_channel release
|
%define update_channel release
|
||||||
|
|
||||||
%if %suse_version > 1220
|
%if %suse_version > 1210
|
||||||
%define gstreamer_ver 0.10
|
%if %suse_version > 1310
|
||||||
|
%define gstreamer_ver 1.0
|
||||||
|
%define gstreamer 1
|
||||||
%else
|
%else
|
||||||
%define gstreamer_ver 0.10
|
%define gstreamer_ver 0.10
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: MozillaFirefox
|
Name: MozillaFirefox
|
||||||
BuildRequires: Mesa-devel
|
BuildRequires: Mesa-devel
|
||||||
@ -51,7 +54,7 @@ BuildRequires: libproxy-devel
|
|||||||
%else
|
%else
|
||||||
BuildRequires: wireless-tools
|
BuildRequires: wireless-tools
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: mozilla-nspr-devel >= 4.10.3
|
BuildRequires: mozilla-nspr-devel >= 4.10.6
|
||||||
BuildRequires: mozilla-nss-devel >= 3.16
|
BuildRequires: mozilla-nss-devel >= 3.16
|
||||||
BuildRequires: nss-shared-helper-devel
|
BuildRequires: nss-shared-helper-devel
|
||||||
BuildRequires: pkgconfig(libpulse)
|
BuildRequires: pkgconfig(libpulse)
|
||||||
@ -59,13 +62,19 @@ BuildRequires: pkgconfig(libpulse)
|
|||||||
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
|
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
|
||||||
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
|
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
|
||||||
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
|
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
|
||||||
|
%if 0%{?gstreamer} == 1
|
||||||
|
Requires: libgstreamer-1_0-0
|
||||||
|
Recommends: gstreamer-fluendo-mp3
|
||||||
|
Recommends: gstreamer-plugin-libav
|
||||||
|
%else
|
||||||
Requires: libgstreamer-0_10-0
|
Requires: libgstreamer-0_10-0
|
||||||
Recommends: gstreamer-0_10-fluendo-mp3
|
Recommends: gstreamer-0_10-fluendo-mp3
|
||||||
Recommends: gstreamer-0_10-plugins-ffmpeg
|
Recommends: gstreamer-0_10-plugins-ffmpeg
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
Version: %{mainver}
|
Version: %{mainver}
|
||||||
Release: 0
|
Release: 0
|
||||||
%define releasedate 2014050900
|
%define releasedate 2014060900
|
||||||
Provides: firefox = %{mainver}
|
Provides: firefox = %{mainver}
|
||||||
Provides: firefox = %{version}-%{release}
|
Provides: firefox = %{version}-%{release}
|
||||||
Provides: web_browser
|
Provides: web_browser
|
||||||
@ -108,19 +117,8 @@ Patch11: mozilla-icu-strncat.patch
|
|||||||
Patch12: mozilla-arm-disable-edsp.patch
|
Patch12: mozilla-arm-disable-edsp.patch
|
||||||
Patch13: mozilla-ppc.patch
|
Patch13: mozilla-ppc.patch
|
||||||
Patch14: mozilla-libproxy-compat.patch
|
Patch14: mozilla-libproxy-compat.patch
|
||||||
Patch15: mozilla-ppc64le-build.patch
|
|
||||||
Patch16: mozilla-ppc64le-javascript.patch
|
|
||||||
Patch17: mozilla-ppc64le-libffi.patch
|
|
||||||
Patch18: mozilla-ppc64le-mfbt.patch
|
|
||||||
Patch19: mozilla-ppc64le-webrtc.patch
|
|
||||||
Patch20: mozilla-ppc64le-xpcom.patch
|
|
||||||
Patch21: mozilla-ppc64-xpcom.patch
|
|
||||||
# Gecko/Toolkit AArch64 Porting
|
# Gecko/Toolkit AArch64 Porting
|
||||||
Patch30: mozilla-aarch64-bmo-810631.patch
|
Patch30: mozilla-aarch64-bmo-810631.patch
|
||||||
Patch31: mozilla-aarch64-bmo-962488.patch
|
|
||||||
Patch32: mozilla-aarch64-bmo-963027.patch
|
|
||||||
Patch33: mozilla-aarch64-bmo-963023.patch
|
|
||||||
Patch34: mozilla-aarch64-bmo-963024.patch
|
|
||||||
|
|
||||||
# Firefox/browser
|
# Firefox/browser
|
||||||
Patch101: firefox-kde.patch
|
Patch101: firefox-kde.patch
|
||||||
@ -198,7 +196,7 @@ of Firefox.
|
|||||||
%package translations-other
|
%package translations-other
|
||||||
Summary: Extra translations for Firefox
|
Summary: Extra translations for Firefox
|
||||||
Group: System/Localization
|
Group: System/Localization
|
||||||
Provides: locale(%{name}:ach;af;an;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lij;lt;lv;mai;mk;ml;mr;ms;nn_NO;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;vi;xh;zu)
|
Provides: locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Obsoletes: %{name}-translations < %{version}-%{release}
|
Obsoletes: %{name}-translations < %{version}-%{release}
|
||||||
|
|
||||||
@ -261,18 +259,7 @@ cd $RPM_BUILD_DIR/mozilla
|
|||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
|
||||||
%patch16 -p1
|
|
||||||
%patch17 -p1
|
|
||||||
%patch18 -p1
|
|
||||||
%patch19 -p1
|
|
||||||
%patch20 -p1
|
|
||||||
%patch21 -p1
|
|
||||||
%patch30 -p1
|
%patch30 -p1
|
||||||
%patch31 -p1
|
|
||||||
%patch32 -p1
|
|
||||||
%patch33 -p1
|
|
||||||
%patch34 -p1
|
|
||||||
|
|
||||||
# Firefox
|
# Firefox
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
@ -340,6 +327,9 @@ ac_add_options --disable-debug
|
|||||||
ac_add_options --enable-startup-notification
|
ac_add_options --enable-startup-notification
|
||||||
#ac_add_options --enable-chrome-format=jar
|
#ac_add_options --enable-chrome-format=jar
|
||||||
ac_add_options --enable-update-channel=%{update_channel}
|
ac_add_options --enable-update-channel=%{update_channel}
|
||||||
|
%if 0%{?gstreamer} == 1
|
||||||
|
ac_add_options --enable-gstreamer=1.0
|
||||||
|
%endif
|
||||||
%if %suse_version > 1130
|
%if %suse_version > 1130
|
||||||
ac_add_options --disable-gnomevfs
|
ac_add_options --disable-gnomevfs
|
||||||
ac_add_options --enable-gio
|
ac_add_options --enable-gio
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a0bdebb950897ad8ac5b25d45a547bef7e1c17b450f49a128ea9dd77bbb06d3b
|
oid sha256:acccf9b3b483f646264bbcb09ef709955a16e743dd3deb693a189aa775c50ee7
|
||||||
size 28408
|
size 28508
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
CHANNEL="release"
|
CHANNEL="release"
|
||||||
BRANCH="releases/mozilla-$CHANNEL"
|
BRANCH="releases/mozilla-$CHANNEL"
|
||||||
RELEASE_TAG="FIREFOX_29_0_1_RELEASE"
|
RELEASE_TAG="FIREFOX_30_0_RELEASE"
|
||||||
VERSION="29.0.1"
|
VERSION="30.0"
|
||||||
|
|
||||||
# mozilla
|
# mozilla
|
||||||
if [ -d mozilla ]; then
|
if [ -d mozilla ]; then
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:46f282cdc7346e148cf5b38c80ddec9c396d6a3167fbbe5ca67466525eeea650
|
|
||||||
size 120610264
|
|
3
firefox-30.0-source.tar.xz
Normal file
3
firefox-30.0-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:90179c3e6b747141f1f8d787135e2dc5879dae1c7be24cf3a8ae36e66e156258
|
||||||
|
size 121266984
|
@ -1,10 +1,10 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 5defe7bd2f041c227fe4a65f8a90e6cc42a9a339
|
# Parent ab6659ccbfbbfed31bce1bcd696a820069b9d7c0
|
||||||
|
|
||||||
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
|
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
|
||||||
--- a/browser/app/Makefile.in
|
--- a/browser/app/Makefile.in
|
||||||
+++ b/browser/app/Makefile.in
|
+++ b/browser/app/Makefile.in
|
||||||
@@ -133,16 +133,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
|
@@ -76,16 +76,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef MOZ_WIDGET_GTK
|
ifdef MOZ_WIDGET_GTK
|
||||||
@ -29,7 +29,7 @@ diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
|
|||||||
diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/Makefile.in
|
diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/Makefile.in
|
||||||
--- a/browser/branding/official/Makefile.in
|
--- a/browser/branding/official/Makefile.in
|
||||||
+++ b/browser/branding/official/Makefile.in
|
+++ b/browser/branding/official/Makefile.in
|
||||||
@@ -42,18 +42,21 @@ BRANDING_FILES := \
|
@@ -36,18 +36,21 @@ BRANDING_FILES := \
|
||||||
document.icns \
|
document.icns \
|
||||||
dsstore \
|
dsstore \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
@ -47,14 +47,14 @@ diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/M
|
|||||||
$(NULL)
|
$(NULL)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(OS_ARCH),OS2)
|
BRANDING_DEST := $(DIST)/branding
|
||||||
BRANDING_FILES := \
|
BRANDING_TARGET := export
|
||||||
firefox-os2.ico \
|
INSTALL_TARGETS += BRANDING
|
||||||
document-os2.ico \
|
|
||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||||
--- a/browser/installer/package-manifest.in
|
--- a/browser/installer/package-manifest.in
|
||||||
+++ b/browser/installer/package-manifest.in
|
+++ b/browser/installer/package-manifest.in
|
||||||
@@ -571,18 +571,21 @@
|
@@ -611,18 +611,21 @@
|
||||||
@BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
|
@BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
|
||||||
@BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
|
@BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
|
||||||
@BINPATH@/chrome/toolkit@JAREXT@
|
@BINPATH@/chrome/toolkit@JAREXT@
|
||||||
|
@ -2,7 +2,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/browser/base/content/browser-kde.xul
|
+++ b/browser/base/content/browser-kde.xul
|
||||||
@@ -0,0 +1,1217 @@
|
@@ -0,0 +1,1219 @@
|
||||||
+#filter substitution
|
+#filter substitution
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+# -*- Mode: HTML -*-
|
+# -*- Mode: HTML -*-
|
||||||
@ -411,14 +411,9 @@ new file mode 100644
|
|||||||
+ <image class="sync-panel-icon"/>
|
+ <image class="sync-panel-icon"/>
|
||||||
+ <vbox class="sync-panel-inner">
|
+ <vbox class="sync-panel-inner">
|
||||||
+ <description id="sync-start-panel-title"
|
+ <description id="sync-start-panel-title"
|
||||||
+ value="&syncStartPanel.heading;"/>
|
+ value="&syncStartPanel2.heading;"/>
|
||||||
+ <description id="sync-start-panel-subtitle">
|
+ <description id="sync-start-panel-subtitle"
|
||||||
+#ifdef XP_UNIX
|
+ value="&syncStartPanel2.subTitle;"/>
|
||||||
+ &syncStartPanel.subTitleUnix;
|
|
||||||
+#else
|
|
||||||
+ &syncStartPanel.subTitle;
|
|
||||||
+#endif
|
|
||||||
+ </description>
|
|
||||||
+ </vbox>
|
+ </vbox>
|
||||||
+ </hbox>
|
+ </hbox>
|
||||||
+ </panel>
|
+ </panel>
|
||||||
@ -714,6 +709,8 @@ new file mode 100644
|
|||||||
+ <image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
|
+ <image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>
|
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>
|
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
|
+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
|
+ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
+ <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>
|
+ <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>
|
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
+ </box>
|
+ </box>
|
||||||
@ -813,6 +810,12 @@ new file mode 100644
|
|||||||
+ oncommand="toggleSidebar('viewBookmarksSidebar');">
|
+ oncommand="toggleSidebar('viewBookmarksSidebar');">
|
||||||
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
|
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
|
||||||
+ </menuitem>
|
+ </menuitem>
|
||||||
|
+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
|
||||||
|
+ <menuitem id="BMB_bookmarksShowAllTop"
|
||||||
|
+ class="menuitem-iconic subviewbutton"
|
||||||
|
+ label="&showAllBookmarks2.label;"
|
||||||
|
+ command="Browser:ShowAllBookmarks"
|
||||||
|
+ key="manBookmarkKb"/>
|
||||||
+ <menuseparator/>
|
+ <menuseparator/>
|
||||||
+ <menuitem id="BMB_subscribeToPageMenuitem"
|
+ <menuitem id="BMB_subscribeToPageMenuitem"
|
||||||
+#ifndef XP_MACOSX
|
+#ifndef XP_MACOSX
|
||||||
@ -1111,7 +1114,6 @@ new file mode 100644
|
|||||||
+ command="Social:ToggleNotifications"
|
+ command="Social:ToggleNotifications"
|
||||||
+ label="&social.toggleNotifications.label;"
|
+ label="&social.toggleNotifications.label;"
|
||||||
+ accesskey="&social.toggleNotifications.accesskey;"/>
|
+ accesskey="&social.toggleNotifications.accesskey;"/>
|
||||||
+ <menuitem class="social-toggle-menuitem" command="Social:Toggle"/>
|
|
||||||
+ <menuseparator/>
|
+ <menuseparator/>
|
||||||
+ <menuseparator class="social-provider-menu" hidden="true"/>
|
+ <menuseparator class="social-provider-menu" hidden="true"/>
|
||||||
+ <menuitem class="social-addons-menuitem" command="Social:Addons"
|
+ <menuitem class="social-addons-menuitem" command="Social:Addons"
|
||||||
@ -1223,7 +1225,7 @@ new file mode 100644
|
|||||||
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||||
--- a/browser/base/jar.mn
|
--- a/browser/base/jar.mn
|
||||||
+++ b/browser/base/jar.mn
|
+++ b/browser/base/jar.mn
|
||||||
@@ -66,16 +66,18 @@ browser.jar:
|
@@ -62,16 +62,18 @@ browser.jar:
|
||||||
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
|
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
|
||||||
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
|
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
|
||||||
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
|
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
|
||||||
@ -1805,7 +1807,7 @@ new file mode 100644
|
|||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||||
--- a/browser/installer/package-manifest.in
|
--- a/browser/installer/package-manifest.in
|
||||||
+++ b/browser/installer/package-manifest.in
|
+++ b/browser/installer/package-manifest.in
|
||||||
@@ -654,19 +654,21 @@
|
@@ -641,19 +641,21 @@
|
||||||
@BINPATH@/defaults/autoconfig/prefcalls.js
|
@BINPATH@/defaults/autoconfig/prefcalls.js
|
||||||
@BINPATH@/browser/defaults/profile/prefs.js
|
@BINPATH@/browser/defaults/profile/prefs.js
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8bc0f98d4470ab7f9d6703107dae68ebb815e8a450ab1c87066be9b1063a06ee
|
|
||||||
size 39987132
|
|
3
l10n-30.0.tar.xz
Normal file
3
l10n-30.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a8e44a2e8fbe3fc63ae5867b2622f7b1dfdba83796a8533cbbfd494372ed8870
|
||||||
|
size 40423444
|
@ -1,80 +0,0 @@
|
|||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
|
||||||
# Date 1393440196 18000
|
|
||||||
# Node ID 6a46f53ad944b44385398822d7bcf7621a785d91
|
|
||||||
# Parent 0aa56e2a5f816a30da48701f73d03060ee9692b2
|
|
||||||
Bug 962488 - Update double-conversion for proper AArch64 support. r=froydnj
|
|
||||||
|
|
||||||
Fix imported from upstream repository:
|
|
||||||
https://code.google.com/p/double-conversion/source/detail?r=4e24bb31bcc76d6d218f3056b4c24a109d367561
|
|
||||||
|
|
||||||
diff --git a/mfbt/double-conversion/fix-aarch64-macro.patch b/mfbt/double-conversion/fix-aarch64-macro.patch
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/mfbt/double-conversion/fix-aarch64-macro.patch
|
|
||||||
@@ -0,0 +1,23 @@
|
|
||||||
+Backport from upstream.
|
|
||||||
+
|
|
||||||
+https://code.google.com/p/double-conversion/source/detail?r=4e24bb31bcc76d6d218f3056b4c24a109d367561
|
|
||||||
+
|
|
||||||
+---
|
|
||||||
+ mfbt/double-conversion/utils.h | 2 +-
|
|
||||||
+ 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
+
|
|
||||||
+--- a/mfbt/double-conversion/utils.h
|
|
||||||
++++ b/mfbt/double-conversion/utils.h
|
|
||||||
+@@ -58,11 +58,11 @@
|
|
||||||
+ defined(__mips__) || \
|
|
||||||
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
|
|
||||||
+ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
|
||||||
+ defined(__SH4__) || defined(__alpha__) || \
|
|
||||||
+ defined(_MIPS_ARCH_MIPS32R2) || \
|
|
||||||
+- defined(_AARCH64EL_)
|
|
||||||
++ defined(__AARCH64EL__)
|
|
||||||
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
|
||||||
+ #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
|
|
||||||
+ #if defined(_WIN32)
|
|
||||||
+ // Windows uses a 64bit wide floating point stack.
|
|
||||||
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
|
||||||
diff --git a/mfbt/double-conversion/update.sh b/mfbt/double-conversion/update.sh
|
|
||||||
--- a/mfbt/double-conversion/update.sh
|
|
||||||
+++ b/mfbt/double-conversion/update.sh
|
|
||||||
@@ -15,9 +15,12 @@ cp $1/src/*.h ./
|
|
||||||
|
|
||||||
# Source
|
|
||||||
cp $1/src/*.cc ./
|
|
||||||
|
|
||||||
patch -p3 < add-mfbt-api-markers.patch
|
|
||||||
patch -p3 < use-StandardInteger.patch
|
|
||||||
patch -p3 < use-mozilla-assertions.patch
|
|
||||||
patch -p3 < use-static_assert.patch
|
|
||||||
-patch -p3 < ToPrecision-exponential.patch
|
|
||||||
\ No newline at end of file
|
|
||||||
+patch -p3 < ToPrecision-exponential.patch
|
|
||||||
+
|
|
||||||
+# Merged upstream, part of 2.0.1 version
|
|
||||||
+patch -p3 < fix-aarch64-macro.patch
|
|
||||||
diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
|
|
||||||
--- a/mfbt/double-conversion/utils.h
|
|
||||||
+++ b/mfbt/double-conversion/utils.h
|
|
||||||
@@ -55,17 +55,17 @@
|
|
||||||
#if defined(_M_X64) || defined(__x86_64__) || \
|
|
||||||
defined(__ARMEL__) || defined(__avr32__) || \
|
|
||||||
defined(__hppa__) || defined(__ia64__) || \
|
|
||||||
defined(__mips__) || \
|
|
||||||
defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
|
|
||||||
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
|
||||||
defined(__SH4__) || defined(__alpha__) || \
|
|
||||||
defined(_MIPS_ARCH_MIPS32R2) || \
|
|
||||||
- defined(_AARCH64EL_)
|
|
||||||
+ defined(__AARCH64EL__)
|
|
||||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
|
||||||
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
|
|
||||||
#if defined(_WIN32)
|
|
||||||
// Windows uses a 64bit wide floating point stack.
|
|
||||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
|
||||||
#else
|
|
||||||
#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
|
|
||||||
#endif // _WIN32
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
|||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
|
||||||
# Date 1392217668 18000
|
|
||||||
# Node ID 4e9b713f435ade266a68a8d7ba08aad65c3fa6c5
|
|
||||||
# Parent 282b6e88f9d4c2367a72836f6f9efeab2aadaa58
|
|
||||||
Bug 963023 - AArch64 support for libevent. r=froydnj
|
|
||||||
|
|
||||||
diff --git a/ipc/chromium/src/third_party/libevent-use-non-deprecated-syscalls.patch b/ipc/chromium/src/third_party/libevent-use-non-deprecated-syscalls.patch
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ipc/chromium/src/third_party/libevent-use-non-deprecated-syscalls.patch
|
|
||||||
@@ -0,0 +1,43 @@
|
|
||||||
+---
|
|
||||||
+ ipc/chromium/src/third_party/libevent/epoll_sub.c | 13 +++++++++++++
|
|
||||||
+ 1 file changed, 13 insertions(+)
|
|
||||||
+
|
|
||||||
+--- mozilla-central.orig/ipc/chromium/src/third_party/libevent/epoll_sub.c
|
|
||||||
++++ mozilla-central/ipc/chromium/src/third_party/libevent/epoll_sub.c
|
|
||||||
+@@ -29,15 +29,24 @@
|
|
||||||
+ #include <sys/param.h>
|
|
||||||
+ #include <sys/types.h>
|
|
||||||
+ #include <sys/syscall.h>
|
|
||||||
+ #include <sys/epoll.h>
|
|
||||||
+ #include <unistd.h>
|
|
||||||
++#include <errno.h>
|
|
||||||
+
|
|
||||||
+ int
|
|
||||||
+ epoll_create(int size)
|
|
||||||
+ {
|
|
||||||
++#if !defined(__NR_epoll_create) && defined(__NR_epoll_create1)
|
|
||||||
++ if (size <= 0) {
|
|
||||||
++ errno = EINVAL;
|
|
||||||
++ return -1;
|
|
||||||
++ }
|
|
||||||
++ return (syscall(__NR_epoll_create1, 0));
|
|
||||||
++#else
|
|
||||||
+ return (syscall(__NR_epoll_create, size));
|
|
||||||
++#endif
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ int
|
|
||||||
+ epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
|
|
||||||
+ {
|
|
||||||
+@@ -46,7 +55,11 @@ epoll_ctl(int epfd, int op, int fd, stru
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ int
|
|
||||||
+ epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
|
|
||||||
+ {
|
|
||||||
++#if !defined(__NR_epoll_wait) && defined(__NR_epoll_pwait)
|
|
||||||
++ return (syscall(__NR_epoll_pwait, epfd, events, maxevents, timeout, NULL, 0));
|
|
||||||
++#else
|
|
||||||
+ return (syscall(__NR_epoll_wait, epfd, events, maxevents, timeout));
|
|
||||||
++#endif
|
|
||||||
+ }
|
|
||||||
diff --git a/ipc/chromium/src/third_party/libevent/README.mozilla b/ipc/chromium/src/third_party/libevent/README.mozilla
|
|
||||||
--- a/ipc/chromium/src/third_party/libevent/README.mozilla
|
|
||||||
+++ b/ipc/chromium/src/third_party/libevent/README.mozilla
|
|
||||||
@@ -8,8 +8,10 @@ android/event2/event-config.h
|
|
||||||
|
|
||||||
These files are taken from libevent-2.0.21-stable built on the development environment indicated by the first path component. You have to run "./configure" and "make" to get all of the pre-processing done. The file can then be found in "include/event2/".
|
|
||||||
|
|
||||||
2. This is ugly, prepare yourself. OS X has a weird problem with how the "TAILQ_END(head)" is used, causing a linking error. Just replace all use of the "TAILQ_END(head)" macro with "NULL".
|
|
||||||
|
|
||||||
3. Apply "add mac-arc4random-buf.patch", which removes some bad OS X compatibility code. This will allow libevent to compile on all supported versions of OS X.
|
|
||||||
|
|
||||||
4. Apply "openbsd-no-arc4random_addrandom.patch", which fixes the build on OpenBSD (which doesnt provide arc4random_addrandom anymore, see #931354)
|
|
||||||
+
|
|
||||||
+5. Apply "libevent-use-non-deprecated-syscalls.patch", which fixes the build on AArch64 architecture (which does not provide deprecated syscalls)
|
|
||||||
diff --git a/ipc/chromium/src/third_party/libevent/epoll_sub.c b/ipc/chromium/src/third_party/libevent/epoll_sub.c
|
|
||||||
--- a/ipc/chromium/src/third_party/libevent/epoll_sub.c
|
|
||||||
+++ b/ipc/chromium/src/third_party/libevent/epoll_sub.c
|
|
||||||
@@ -26,27 +26,40 @@
|
|
||||||
*/
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
#include <sys/epoll.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#include <errno.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
epoll_create(int size)
|
|
||||||
{
|
|
||||||
+#if !defined(__NR_epoll_create) && defined(__NR_epoll_create1)
|
|
||||||
+ if (size <= 0) {
|
|
||||||
+ errno = EINVAL;
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ return (syscall(__NR_epoll_create1, 0));
|
|
||||||
+#else
|
|
||||||
return (syscall(__NR_epoll_create, size));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
|
|
||||||
{
|
|
||||||
|
|
||||||
return (syscall(__NR_epoll_ctl, epfd, op, fd, event));
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
|
|
||||||
{
|
|
||||||
+#if !defined(__NR_epoll_wait) && defined(__NR_epoll_pwait)
|
|
||||||
+ return (syscall(__NR_epoll_pwait, epfd, events, maxevents, timeout, NULL, 0));
|
|
||||||
+#else
|
|
||||||
return (syscall(__NR_epoll_wait, epfd, events, maxevents, timeout));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
@ -1,517 +0,0 @@
|
|||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
|
||||||
# Date 1393440196 18000
|
|
||||||
# Node ID d56b5c1a557348d4ac14a4d1ea7a5b5d240e3647
|
|
||||||
# Parent 6a46f53ad944b44385398822d7bcf7621a785d91
|
|
||||||
Bug 963024 - AArch64 support for XPCOM. r=froydnj
|
|
||||||
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/moz.build b/xpcom/reflect/xptcall/src/md/unix/moz.build
|
|
||||||
--- a/xpcom/reflect/xptcall/src/md/unix/moz.build
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/moz.build
|
|
||||||
@@ -144,16 +144,23 @@ if CONFIG['OS_ARCH'] == 'NetBSD':
|
|
||||||
if CONFIG['OS_TEST'] in ('amiga', 'atari', 'hp300', 'mac68k', 'mvme68k',
|
|
||||||
'next68k', 'sun3', 'sun3x', 'x68k'):
|
|
||||||
SOURCES += [
|
|
||||||
'xptcinvoke_netbsd_m68k.cpp',
|
|
||||||
'xptcstubs_netbsd_m68k.cpp'
|
|
||||||
]
|
|
||||||
|
|
||||||
if CONFIG['OS_ARCH'] == 'Linux':
|
|
||||||
+ if CONFIG['OS_TEST'] == 'aarch64':
|
|
||||||
+ SOURCES += [
|
|
||||||
+ 'xptcinvoke_aarch64.cpp',
|
|
||||||
+ 'xptcinvoke_asm_aarch64.s',
|
|
||||||
+ 'xptcstubs_aarch64.cpp',
|
|
||||||
+ 'xptcstubs_asm_aarch64.s',
|
|
||||||
+ ]
|
|
||||||
if CONFIG['OS_TEST'] == 'm68k':
|
|
||||||
SOURCES += [
|
|
||||||
'xptcinvoke_linux_m68k.cpp',
|
|
||||||
'xptcstubs_linux_m68k.cpp',
|
|
||||||
]
|
|
||||||
if CONFIG['OS_TEST'].find('mips') != -1:
|
|
||||||
if CONFIG['OS_TEST'].find('mips64') != -1:
|
|
||||||
SOURCES += [
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_aarch64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_aarch64.cpp
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_aarch64.cpp
|
|
||||||
@@ -0,0 +1,136 @@
|
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+ * 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/. */
|
|
||||||
+
|
|
||||||
+/* Platform specific code to invoke XPCOM methods on native objects */
|
|
||||||
+
|
|
||||||
+#include "xptcprivate.h"
|
|
||||||
+
|
|
||||||
+#if !defined(__aarch64__)
|
|
||||||
+#error "This code is for Linux AArch64 only."
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/* "Procedure Call Standard for the ARM 64-bit Architecture" document, sections
|
|
||||||
+ * "5.4 Parameter Passing" and "6.1.2 Procedure Calling" contain all the
|
|
||||||
+ * needed information.
|
|
||||||
+ *
|
|
||||||
+ * http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifndef __AARCH64EL__
|
|
||||||
+#error "Only little endian compatibility was tested"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Allocation of integer function arguments initially to registers r1-r7
|
|
||||||
+ * and then to stack. Handling of 'that' argument which goes to register r0
|
|
||||||
+ * is handled separately and does not belong here.
|
|
||||||
+ *
|
|
||||||
+ * 'ireg_args' - pointer to the current position in the buffer,
|
|
||||||
+ * corresponding to the register arguments
|
|
||||||
+ * 'stack_args' - pointer to the current position in the buffer,
|
|
||||||
+ * corresponding to the arguments on stack
|
|
||||||
+ * 'end' - pointer to the end of the registers argument
|
|
||||||
+ * buffer.
|
|
||||||
+ */
|
|
||||||
+static inline void alloc_word(uint64_t* &ireg_args,
|
|
||||||
+ uint64_t* &stack_args,
|
|
||||||
+ uint64_t* end,
|
|
||||||
+ uint64_t data)
|
|
||||||
+{
|
|
||||||
+ if (ireg_args < end) {
|
|
||||||
+ *ireg_args = data;
|
|
||||||
+ ireg_args++;
|
|
||||||
+ } else {
|
|
||||||
+ *stack_args = data;
|
|
||||||
+ stack_args++;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void alloc_double(double* &freg_args,
|
|
||||||
+ uint64_t* &stack_args,
|
|
||||||
+ double* end,
|
|
||||||
+ double data)
|
|
||||||
+{
|
|
||||||
+ if (freg_args < end) {
|
|
||||||
+ *freg_args = data;
|
|
||||||
+ freg_args++;
|
|
||||||
+ } else {
|
|
||||||
+ memcpy(stack_args, &data, sizeof(data));
|
|
||||||
+ stack_args++;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void alloc_float(double* &freg_args,
|
|
||||||
+ uint64_t* &stack_args,
|
|
||||||
+ double* end,
|
|
||||||
+ float data)
|
|
||||||
+{
|
|
||||||
+ if (freg_args < end) {
|
|
||||||
+ memcpy(freg_args, &data, sizeof(data));
|
|
||||||
+ freg_args++;
|
|
||||||
+ } else {
|
|
||||||
+ memcpy(stack_args, &data, sizeof(data));
|
|
||||||
+ stack_args++;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+extern "C" void
|
|
||||||
+invoke_copy_to_stack(uint64_t* stk, uint64_t *end,
|
|
||||||
+ uint32_t paramCount, nsXPTCVariant* s)
|
|
||||||
+{
|
|
||||||
+ uint64_t *ireg_args = stk;
|
|
||||||
+ uint64_t *ireg_end = ireg_args + 8;
|
|
||||||
+ double *freg_args = (double *)ireg_end;
|
|
||||||
+ double *freg_end = freg_args + 8;
|
|
||||||
+ uint64_t *stack_args = (uint64_t *)freg_end;
|
|
||||||
+
|
|
||||||
+ // leave room for 'that' argument in x0
|
|
||||||
+ ++ireg_args;
|
|
||||||
+
|
|
||||||
+ for (uint32_t i = 0; i < paramCount; i++, s++) {
|
|
||||||
+ if (s->IsPtrData()) {
|
|
||||||
+ alloc_word(ireg_args, stack_args, ireg_end, (uint64_t)s->ptr);
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ // According to the ABI, integral types that are smaller than 8 bytes
|
|
||||||
+ // are to be passed in 8-byte registers or 8-byte stack slots.
|
|
||||||
+ switch (s->type) {
|
|
||||||
+ case nsXPTType::T_FLOAT:
|
|
||||||
+ alloc_float(freg_args, stack_args, freg_end, s->val.f);
|
|
||||||
+ break;
|
|
||||||
+ case nsXPTType::T_DOUBLE:
|
|
||||||
+ alloc_double(freg_args, stack_args, freg_end, s->val.d);
|
|
||||||
+ break;
|
|
||||||
+ case nsXPTType::T_I8: alloc_word(ireg_args, stk, end, s->val.i8); break;
|
|
||||||
+ case nsXPTType::T_I16: alloc_word(ireg_args, stk, end, s->val.i16); break;
|
|
||||||
+ case nsXPTType::T_I32: alloc_word(ireg_args, stk, end, s->val.i32); break;
|
|
||||||
+ case nsXPTType::T_I64: alloc_word(ireg_args, stk, end, s->val.i64); break;
|
|
||||||
+ case nsXPTType::T_U8: alloc_word(ireg_args, stk, end, s->val.u8); break;
|
|
||||||
+ case nsXPTType::T_U16: alloc_word(ireg_args, stk, end, s->val.u16); break;
|
|
||||||
+ case nsXPTType::T_U32: alloc_word(ireg_args, stk, end, s->val.u32); break;
|
|
||||||
+ case nsXPTType::T_U64: alloc_word(ireg_args, stk, end, s->val.u64); break;
|
|
||||||
+ case nsXPTType::T_BOOL: alloc_word(ireg_args, stk, end, s->val.b); break;
|
|
||||||
+ case nsXPTType::T_CHAR: alloc_word(ireg_args, stk, end, s->val.c); break;
|
|
||||||
+ case nsXPTType::T_WCHAR: alloc_word(ireg_args, stk, end, s->val.wc); break;
|
|
||||||
+ default:
|
|
||||||
+ // all the others are plain pointer types
|
|
||||||
+ alloc_word(ireg_args, stack_args, ireg_end,
|
|
||||||
+ reinterpret_cast<uint64_t>(s->val.p));
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+extern "C" nsresult _NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
|
||||||
+ uint32_t paramCount, nsXPTCVariant* params);
|
|
||||||
+
|
|
||||||
+EXPORT_XPCOM_API(nsresult)
|
|
||||||
+NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
|
||||||
+ uint32_t paramCount, nsXPTCVariant* params)
|
|
||||||
+{
|
|
||||||
+ return _NS_InvokeByIndex(that, methodIndex, paramCount, params);
|
|
||||||
+}
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_aarch64.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_aarch64.s
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_aarch64.s
|
|
||||||
@@ -0,0 +1,67 @@
|
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+ * 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/. */
|
|
||||||
+
|
|
||||||
+ .section ".text"
|
|
||||||
+ .globl _NS_InvokeByIndex
|
|
||||||
+ .type _NS_InvokeByIndex,@function
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * _NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
|
||||||
+ * uint32_t paramCount, nsXPTCVariant* params)
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+_NS_InvokeByIndex:
|
|
||||||
+ # set up frame
|
|
||||||
+ stp x29, x30, [sp,#-32]!
|
|
||||||
+ mov x29, sp
|
|
||||||
+ stp x19, x20, [sp,#16]
|
|
||||||
+
|
|
||||||
+ # save methodIndex across function calls
|
|
||||||
+ mov w20, w1
|
|
||||||
+
|
|
||||||
+ # end of stack area passed to invoke_copy_to_stack
|
|
||||||
+ mov x1, sp
|
|
||||||
+
|
|
||||||
+ # assume 8 bytes of stack for each argument with 16-byte alignment
|
|
||||||
+ add w19, w2, #1
|
|
||||||
+ and w19, w19, #0xfffffffe
|
|
||||||
+ sub sp, sp, w19, uxth #3
|
|
||||||
+
|
|
||||||
+ # temporary place to store args passed in r0-r7,v0-v7
|
|
||||||
+ sub sp, sp, #128
|
|
||||||
+
|
|
||||||
+ # save 'that' on stack
|
|
||||||
+ str x0, [sp]
|
|
||||||
+
|
|
||||||
+ # start of stack area passed to invoke_copy_to_stack
|
|
||||||
+ mov x0, sp
|
|
||||||
+ bl invoke_copy_to_stack
|
|
||||||
+
|
|
||||||
+ # load arguments passed in r0-r7
|
|
||||||
+ ldp x6, x7, [sp, #48]
|
|
||||||
+ ldp x4, x5, [sp, #32]
|
|
||||||
+ ldp x2, x3, [sp, #16]
|
|
||||||
+ ldp x0, x1, [sp],#64
|
|
||||||
+
|
|
||||||
+ # load arguments passed in v0-v7
|
|
||||||
+ ldp d6, d7, [sp, #48]
|
|
||||||
+ ldp d4, d5, [sp, #32]
|
|
||||||
+ ldp d2, d3, [sp, #16]
|
|
||||||
+ ldp d0, d1, [sp],#64
|
|
||||||
+
|
|
||||||
+ # call the method
|
|
||||||
+ ldr x16, [x0]
|
|
||||||
+ add x16, x16, w20, uxth #3
|
|
||||||
+ ldr x16, [x16]
|
|
||||||
+ blr x16
|
|
||||||
+
|
|
||||||
+ add sp, sp, w19, uxth #3
|
|
||||||
+ ldp x19, x20, [sp,#16]
|
|
||||||
+ ldp x29, x30, [sp],#32
|
|
||||||
+ ret
|
|
||||||
+
|
|
||||||
+ .size _NS_InvokeByIndex, . - _NS_InvokeByIndex
|
|
||||||
+
|
|
||||||
+
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_aarch64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_aarch64.cpp
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_aarch64.cpp
|
|
||||||
@@ -0,0 +1,219 @@
|
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+ * 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 "xptcprivate.h"
|
|
||||||
+#include "xptiprivate.h"
|
|
||||||
+
|
|
||||||
+#ifndef __AARCH64EL__
|
|
||||||
+#error "Only little endian compatibility was tested"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * This is for AArch64 ABI
|
|
||||||
+ *
|
|
||||||
+ * When we're called, the "gp" registers are stored in gprData and
|
|
||||||
+ * the "fp" registers are stored in fprData. Each array has 8 regs
|
|
||||||
+ * but first reg in gprData is a placeholder for 'self'.
|
|
||||||
+ */
|
|
||||||
+extern "C" nsresult
|
|
||||||
+PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint64_t* args,
|
|
||||||
+ uint64_t *gprData, double *fprData)
|
|
||||||
+{
|
|
||||||
+#define PARAM_BUFFER_COUNT 16
|
|
||||||
+#define PARAM_GPR_COUNT 8
|
|
||||||
+#define PARAM_FPR_COUNT 8
|
|
||||||
+
|
|
||||||
+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
|
||||||
+ nsXPTCMiniVariant* dispatchParams = NULL;
|
|
||||||
+ const nsXPTMethodInfo* info;
|
|
||||||
+ nsresult result = NS_ERROR_FAILURE;
|
|
||||||
+
|
|
||||||
+ NS_ASSERTION(self,"no self");
|
|
||||||
+
|
|
||||||
+ self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
|
|
||||||
+ NS_ASSERTION(info,"no method info");
|
|
||||||
+
|
|
||||||
+ uint32_t paramCount = info->GetParamCount();
|
|
||||||
+
|
|
||||||
+ // setup variant array pointer
|
|
||||||
+ if (paramCount > PARAM_BUFFER_COUNT) {
|
|
||||||
+ dispatchParams = new nsXPTCMiniVariant[paramCount];
|
|
||||||
+ } else {
|
|
||||||
+ dispatchParams = paramBuffer;
|
|
||||||
+ }
|
|
||||||
+ NS_ASSERTION(dispatchParams,"no place for params");
|
|
||||||
+
|
|
||||||
+ uint64_t* ap = args;
|
|
||||||
+ uint32_t next_gpr = 1; // skip first arg which is 'self'
|
|
||||||
+ uint32_t next_fpr = 0;
|
|
||||||
+ for (uint32_t i = 0; i < paramCount; i++) {
|
|
||||||
+ const nsXPTParamInfo& param = info->GetParam(i);
|
|
||||||
+ const nsXPTType& type = param.GetType();
|
|
||||||
+ nsXPTCMiniVariant* dp = &dispatchParams[i];
|
|
||||||
+
|
|
||||||
+ if (param.IsOut() || !type.IsArithmetic()) {
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.p = (void*)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.p = (void*)*ap++;
|
|
||||||
+ }
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ switch (type) {
|
|
||||||
+ case nsXPTType::T_I8:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.i8 = (int8_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.i8 = (int8_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_I16:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.i16 = (int16_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.i16 = (int16_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_I32:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.i32 = (int32_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.i32 = (int32_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_I64:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.i64 = (int64_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.i64 = (int64_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_U8:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.u8 = (uint8_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.u8 = (uint8_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_U16:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.u16 = (uint16_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.u16 = (uint16_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_U32:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.u32 = (uint32_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.u32 = (uint32_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_U64:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.u64 = (uint64_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.u64 = (uint64_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_FLOAT:
|
|
||||||
+ if (next_fpr < PARAM_FPR_COUNT) {
|
|
||||||
+ memcpy(&dp->val.f, &fprData[next_fpr++], sizeof(dp->val.f));
|
|
||||||
+ } else {
|
|
||||||
+ memcpy(&dp->val.f, ap++, sizeof(dp->val.f));
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_DOUBLE:
|
|
||||||
+ if (next_fpr < PARAM_FPR_COUNT) {
|
|
||||||
+ memcpy(&dp->val.d, &fprData[next_fpr++], sizeof(dp->val.d));
|
|
||||||
+ } else {
|
|
||||||
+ memcpy(&dp->val.d, ap++, sizeof(dp->val.d));
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_BOOL:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.b = (bool)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.b = (bool)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_CHAR:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.c = (char)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.c = (char)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case nsXPTType::T_WCHAR:
|
|
||||||
+ if (next_gpr < PARAM_GPR_COUNT) {
|
|
||||||
+ dp->val.wc = (wchar_t)gprData[next_gpr++];
|
|
||||||
+ } else {
|
|
||||||
+ dp->val.wc = (wchar_t)*ap++;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ default:
|
|
||||||
+ NS_ASSERTION(0, "bad type");
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ result = self->mOuter->CallMethod((uint16_t)methodIndex, info, dispatchParams);
|
|
||||||
+
|
|
||||||
+ if (dispatchParams != paramBuffer) {
|
|
||||||
+ delete [] dispatchParams;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+// Load w17 with the constant 'n' and branch to SharedStub().
|
|
||||||
+# define STUB_ENTRY(n) \
|
|
||||||
+ __asm__ ( \
|
|
||||||
+ ".section \".text\" \n\t" \
|
|
||||||
+ ".align 2\n\t" \
|
|
||||||
+ ".if "#n" < 10 \n\t" \
|
|
||||||
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
|
||||||
+ ".hidden _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
|
||||||
+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
|
|
||||||
+ "_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
|
|
||||||
+ ".elseif "#n" < 100 \n\t" \
|
|
||||||
+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
|
||||||
+ ".hidden _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
|
||||||
+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
|
|
||||||
+ "_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
|
|
||||||
+ ".elseif "#n" < 1000 \n\t" \
|
|
||||||
+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
|
||||||
+ ".hidden _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
|
||||||
+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
|
|
||||||
+ "_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
|
|
||||||
+ ".else \n\t" \
|
|
||||||
+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
|
|
||||||
+ ".endif \n\t" \
|
|
||||||
+ "mov w17,#"#n" \n\t" \
|
|
||||||
+ "b SharedStub \n" \
|
|
||||||
+);
|
|
||||||
+
|
|
||||||
+#define SENTINEL_ENTRY(n) \
|
|
||||||
+ nsresult nsXPTCStubBase::Sentinel##n() \
|
|
||||||
+{ \
|
|
||||||
+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
|
||||||
+ return NS_ERROR_NOT_IMPLEMENTED; \
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#include "xptcstubsdef.inc"
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_aarch64.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_aarch64.s
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_aarch64.s
|
|
||||||
@@ -0,0 +1,39 @@
|
|
||||||
+# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+# 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/.
|
|
||||||
+
|
|
||||||
+ .set NGPREGS,8
|
|
||||||
+ .set NFPREGS,8
|
|
||||||
+
|
|
||||||
+ .section ".text"
|
|
||||||
+ .globl SharedStub
|
|
||||||
+ .hidden SharedStub
|
|
||||||
+ .type SharedStub,@function
|
|
||||||
+SharedStub:
|
|
||||||
+ stp x29, x30, [sp,#-16]!
|
|
||||||
+ mov x29, sp
|
|
||||||
+
|
|
||||||
+ sub sp, sp, #8*(NGPREGS+NFPREGS)
|
|
||||||
+ stp x0, x1, [sp, #64+(0*8)]
|
|
||||||
+ stp x2, x3, [sp, #64+(2*8)]
|
|
||||||
+ stp x4, x5, [sp, #64+(4*8)]
|
|
||||||
+ stp x6, x7, [sp, #64+(6*8)]
|
|
||||||
+ stp d0, d1, [sp, #(0*8)]
|
|
||||||
+ stp d2, d3, [sp, #(2*8)]
|
|
||||||
+ stp d4, d5, [sp, #(4*8)]
|
|
||||||
+ stp d6, d7, [sp, #(6*8)]
|
|
||||||
+
|
|
||||||
+ # methodIndex passed from stub
|
|
||||||
+ mov w1, w17
|
|
||||||
+
|
|
||||||
+ add x2, sp, #16+(8*(NGPREGS+NFPREGS))
|
|
||||||
+ add x3, sp, #8*NFPREGS
|
|
||||||
+ add x4, sp, #0
|
|
||||||
+
|
|
||||||
+ bl PrepareAndDispatch
|
|
||||||
+
|
|
||||||
+ add sp, sp, #8*(NGPREGS+NFPREGS)
|
|
||||||
+ ldp x29, x30, [sp],#16
|
|
||||||
+ ret
|
|
||||||
+
|
|
||||||
+ .size SharedStub, . - SharedStub
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
|
||||||
# Date 1392218661 18000
|
|
||||||
# Node ID 38fca44b6b86e2f12535900e2084f0378217570f
|
|
||||||
# Parent 8858624d813a6200b059590c146cf774fc16ff38
|
|
||||||
Bug 963027 - AArch64 support for WebRTC. r=derf
|
|
||||||
|
|
||||||
Index: mozilla/media/webrtc/trunk/webrtc/typedefs.h
|
|
||||||
===================================================================
|
|
||||||
--- mozilla.orig/media/webrtc/trunk/webrtc/typedefs.h
|
|
||||||
+++ mozilla/media/webrtc/trunk/webrtc/typedefs.h
|
|
||||||
@@ -113,6 +113,16 @@
|
|
||||||
#define WEBRTC_ARCH_32_BITS 1
|
|
||||||
#define WEBRTC_ARCH_BIG_ENDIAN
|
|
||||||
#define WEBRTC_BIG_ENDIAN
|
|
||||||
+#elif defined(__aarch64__)
|
|
||||||
+#define WEBRTC_ARCH_AARCH64 1
|
|
||||||
+#define WEBRTC_ARCH_64_BITS 1
|
|
||||||
+#if defined(__AARCH64EL__)
|
|
||||||
+#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
||||||
+#define WEBRTC_LITTLE_ENDIAN
|
|
||||||
+#elif defined(__AARCH64EB__)
|
|
||||||
+#define WEBRTC_ARCH_BIG_ENDIAN
|
|
||||||
+#define WEBRTC_BIG_ENDIAN
|
|
||||||
+#endif
|
|
||||||
#elif defined(__alpha__)
|
|
||||||
#define WEBRTC_ARCH_ALPHA 1
|
|
||||||
#define WEBRTC_ARCH_64_BITS 1
|
|
@ -44,7 +44,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
|||||||
#include "prefread.h"
|
#include "prefread.h"
|
||||||
#include "prefapi_private_data.h"
|
#include "prefapi_private_data.h"
|
||||||
|
|
||||||
@@ -1113,16 +1114,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
@@ -1119,16 +1120,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||||
|
|
||||||
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
||||||
{
|
{
|
||||||
@ -79,7 +79,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
bool hasMore;
|
bool hasMore;
|
||||||
@@ -1138,17 +1157,17 @@ static nsresult pref_LoadPrefsInDirList(
|
@@ -1144,17 +1163,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||||
|
|
||||||
nsAutoCString leaf;
|
nsAutoCString leaf;
|
||||||
path->GetNativeLeafName(leaf);
|
path->GetNativeLeafName(leaf);
|
||||||
@ -98,7 +98,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
|||||||
{
|
{
|
||||||
nsZipItemPtr<char> manifest(jarReader, name, true);
|
nsZipItemPtr<char> manifest(jarReader, name, true);
|
||||||
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
||||||
@@ -1242,28 +1261,40 @@ static nsresult pref_InitInitialObjects(
|
@@ -1248,26 +1267,38 @@ static nsresult pref_InitInitialObjects(
|
||||||
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
|
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
|
||||||
static const char* specialFiles[] = {
|
static const char* specialFiles[] = {
|
||||||
#if defined(XP_MACOSX)
|
#if defined(XP_MACOSX)
|
||||||
@ -113,8 +113,6 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
|||||||
#elif defined(_AIX)
|
#elif defined(_AIX)
|
||||||
, "aix.js"
|
, "aix.js"
|
||||||
#endif
|
#endif
|
||||||
#elif defined(XP_OS2)
|
|
||||||
"os2pref.js"
|
|
||||||
#elif defined(XP_BEOS)
|
#elif defined(XP_BEOS)
|
||||||
"beos.js"
|
"beos.js"
|
||||||
#endif
|
#endif
|
||||||
@ -184,21 +182,21 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
|
|||||||
diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
|
diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
|
||||||
--- a/toolkit/components/downloads/Makefile.in
|
--- a/toolkit/components/downloads/Makefile.in
|
||||||
+++ b/toolkit/components/downloads/Makefile.in
|
+++ b/toolkit/components/downloads/Makefile.in
|
||||||
@@ -4,9 +4,10 @@
|
@@ -1,9 +1,9 @@
|
||||||
|
#
|
||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
CXXFLAGS += $(TK_CFLAGS) -DGOOGLE_PROTOBUF_NO_RTTI
|
CXXFLAGS += $(TK_CFLAGS)
|
||||||
|
-
|
||||||
LOCAL_INCLUDES += \
|
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||||
-I$(srcdir)/../protobuf \
|
|
||||||
+ -I$(topsrcdir)/toolkit/xre \
|
|
||||||
$(NULL)
|
|
||||||
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
|
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||||
--- a/toolkit/components/downloads/nsDownloadManager.cpp
|
--- a/toolkit/components/downloads/nsDownloadManager.cpp
|
||||||
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
|
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||||
@@ -41,16 +41,20 @@
|
@@ -42,16 +42,20 @@
|
||||||
#ifdef XP_WIN
|
#ifdef XP_WIN
|
||||||
#include <shlobj.h>
|
#include <shlobj.h>
|
||||||
#include "nsWindowsHelpers.h"
|
#include "nsWindowsHelpers.h"
|
||||||
@ -219,7 +217,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
|||||||
#include "AndroidBridge.h"
|
#include "AndroidBridge.h"
|
||||||
using namespace mozilla::widget::android;
|
using namespace mozilla::widget::android;
|
||||||
#endif
|
#endif
|
||||||
@@ -2687,16 +2691,25 @@ nsDownload::SetState(DownloadState aStat
|
@@ -2695,16 +2699,25 @@ nsDownload::SetState(DownloadState aStat
|
||||||
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||||
|
|
||||||
// Master pref to control this function.
|
// Master pref to control this function.
|
||||||
@ -245,7 +243,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
|||||||
int64_t goat = PR_Now() - mStartTime;
|
int64_t goat = PR_Now() - mStartTime;
|
||||||
showTaskbarAlert = goat > alertIntervalUSec;
|
showTaskbarAlert = goat > alertIntervalUSec;
|
||||||
|
|
||||||
@@ -2724,19 +2737,20 @@ nsDownload::SetState(DownloadState aStat
|
@@ -2732,19 +2745,20 @@ nsDownload::SetState(DownloadState aStat
|
||||||
// because if it is, they'll click open the download manager and
|
// because if it is, they'll click open the download manager and
|
||||||
// the items they downloaded will have been removed.
|
// the items they downloaded will have been removed.
|
||||||
alerts->ShowAlertNotification(
|
alerts->ShowAlertNotification(
|
||||||
@ -270,7 +268,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
|||||||
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||||
--- a/toolkit/content/jar.mn
|
--- a/toolkit/content/jar.mn
|
||||||
+++ b/toolkit/content/jar.mn
|
+++ b/toolkit/content/jar.mn
|
||||||
@@ -55,29 +55,33 @@ toolkit.jar:
|
@@ -56,29 +56,33 @@ toolkit.jar:
|
||||||
content/global/viewZoomOverlay.js (viewZoomOverlay.js)
|
content/global/viewZoomOverlay.js (viewZoomOverlay.js)
|
||||||
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
|
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
|
||||||
content/global/bindings/browser.xml (widgets/browser.xml)
|
content/global/bindings/browser.xml (widgets/browser.xml)
|
||||||
@ -308,7 +306,7 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/toolkit/content/widgets/dialog-kde.xml
|
+++ b/toolkit/content/widgets/dialog-kde.xml
|
||||||
@@ -0,0 +1,451 @@
|
@@ -0,0 +1,449 @@
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
|
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -341,7 +339,7 @@ new file mode 100644
|
|||||||
+ <xul:button dlgtype="cancel" class="dialog-button"/>
|
+ <xul:button dlgtype="cancel" class="dialog-button"/>
|
||||||
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
||||||
+#elif XP_UNIX
|
+#elif XP_UNIX
|
||||||
+ pack="end">
|
+ >
|
||||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
||||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||||
+ <xul:spacer anonid="spacer" flex="1" hidden="true"/>
|
+ <xul:spacer anonid="spacer" flex="1" hidden="true"/>
|
||||||
@ -728,8 +726,6 @@ new file mode 100644
|
|||||||
+ </implementation>
|
+ </implementation>
|
||||||
+
|
+
|
||||||
+ <handlers>
|
+ <handlers>
|
||||||
+ <handler event="keypress" keycode="VK_ENTER"
|
|
||||||
+ group="system" action="this._hitEnter(event);"/>
|
|
||||||
+ <handler event="keypress" keycode="VK_RETURN"
|
+ <handler event="keypress" keycode="VK_RETURN"
|
||||||
+ group="system" action="this._hitEnter(event);"/>
|
+ group="system" action="this._hitEnter(event);"/>
|
||||||
+ <handler event="keypress" keycode="VK_ESCAPE" group="system">
|
+ <handler event="keypress" keycode="VK_ESCAPE" group="system">
|
||||||
@ -1350,7 +1346,7 @@ new file mode 100644
|
|||||||
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
|
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
|
||||||
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
|
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
|
||||||
+#elif XP_UNIX
|
+#elif XP_UNIX
|
||||||
+ pack="end">
|
+ >
|
||||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
|
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
|
||||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||||
@ -2197,14 +2193,14 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
||||||
--- a/toolkit/xre/moz.build
|
--- a/toolkit/xre/moz.build
|
||||||
+++ b/toolkit/xre/moz.build
|
+++ b/toolkit/xre/moz.build
|
||||||
@@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
||||||
|
GENERATED_SOURCES += [
|
||||||
|
'moc_nsNativeAppSupportQt.cpp',
|
||||||
|
]
|
||||||
|
SOURCES += [
|
||||||
'nsNativeAppSupportQt.cpp',
|
'nsNativeAppSupportQt.cpp',
|
||||||
'nsQAppInstance.cpp',
|
'nsQAppInstance.cpp',
|
||||||
]
|
]
|
||||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'os2':
|
|
||||||
SOURCES += [
|
|
||||||
'nsNativeAppSupportOS2.cpp',
|
|
||||||
]
|
|
||||||
elif CONFIG['MOZ_ENABLE_GTK']:
|
elif CONFIG['MOZ_ENABLE_GTK']:
|
||||||
+ EXPORTS += ['nsKDEUtils.h']
|
+ EXPORTS += ['nsKDEUtils.h']
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
@ -2617,7 +2613,7 @@ new file mode 100644
|
|||||||
diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
|
diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
|
||||||
--- a/uriloader/exthandler/Makefile.in
|
--- a/uriloader/exthandler/Makefile.in
|
||||||
+++ b/uriloader/exthandler/Makefile.in
|
+++ b/uriloader/exthandler/Makefile.in
|
||||||
@@ -19,9 +19,10 @@ endif
|
@@ -6,9 +6,10 @@
|
||||||
ifdef MOZ_ENABLE_DBUS
|
ifdef MOZ_ENABLE_DBUS
|
||||||
OS_INCLUDES += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
|
OS_INCLUDES += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
|
||||||
endif
|
endif
|
||||||
@ -2631,7 +2627,7 @@ diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
|
|||||||
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||||
--- a/uriloader/exthandler/moz.build
|
--- a/uriloader/exthandler/moz.build
|
||||||
+++ b/uriloader/exthandler/moz.build
|
+++ b/uriloader/exthandler/moz.build
|
||||||
@@ -81,17 +81,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
|
@@ -80,17 +80,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
|
||||||
else:
|
else:
|
||||||
# These files can't be built in unified mode because they force NSPR logging.
|
# These files can't be built in unified mode because they force NSPR logging.
|
||||||
SOURCES += [
|
SOURCES += [
|
||||||
@ -3440,10 +3436,10 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
|||||||
diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
|
diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
|
||||||
--- a/xpcom/components/Makefile.in
|
--- a/xpcom/components/Makefile.in
|
||||||
+++ b/xpcom/components/Makefile.in
|
+++ b/xpcom/components/Makefile.in
|
||||||
@@ -14,9 +14,10 @@ LOCAL_INCLUDES = \
|
@@ -2,9 +2,10 @@
|
||||||
-I$(topsrcdir)/chrome/src \
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
-I$(topsrcdir)/modules/libjar \
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
$(NULL)
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
@ -3583,19 +3579,6 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
|
|
||||||
if (directive->regfunc) {
|
if (directive->regfunc) {
|
||||||
if (GeckoProcessType_Default != XRE_GetProcessType())
|
if (GeckoProcessType_Default != XRE_GetProcessType())
|
||||||
diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
|
|
||||||
--- a/xpcom/io/Makefile.in
|
|
||||||
+++ b/xpcom/io/Makefile.in
|
|
||||||
@@ -1,8 +1,8 @@
|
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# 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/.
|
|
||||||
|
|
||||||
MOZILLA_INTERNAL_API = 1
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
|
||||||
|
|
||||||
-LOCAL_INCLUDES += -I..
|
|
||||||
+LOCAL_INCLUDES += -I.. -I$(topsrcdir)/toolkit/xre
|
|
||||||
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
--- a/xpcom/io/nsLocalFileUnix.cpp
|
--- a/xpcom/io/nsLocalFileUnix.cpp
|
||||||
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
@ -3617,7 +3600,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
#include "prmem.h"
|
#include "prmem.h"
|
||||||
#include "plbase64.h"
|
#include "plbase64.h"
|
||||||
|
|
||||||
@@ -1811,46 +1812,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
@@ -1813,46 +1814,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||||
return InitWithNativePath(aPersistentDescriptor);
|
return InitWithNativePath(aPersistentDescriptor);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -3684,7 +3667,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
@@ -1858,16 +1865,23 @@ nsLocalFile::Reveal()
|
@@ -1860,16 +1867,23 @@ nsLocalFile::Reveal()
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
# Parent df748bfc0eaca6dedf086cfd7167392416bfae27
|
# Parent 13eb644c1216aed92b29dbc63fc26ce66f98c66c
|
||||||
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
|
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
|
||||||
|
|
||||||
diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
|
diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
|
||||||
--- a/intl/locale/src/nsLocaleService.cpp
|
--- a/intl/locale/src/nsLocaleService.cpp
|
||||||
+++ b/intl/locale/src/nsLocaleService.cpp
|
+++ b/intl/locale/src/nsLocaleService.cpp
|
||||||
@@ -127,16 +127,17 @@ nsLocaleService::nsLocaleService(void)
|
@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
|
||||||
nsRefPtr<nsLocale> resultLocale(new nsLocale());
|
nsRefPtr<nsLocale> resultLocale(new nsLocale());
|
||||||
NS_ENSURE_TRUE_VOID(resultLocale);
|
NS_ENSURE_TRUE_VOID(resultLocale);
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleServi
|
|||||||
|
|
||||||
for( i = 0; i < LocaleListLength; i++ ) {
|
for( i = 0; i < LocaleListLength; i++ ) {
|
||||||
nsresult result;
|
nsresult result;
|
||||||
@@ -155,16 +156,21 @@ nsLocaleService::nsLocaleService(void)
|
@@ -150,16 +151,21 @@ nsLocaleService::nsLocaleService(void)
|
||||||
} else {
|
} else {
|
||||||
CopyASCIItoUTF16(lang, platformLocale);
|
CopyASCIItoUTF16(lang, platformLocale);
|
||||||
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
|
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
|
||||||
@ -45,4 +45,4 @@ diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleServi
|
|||||||
mApplicationLocale = do_QueryInterface(resultLocale);
|
mApplicationLocale = do_QueryInterface(resultLocale);
|
||||||
|
|
||||||
#endif // XP_UNIX
|
#endif // XP_UNIX
|
||||||
#ifdef XP_OS2
|
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.S
|
|
||||||
===================================================================
|
|
||||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.S
|
|
||||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.S
|
|
||||||
@@ -41,6 +41,11 @@ SharedStub:
|
|
||||||
.section ".text"
|
|
||||||
.align 2
|
|
||||||
.globl SharedStub
|
|
||||||
+ # Make the symbol hidden so that the branch from the stub does
|
|
||||||
+ # not go via a PLT. This is not only better for performance,
|
|
||||||
+ # but may be necessary to avoid linker errors since there is
|
|
||||||
+ # no place to restore the TOC register in a sibling call.
|
|
||||||
+ .hidden SharedStub
|
|
||||||
.section ".opd","aw"
|
|
||||||
.align 3
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,105 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent e6f9fc7c1611990ed9fdafd3ff19c79fd356a1d6
|
|
||||||
# User Ulrich Weigand <uweigand@de.ibm.com>
|
|
||||||
Bug 976648 - powerpc64le-linux support - JavaScript build/config
|
|
||||||
|
|
||||||
diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h
|
|
||||||
--- a/js/src/assembler/wtf/Platform.h
|
|
||||||
+++ b/js/src/assembler/wtf/Platform.h
|
|
||||||
@@ -160,26 +160,32 @@
|
|
||||||
/* WTF_CPU_PPC - PowerPC 32-bit */
|
|
||||||
#if defined(__ppc__) \
|
|
||||||
|| defined(__PPC__) \
|
|
||||||
|| defined(__powerpc__) \
|
|
||||||
|| defined(__powerpc) \
|
|
||||||
|| defined(__POWERPC__) \
|
|
||||||
|| defined(_M_PPC) \
|
|
||||||
|| defined(__PPC)
|
|
||||||
+#if !defined(__ppc64__) && !defined(__PPC64__)
|
|
||||||
#define WTF_CPU_PPC 1
|
|
||||||
+#endif
|
|
||||||
+#if !defined(__LITTLE_ENDIAN__)
|
|
||||||
#define WTF_CPU_BIG_ENDIAN 1
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* WTF_CPU_PPC64 - PowerPC 64-bit */
|
|
||||||
#if defined(__ppc64__) \
|
|
||||||
|| defined(__PPC64__)
|
|
||||||
#define WTF_CPU_PPC64 1
|
|
||||||
+#if !defined(__LITTLE_ENDIAN__)
|
|
||||||
#define WTF_CPU_BIG_ENDIAN 1
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* WTF_CPU_SH4 - SuperH SH-4 */
|
|
||||||
#if defined(__SH4__)
|
|
||||||
#define WTF_CPU_SH4 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* WTF_CPU_SPARC32 - SPARC 32-bit */
|
|
||||||
#if defined(__sparc) && !defined(__arch64__) || defined(__sparcv8)
|
|
||||||
diff --git a/js/src/configure.in b/js/src/configure.in
|
|
||||||
--- a/js/src/configure.in
|
|
||||||
+++ b/js/src/configure.in
|
|
||||||
@@ -923,17 +923,17 @@ esac
|
|
||||||
|
|
||||||
# Only set CPU_ARCH if we recognize the value of OS_TEST
|
|
||||||
|
|
||||||
case "$OS_TEST" in
|
|
||||||
*86 | i86pc)
|
|
||||||
CPU_ARCH=x86
|
|
||||||
;;
|
|
||||||
|
|
||||||
-powerpc64 | ppc64)
|
|
||||||
+powerpc64 | ppc64 | powerpc64le | ppc64le)
|
|
||||||
CPU_ARCH=ppc64
|
|
||||||
;;
|
|
||||||
|
|
||||||
powerpc | ppc | rs6000)
|
|
||||||
CPU_ARCH=ppc
|
|
||||||
;;
|
|
||||||
|
|
||||||
Alpha | alpha | ALPHA)
|
|
||||||
diff --git a/js/src/jscpucfg.h b/js/src/jscpucfg.h
|
|
||||||
--- a/js/src/jscpucfg.h
|
|
||||||
+++ b/js/src/jscpucfg.h
|
|
||||||
@@ -22,17 +22,17 @@
|
|
||||||
|
|
||||||
# ifdef __WATCOMC__
|
|
||||||
# define HAVE_VA_LIST_AS_ARRAY 1
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define IS_LITTLE_ENDIAN 1
|
|
||||||
# undef IS_BIG_ENDIAN
|
|
||||||
|
|
||||||
-#elif defined(__APPLE__)
|
|
||||||
+#elif defined(__APPLE__) || defined(__powerpc__) || defined(__ppc__)
|
|
||||||
# if __LITTLE_ENDIAN__
|
|
||||||
# define IS_LITTLE_ENDIAN 1
|
|
||||||
# undef IS_BIG_ENDIAN
|
|
||||||
# elif __BIG_ENDIAN__
|
|
||||||
# undef IS_LITTLE_ENDIAN
|
|
||||||
# define IS_BIG_ENDIAN 1
|
|
||||||
# endif
|
|
||||||
|
|
||||||
@@ -84,18 +84,17 @@
|
|
||||||
# if defined(_STACK_GROWS_UPWARD)
|
|
||||||
# define JS_STACK_GROWTH_DIRECTION (1)
|
|
||||||
# elif defined(_STACK_GROWS_DOWNWARD)
|
|
||||||
# define JS_STACK_GROWTH_DIRECTION (-1)
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#elif defined(__sparc) || defined(__sparc__) || \
|
|
||||||
- defined(_POWER) || defined(__powerpc__) || \
|
|
||||||
- defined(__ppc__) || defined(__hppa) || \
|
|
||||||
+ defined(_POWER) || defined(__hppa) || \
|
|
||||||
defined(_MIPSEB) || defined(_BIG_ENDIAN)
|
|
||||||
/* IA64 running HP-UX will have _BIG_ENDIAN defined.
|
|
||||||
* IA64 running Linux will have endian.h and be handled above.
|
|
||||||
*/
|
|
||||||
# undef IS_LITTLE_ENDIAN
|
|
||||||
# define IS_BIG_ENDIAN 1
|
|
||||||
|
|
||||||
#else /* !defined(__sparc) && !defined(__sparc__) && ... */
|
|
File diff suppressed because it is too large
Load Diff
@ -1,47 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent 46508a61b834f02575c116a508aa37b66d50bd20
|
|
||||||
# User Ulrich Weigand <uweigand@de.ibm.com>
|
|
||||||
Bug 976648 - powerpc64le-linux support - mfbt endian config
|
|
||||||
|
|
||||||
diff --git a/mfbt/Endian.h b/mfbt/Endian.h
|
|
||||||
--- a/mfbt/Endian.h
|
|
||||||
+++ b/mfbt/Endian.h
|
|
||||||
@@ -86,17 +86,17 @@
|
|
||||||
# error "CPU type is unknown"
|
|
||||||
# endif
|
|
||||||
#elif defined(_WIN32)
|
|
||||||
# if defined(_M_IX86)
|
|
||||||
# define MOZ_LITTLE_ENDIAN 1
|
|
||||||
# else
|
|
||||||
# error "CPU type is unknown"
|
|
||||||
# endif
|
|
||||||
-#elif defined(__APPLE__)
|
|
||||||
+#elif defined(__APPLE__) || defined(__powerpc__) || defined(__ppc__)
|
|
||||||
# if __LITTLE_ENDIAN__
|
|
||||||
# define MOZ_LITTLE_ENDIAN 1
|
|
||||||
# elif __BIG_ENDIAN__
|
|
||||||
# define MOZ_BIG_ENDIAN 1
|
|
||||||
# endif
|
|
||||||
#elif defined(__GNUC__) && \
|
|
||||||
defined(__BYTE_ORDER__) && \
|
|
||||||
defined(__ORDER_LITTLE_ENDIAN__) && \
|
|
||||||
@@ -114,18 +114,17 @@
|
|
||||||
# endif
|
|
||||||
/*
|
|
||||||
* We can't include useful headers like <endian.h> or <sys/isa_defs.h>
|
|
||||||
* here because they're not present on all platforms. Instead we have
|
|
||||||
* this big conditional that ideally will catch all the interesting
|
|
||||||
* cases.
|
|
||||||
*/
|
|
||||||
#elif defined(__sparc) || defined(__sparc__) || \
|
|
||||||
- defined(_POWER) || defined(__powerpc__) || \
|
|
||||||
- defined(__ppc__) || defined(__hppa) || \
|
|
||||||
+ defined(_POWER) || defined(__hppa) || \
|
|
||||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
|
||||||
defined(__s390__) || defined(__AARCH64EB__) || \
|
|
||||||
(defined(__sh__) && defined(__LITTLE_ENDIAN__)) || \
|
|
||||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
|
||||||
# define MOZ_BIG_ENDIAN 1
|
|
||||||
#elif defined(__i386) || defined(__i386__) || \
|
|
||||||
defined(__x86_64) || defined(__x86_64__) || \
|
|
||||||
defined(_MIPSEL) || defined(__ARMEL__) || \
|
|
@ -1,42 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent acbe154db4c912f3ac853c0671cd3d5e52b1e716
|
|
||||||
# User Ulrich Weigand <uweigand@de.ibm.com>
|
|
||||||
Bug 976648 - powerpc64le-linux support - WebRTC endian config
|
|
||||||
|
|
||||||
diff --git a/media/webrtc/trunk/webrtc/typedefs.h b/media/webrtc/trunk/webrtc/typedefs.h
|
|
||||||
--- a/media/webrtc/trunk/webrtc/typedefs.h
|
|
||||||
+++ b/media/webrtc/trunk/webrtc/typedefs.h
|
|
||||||
@@ -47,23 +47,33 @@
|
|
||||||
//#define WEBRTC_ARCH_ARM_FAMILY
|
|
||||||
//#define WEBRTC_ARCH_ARMEL
|
|
||||||
#define WEBRTC_ARCH_32_BITS
|
|
||||||
#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
||||||
#define WEBRTC_LITTLE_ENDIAN
|
|
||||||
#elif defined(__powerpc64__)
|
|
||||||
#define WEBRTC_ARCH_PPC64 1
|
|
||||||
#define WEBRTC_ARCH_64_BITS 1
|
|
||||||
+#ifdef __LITTLE_ENDIAN__
|
|
||||||
+#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
||||||
+#define WEBRTC_LITTLE_ENDIAN
|
|
||||||
+#else
|
|
||||||
#define WEBRTC_ARCH_BIG_ENDIAN
|
|
||||||
#define WEBRTC_BIG_ENDIAN
|
|
||||||
+#endif
|
|
||||||
#elif defined(__ppc__) || defined(__powerpc__)
|
|
||||||
#define WEBRTC_ARCH_PPC 1
|
|
||||||
#define WEBRTC_ARCH_32_BITS 1
|
|
||||||
+#ifdef __LITTLE_ENDIAN__
|
|
||||||
+#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
||||||
+#define WEBRTC_LITTLE_ENDIAN
|
|
||||||
+#else
|
|
||||||
#define WEBRTC_ARCH_BIG_ENDIAN
|
|
||||||
#define WEBRTC_BIG_ENDIAN
|
|
||||||
+#endif
|
|
||||||
#elif defined(__sparc64__)
|
|
||||||
#define WEBRTC_ARCH_SPARC 1
|
|
||||||
#define WEBRTC_ARCH_64_BITS 1
|
|
||||||
#define WEBRTC_ARCH_BIG_ENDIAN
|
|
||||||
#define WEBRTC_BIG_ENDIAN
|
|
||||||
#elif defined(__sparc__)
|
|
||||||
#define WEBRTC_ARCH_SPARC 1
|
|
||||||
#define WEBRTC_ARCH_32_BITS 1
|
|
@ -1,298 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent 571f8d1f1501d31bd7c0d0affdc7cdc8b21203a0
|
|
||||||
# User Ulrich Weigand <uweigand@de.ibm.com>
|
|
||||||
Bug 976648 - powerpc64le-linux support - xptcall port
|
|
||||||
|
|
||||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build
|
|
||||||
===================================================================
|
|
||||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/moz.build
|
|
||||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build
|
|
||||||
@@ -224,12 +224,12 @@ if CONFIG['OS_TEST'] == 'powerpc':
|
|
||||||
'xptcstubs_ppc_linux.cpp',
|
|
||||||
]
|
|
||||||
|
|
||||||
-if CONFIG['OS_TEST'] == 'powerpc64':
|
|
||||||
+if CONFIG['OS_TEST'] in ('powerpc64', 'powerpc64le'):
|
|
||||||
if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD'):
|
|
||||||
SOURCES += [
|
|
||||||
- 'xptcinvoke_asm_ppc64_linux.s',
|
|
||||||
+ 'xptcinvoke_asm_ppc64_linux.S',
|
|
||||||
'xptcinvoke_ppc64_linux.cpp',
|
|
||||||
- 'xptcstubs_asm_ppc64_linux.s',
|
|
||||||
+ 'xptcstubs_asm_ppc64_linux.S',
|
|
||||||
'xptcstubs_ppc64_linux.cpp',
|
|
||||||
]
|
|
||||||
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.S
|
|
||||||
rename from xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
|
|
||||||
rename to xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.S
|
|
||||||
--- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.S
|
|
||||||
@@ -17,12 +17,38 @@
|
|
||||||
.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
|
|
||||||
.set f30,30; .set f31,31
|
|
||||||
|
|
||||||
+# The ABI defines a fixed stack frame area of 4 doublewords (ELFv2)
|
|
||||||
+# or 6 doublewords (ELFv1); the last of these doublewords is used
|
|
||||||
+# as TOC pointer save area. The fixed area is followed by a parameter
|
|
||||||
+# save area of 8 doublewords (used for vararg routines), followed
|
|
||||||
+# by space for parameters passed on the stack.
|
|
||||||
+#
|
|
||||||
+# We set STACK_TOC to the offset of the TOC pointer save area, and
|
|
||||||
+# STACK_PARAMS to the offset of the first on-stack parameter.
|
|
||||||
+
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+#define STACK_TOC 24
|
|
||||||
+#define STACK_PARAMS 96
|
|
||||||
+#else
|
|
||||||
+#define STACK_TOC 40
|
|
||||||
+#define STACK_PARAMS 112
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
|
||||||
# uint32_t paramCount, nsXPTCVariant* params)
|
|
||||||
#
|
|
||||||
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+ .section ".text"
|
|
||||||
+ .type NS_InvokeByIndex,@function
|
|
||||||
+ .globl NS_InvokeByIndex
|
|
||||||
+ .align 2
|
|
||||||
+NS_InvokeByIndex:
|
|
||||||
+0: addis 2,12,(.TOC.-0b)@ha
|
|
||||||
+ addi 2,2,(.TOC.-0b)@l
|
|
||||||
+ .localentry NS_InvokeByIndex,.-NS_InvokeByIndex
|
|
||||||
+#else
|
|
||||||
.section ".toc","aw"
|
|
||||||
.section ".text"
|
|
||||||
.align 2
|
|
||||||
@@ -34,6 +60,7 @@ NS_InvokeByIndex:
|
|
||||||
.previous
|
|
||||||
.type NS_InvokeByIndex,@function
|
|
||||||
.NS_InvokeByIndex:
|
|
||||||
+#endif
|
|
||||||
mflr 0
|
|
||||||
std 0,16(r1)
|
|
||||||
|
|
||||||
@@ -50,13 +77,12 @@ NS_InvokeByIndex:
|
|
||||||
# we don't actually need stack space for those. We must ensure
|
|
||||||
# that the stack remains 16-byte aligned.
|
|
||||||
#
|
|
||||||
- # | ..128-byte stack frame.. | | 7 GP | 13 FP | 3 NV |
|
|
||||||
- # | |(params)........| regs | regs | regs |
|
|
||||||
- # (r1)...........(+112)....(+128)
|
|
||||||
- # (-23*8).(-16*8).(-3*8)..(r31)
|
|
||||||
+ # | (fixed area + | | 7 GP | 13 FP | 3 NV |
|
|
||||||
+ # | param. save) |(params)........| regs | regs | regs |
|
|
||||||
+ # (r1)......(+STACK_PARAMS)... (-23*8).(-16*8).(-3*8)..(r31)
|
|
||||||
|
|
||||||
# +stack frame, -unused stack params, +regs storage, +1 for alignment
|
|
||||||
- addi r7,r5,((112/8)-7+7+13+3+1)
|
|
||||||
+ addi r7,r5,((STACK_PARAMS/8)-7+7+13+3+1)
|
|
||||||
rldicr r7,r7,3,59 # multiply by 8 and mask with ~15
|
|
||||||
neg r7,r7
|
|
||||||
stdux r1,r1,r7
|
|
||||||
@@ -67,12 +93,13 @@ NS_InvokeByIndex:
|
|
||||||
# uint64_t* d))
|
|
||||||
|
|
||||||
# r5, r6 are passed through intact (paramCount, params)
|
|
||||||
- # r7 (d) has to be r1+112 -- where parameters are passed on the stack.
|
|
||||||
+ # r7 (d) has to be r1+STACK_PARAMS
|
|
||||||
+ # -- where parameters are passed on the stack.
|
|
||||||
# r3, r4 are above that, easier to address from r31 than from r1
|
|
||||||
|
|
||||||
subi r3,r31,(23*8) # r3 --> GPRS
|
|
||||||
subi r4,r31,(16*8) # r4 --> FPRS
|
|
||||||
- addi r7,r1,112 # r7 --> params
|
|
||||||
+ addi r7,r1,STACK_PARAMS # r7 --> params
|
|
||||||
bl invoke_copy_to_stack
|
|
||||||
nop
|
|
||||||
|
|
||||||
@@ -83,14 +110,18 @@ NS_InvokeByIndex:
|
|
||||||
|
|
||||||
sldi r30,r30,3 # Find function descriptor
|
|
||||||
add r9,r9,r30
|
|
||||||
- ld r9,0(r9)
|
|
||||||
+ ld r12,0(r9)
|
|
||||||
|
|
||||||
- ld r0,0(r9) # Actual address from fd.
|
|
||||||
- std r2,40(r1) # Save r2 (TOC pointer)
|
|
||||||
+ std r2,STACK_TOC(r1) # Save r2 (TOC pointer)
|
|
||||||
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+ mtctr r12
|
|
||||||
+#else
|
|
||||||
+ ld r0,0(r12) # Actual address from fd.
|
|
||||||
mtctr 0
|
|
||||||
- ld r11,16(r9) # Environment pointer from fd.
|
|
||||||
- ld r2,8(r9) # TOC pointer from fd.
|
|
||||||
+ ld r11,16(r12) # Environment pointer from fd.
|
|
||||||
+ ld r2,8(r12) # TOC pointer from fd.
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
# Load FP and GP registers as required
|
|
||||||
ld r4, -(23*8)(r31)
|
|
||||||
@@ -117,7 +148,7 @@ NS_InvokeByIndex:
|
|
||||||
|
|
||||||
bctrl # Do it
|
|
||||||
|
|
||||||
- ld r2,40(r1) # Load our own TOC pointer
|
|
||||||
+ ld r2,STACK_TOC(r1) # Load our own TOC pointer
|
|
||||||
ld r1,0(r1) # Revert stack frame
|
|
||||||
ld 0,16(r1) # Reload lr
|
|
||||||
ld 29,-24(r1) # Restore NVGPRS
|
|
||||||
@@ -126,7 +157,11 @@ NS_InvokeByIndex:
|
|
||||||
mtlr 0
|
|
||||||
blr
|
|
||||||
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+ .size NS_InvokeByIndex,.-NS_InvokeByIndex
|
|
||||||
+#else
|
|
||||||
.size NS_InvokeByIndex,.-.NS_InvokeByIndex
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
# Magic indicating no need for an executable stack
|
|
||||||
.section .note.GNU-stack, "", @progbits ; .previous
|
|
||||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp
|
|
||||||
===================================================================
|
|
||||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp
|
|
||||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp
|
|
||||||
@@ -74,7 +74,9 @@ invoke_copy_to_stack(uint64_t* gpregs,
|
|
||||||
fpregs[i] = s->val.f; // if passed in registers, floats are promoted to doubles
|
|
||||||
} else {
|
|
||||||
float *p = (float *)d;
|
|
||||||
+#ifndef __LITTLE_ENDIAN__
|
|
||||||
p++;
|
|
||||||
+#endif
|
|
||||||
*p = s->val.f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.S
|
|
||||||
rename from xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
|
|
||||||
rename to xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.S
|
|
||||||
--- a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
|
|
||||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.S
|
|
||||||
@@ -17,6 +17,27 @@
|
|
||||||
.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
|
|
||||||
.set f30,30; .set f31,31
|
|
||||||
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+#define STACK_PARAMS 96
|
|
||||||
+#else
|
|
||||||
+#define STACK_PARAMS 112
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+ .section ".text"
|
|
||||||
+ .type SharedStub,@function
|
|
||||||
+ .globl SharedStub
|
|
||||||
+ # Make the symbol hidden so that the branch from the stub does
|
|
||||||
+ # not go via a PLT. This is not only better for performance,
|
|
||||||
+ # but may be necessary to avoid linker errors since there is
|
|
||||||
+ # no place to restore the TOC register in a sibling call.
|
|
||||||
+ .hidden SharedStub
|
|
||||||
+ .align 2
|
|
||||||
+SharedStub:
|
|
||||||
+0: addis 2,12,(.TOC.-0b)@ha
|
|
||||||
+ addi 2,2,(.TOC.-0b)@l
|
|
||||||
+ .localentry SharedStub,.-SharedStub
|
|
||||||
+#else
|
|
||||||
.section ".text"
|
|
||||||
.align 2
|
|
||||||
.globl SharedStub
|
|
||||||
@@ -29,6 +50,7 @@ SharedStub:
|
|
||||||
.type SharedStub,@function
|
|
||||||
|
|
||||||
.SharedStub:
|
|
||||||
+#endif
|
|
||||||
mflr r0
|
|
||||||
|
|
||||||
std r4, -56(r1) # Save all GPRS
|
|
||||||
@@ -55,7 +77,7 @@ SharedStub:
|
|
||||||
|
|
||||||
subi r6,r1,56 # r6 --> gprData
|
|
||||||
subi r7,r1,160 # r7 --> fprData
|
|
||||||
- addi r5,r1,112 # r5 --> extra stack args
|
|
||||||
+ addi r5,r1,STACK_PARAMS # r5 --> extra stack args
|
|
||||||
|
|
||||||
std r0, 16(r1)
|
|
||||||
|
|
||||||
@@ -75,7 +97,11 @@ SharedStub:
|
|
||||||
mtlr r0
|
|
||||||
blr
|
|
||||||
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+ .size SharedStub,.-SharedStub
|
|
||||||
+#else
|
|
||||||
.size SharedStub,.-.SharedStub
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
# Magic indicating no need for an executable stack
|
|
||||||
.section .note.GNU-stack, "", @progbits ; .previous
|
|
||||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
|
|
||||||
===================================================================
|
|
||||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
|
|
||||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
|
|
||||||
@@ -83,7 +83,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
|
|
||||||
dp->val.f = (float) fprData[i]; // in registers floats are passed as doubles
|
|
||||||
else {
|
|
||||||
float *p = (float *)ap;
|
|
||||||
+#ifndef __LITTLE_ENDIAN__
|
|
||||||
p++;
|
|
||||||
+#endif
|
|
||||||
dp->val.f = *p;
|
|
||||||
}
|
|
||||||
} else { /* integer type or pointer */
|
|
||||||
@@ -153,6 +155,43 @@ PrepareAndDispatch(nsXPTCStubBase* self,
|
|
||||||
// etc.
|
|
||||||
// Use assembler directives to get the names right...
|
|
||||||
|
|
||||||
+#if _CALL_ELF == 2
|
|
||||||
+# define STUB_ENTRY(n) \
|
|
||||||
+__asm__ ( \
|
|
||||||
+ ".section \".text\" \n\t" \
|
|
||||||
+ ".align 2 \n\t" \
|
|
||||||
+ ".if "#n" < 10 \n\t" \
|
|
||||||
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
|
||||||
+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
|
|
||||||
+"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
|
|
||||||
+ "0: addis 2,12,.TOC.-0b@ha \n\t" \
|
|
||||||
+ "addi 2,2,.TOC.-0b@l \n\t" \
|
|
||||||
+ ".localentry _ZN14nsXPTCStubBase5Stub"#n"Ev,.-_ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
|
||||||
+ \
|
|
||||||
+ ".elseif "#n" < 100 \n\t" \
|
|
||||||
+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
|
||||||
+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
|
|
||||||
+"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
|
|
||||||
+ "0: addis 2,12,.TOC.-0b@ha \n\t" \
|
|
||||||
+ "addi 2,2,.TOC.-0b@l \n\t" \
|
|
||||||
+ ".localentry _ZN14nsXPTCStubBase6Stub"#n"Ev,.-_ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
|
||||||
+ \
|
|
||||||
+ ".elseif "#n" < 1000 \n\t" \
|
|
||||||
+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
|
||||||
+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
|
|
||||||
+"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
|
|
||||||
+ "0: addis 2,12,.TOC.-0b@ha \n\t" \
|
|
||||||
+ "addi 2,2,.TOC.-0b@l \n\t" \
|
|
||||||
+ ".localentry _ZN14nsXPTCStubBase7Stub"#n"Ev,.-_ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
|
||||||
+ \
|
|
||||||
+ ".else \n\t" \
|
|
||||||
+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
|
|
||||||
+ ".endif \n\t" \
|
|
||||||
+ \
|
|
||||||
+ "li 11,"#n" \n\t" \
|
|
||||||
+ "b SharedStub \n" \
|
|
||||||
+);
|
|
||||||
+#else
|
|
||||||
# define STUB_ENTRY(n) \
|
|
||||||
__asm__ ( \
|
|
||||||
".section \".toc\",\"aw\" \n\t" \
|
|
||||||
@@ -195,6 +234,7 @@ __asm__ (
|
|
||||||
"li 11,"#n" \n\t" \
|
|
||||||
"b SharedStub \n" \
|
|
||||||
);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#define SENTINEL_ENTRY(n) \
|
|
||||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
|
@ -5,19 +5,19 @@ confusion and therefore is currently the only setting we switch in the unbranded
|
|||||||
package unconditionally.
|
package unconditionally.
|
||||||
|
|
||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent bf7f0353aa8e00b1deaa05b7cb84bb7ea4c9ce8f
|
# Parent 5c086bb8e0fa4f1600aced485e6156b0cdcd1755
|
||||||
|
|
||||||
diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
|
diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
|
||||||
--- a/modules/libpref/src/init/all.js
|
--- a/modules/libpref/src/init/all.js
|
||||||
+++ b/modules/libpref/src/init/all.js
|
+++ b/modules/libpref/src/init/all.js
|
||||||
@@ -1554,17 +1554,17 @@ pref("intl.charsetmenu.browser.more5",
|
@@ -1428,17 +1428,17 @@ pref("intl.charsetmenu.mailedit",
|
||||||
pref("intl.charsetmenu.mailedit", "chrome://global/locale/intl.properties");
|
|
||||||
pref("intl.charsetmenu.browser.cache", "");
|
pref("intl.charsetmenu.browser.cache", "");
|
||||||
pref("intl.charsetmenu.mailview.cache", "");
|
pref("intl.charsetmenu.mailview.cache", "");
|
||||||
pref("intl.charsetmenu.composer.cache", "");
|
pref("intl.charsetmenu.composer.cache", "");
|
||||||
pref("intl.charsetmenu.browser.cache.size", 5);
|
pref("intl.charsetmenu.browser.cache.size", 5);
|
||||||
pref("intl.charset.detector", "chrome://global/locale/intl.properties");
|
pref("intl.charset.detector", "chrome://global/locale/intl.properties");
|
||||||
pref("intl.charset.fallback.override", "");
|
pref("intl.charset.fallback.override", "");
|
||||||
|
pref("intl.charset.fallback.tld", true);
|
||||||
pref("intl.ellipsis", "chrome://global-platform/locale/intl.properties");
|
pref("intl.ellipsis", "chrome://global-platform/locale/intl.properties");
|
||||||
-pref("intl.locale.matchOS", false);
|
-pref("intl.locale.matchOS", false);
|
||||||
+pref("intl.locale.matchOS", true);
|
+pref("intl.locale.matchOS", true);
|
||||||
|
@ -7,7 +7,7 @@ References:
|
|||||||
diff --git a/configure.in b/configure.in
|
diff --git a/configure.in b/configure.in
|
||||||
--- a/configure.in
|
--- a/configure.in
|
||||||
+++ b/configure.in
|
+++ b/configure.in
|
||||||
@@ -8113,16 +8113,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
@@ -8069,16 +8069,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
||||||
MOZ_ENABLE_SKIA_GPU=1
|
MOZ_ENABLE_SKIA_GPU=1
|
||||||
AC_DEFINE(USE_SKIA_GPU)
|
AC_DEFINE(USE_SKIA_GPU)
|
||||||
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||||
@ -79,7 +79,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
|||||||
#include "nsCertVerificationThread.h"
|
#include "nsCertVerificationThread.h"
|
||||||
#include "nsAppDirectoryServiceDefs.h"
|
#include "nsAppDirectoryServiceDefs.h"
|
||||||
#include "nsComponentManagerUtils.h"
|
#include "nsComponentManagerUtils.h"
|
||||||
@@ -1117,17 +1124,31 @@ nsNSSComponent::InitializeNSS()
|
@@ -1129,17 +1136,31 @@ nsNSSComponent::InitializeNSS()
|
||||||
if (NS_FAILED(rv)) {
|
if (NS_FAILED(rv)) {
|
||||||
nsPSMInitPanic::SetPanic();
|
nsPSMInitPanic::SetPanic();
|
||||||
return NS_ERROR_NOT_AVAILABLE;
|
return NS_ERROR_NOT_AVAILABLE;
|
||||||
@ -115,8 +115,8 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
|||||||
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
||||||
--- a/toolkit/library/Makefile.in
|
--- a/toolkit/library/Makefile.in
|
||||||
+++ b/toolkit/library/Makefile.in
|
+++ b/toolkit/library/Makefile.in
|
||||||
@@ -223,17 +223,17 @@ endif
|
@@ -161,17 +161,17 @@ endif
|
||||||
ifneq (,$(filter OS2 WINNT,$(OS_ARCH)))
|
ifneq (,$(filter WINNT,$(OS_ARCH)))
|
||||||
SDK_LIBRARY = $(IMPORT_LIBRARY)
|
SDK_LIBRARY = $(IMPORT_LIBRARY)
|
||||||
else
|
else
|
||||||
SDK_LIBRARY = $(SHARED_LIBRARY)
|
SDK_LIBRARY = $(SHARED_LIBRARY)
|
||||||
@ -130,7 +130,7 @@ diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
|||||||
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
||||||
CXXFLAGS += $(TK_CFLAGS)
|
CXXFLAGS += $(TK_CFLAGS)
|
||||||
OS_LIBS += \
|
OS_LIBS += \
|
||||||
-framework SystemConfiguration \
|
$(TK_LIBS) \
|
||||||
-framework QTKit \
|
$(NULL)
|
||||||
-framework IOKit \
|
endif
|
||||||
-F$(MACOS_PRIVATE_FRAMEWORKS_DIR) -framework CoreUI \
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
REV=0cd2e9a8ba6f
|
REV=529a45c94e5a
|
||||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||||
|
Loading…
Reference in New Issue
Block a user