Accepting request 75065 from mozilla:Factory
OBS-URL: https://build.opensuse.org/request/show/75065 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=122
This commit is contained in:
commit
c30e97fef7
@ -1,3 +1,46 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 1 19:53:18 CEST 2011 - vuntz@opensuse.org
|
||||||
|
|
||||||
|
- Add x-scheme-handler/ftp to the MimeType key in the .desktop, to
|
||||||
|
let desktops know that Firefox can deal with ftp: URIs.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 1 06:45:08 UTC 2011 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- create upstream branding package again (supposedly empty)
|
||||||
|
(bnc#703401)
|
||||||
|
- fix build on SLE11 (changes do not affect/are not applied for
|
||||||
|
later versions)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 22 06:41:17 UTC 2011 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- enable startup notification (bnc#701465)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 20 19:37:01 UTC 2011 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to 5.0 final
|
||||||
|
- included fixes for security issues: (bnc#701296, bnc#700578)
|
||||||
|
* MFSA 2011-19/CVE-2011-2374 CVE-2011-2375
|
||||||
|
Miscellaneous memory safety hazards
|
||||||
|
* MFSA 2011-20/CVE-2011-2373 (bmo#617247)
|
||||||
|
Use-after-free vulnerability when viewing XUL document with
|
||||||
|
script disabled
|
||||||
|
* MFSA 2011-21/CVE-2011-2377 (bmo#638018, bmo#639303)
|
||||||
|
Memory corruption due to multipart/x-mixed-replace images
|
||||||
|
* MFSA 2011-22/CVE-2011-2371 (bmo#664009)
|
||||||
|
Integer overflow and arbitrary code execution in
|
||||||
|
Array.reduceRight()
|
||||||
|
* MFSA 2011-25/CVE-2011-2366
|
||||||
|
Stealing of cross-domain images using WebGL textures
|
||||||
|
* MFSA 2011-26/CVE-2011-2367 CVE-2011-2368
|
||||||
|
Multiple WebGL crashes
|
||||||
|
* MFSA 2011-27/CVE-2011-2369 (bmo#650001)
|
||||||
|
XSS encoding hazard with inline SVG
|
||||||
|
* MFSA 2011-28/CVE-2011-2370 (bmo#645699)
|
||||||
|
Non-whitelisted site can trigger xpinstall
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jun 20 09:17:42 UTC 2011 - wr@rosenauer.org
|
Mon Jun 20 09:17:42 UTC 2011 - wr@rosenauer.org
|
||||||
|
|
||||||
|
@ -8,5 +8,5 @@ Exec=firefox %u
|
|||||||
Icon=firefox
|
Icon=firefox
|
||||||
Terminal=false
|
Terminal=false
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;
|
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
|
||||||
Type=Application
|
Type=Application
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
|
|
||||||
# norootforbuild
|
# norootforbuild
|
||||||
|
|
||||||
%define major 4
|
%define major 5
|
||||||
%define mainver %major.99
|
%define mainver %major.0
|
||||||
|
|
||||||
Name: MozillaFirefox
|
Name: MozillaFirefox
|
||||||
BuildRequires: Mesa-devel autoconf213 fdupes gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python unzip update-desktop-files yasm zip
|
BuildRequires: autoconf213 gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files zip fdupes Mesa-devel yasm
|
||||||
%if %suse_version > 1110
|
%if %suse_version > 1110
|
||||||
BuildRequires: libiw-devel
|
BuildRequires: libiw-devel
|
||||||
BuildRequires: libproxy-devel
|
BuildRequires: libproxy-devel
|
||||||
@ -34,8 +34,8 @@ BuildRequires: mozilla-nss-devel >= 3.12.8
|
|||||||
BuildRequires: nss-shared-helper-devel
|
BuildRequires: nss-shared-helper-devel
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Version: %{mainver}
|
Version: %{mainver}
|
||||||
Release: 5
|
Release: 1
|
||||||
%define releasedate 2011061400
|
%define releasedate 2011061500
|
||||||
Provides: web_browser
|
Provides: web_browser
|
||||||
Provides: firefox = %{version}-%{release}
|
Provides: firefox = %{version}-%{release}
|
||||||
Provides: firefox = %{mainver}
|
Provides: firefox = %{mainver}
|
||||||
@ -74,6 +74,7 @@ Patch10: mozilla-ntlm-full-path.patch
|
|||||||
Patch11: mozilla-ppc-ipc.patch
|
Patch11: mozilla-ppc-ipc.patch
|
||||||
Patch12: mozilla-repo.patch
|
Patch12: mozilla-repo.patch
|
||||||
Patch13: mozilla-dump_syms-static.patch
|
Patch13: mozilla-dump_syms-static.patch
|
||||||
|
Patch14: mozilla-sle11.patch
|
||||||
# Firefox/browser
|
# Firefox/browser
|
||||||
Patch30: firefox-linkorder.patch
|
Patch30: firefox-linkorder.patch
|
||||||
Patch31: firefox-browser-css.patch
|
Patch31: firefox-browser-css.patch
|
||||||
@ -132,7 +133,6 @@ Requires: perl(Archive::Zip)
|
|||||||
Development files for Firefox to make packaging of addons easier.
|
Development files for Firefox to make packaging of addons easier.
|
||||||
|
|
||||||
%if %localize
|
%if %localize
|
||||||
|
|
||||||
%package translations-common
|
%package translations-common
|
||||||
Summary: Common translations for MozillaFirefox
|
Summary: Common translations for MozillaFirefox
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
@ -162,7 +162,7 @@ of MozillaFirefox.
|
|||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Summary: Upstream branding for MozillaFirefox
|
Summary: Upstream branding for MozillaFirefox
|
||||||
Group: Productivity/Networking/Web/Browsers
|
Group: Productivity/Networking/Web/Browsers
|
||||||
Provides: %{name}-branding = 4.0
|
Provides: %{name}-branding = 5.0
|
||||||
Conflicts: otherproviders(%{name}-branding)
|
Conflicts: otherproviders(%{name}-branding)
|
||||||
Supplements: packageand(%{name}:branding-upstream)
|
Supplements: packageand(%{name}:branding-upstream)
|
||||||
#BRAND: Provide three files -
|
#BRAND: Provide three files -
|
||||||
@ -180,7 +180,6 @@ This package provides upstream look and feel for MozillaFirefox.
|
|||||||
|
|
||||||
|
|
||||||
%if %crashreporter
|
%if %crashreporter
|
||||||
|
|
||||||
%package buildsymbols
|
%package buildsymbols
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Summary: Breakpad buildsymbols for %{name}
|
Summary: Breakpad buildsymbols for %{name}
|
||||||
@ -191,6 +190,7 @@ This subpackage contains the Breakpad created and compatible debugging
|
|||||||
symbols meant for upload to Mozilla's crash collector database.
|
symbols meant for upload to Mozilla's crash collector database.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n mozilla -b 7 -b 10
|
%setup -q -n mozilla -b 7 -b 10
|
||||||
cd $RPM_BUILD_DIR/mozilla
|
cd $RPM_BUILD_DIR/mozilla
|
||||||
@ -207,6 +207,9 @@ cd $RPM_BUILD_DIR/mozilla
|
|||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
|
%if %suse_version < 1120
|
||||||
|
%patch14 -p1
|
||||||
|
%endif
|
||||||
#
|
#
|
||||||
%patch30 -p1
|
%patch30 -p1
|
||||||
%patch31 -p1
|
%patch31 -p1
|
||||||
@ -271,8 +274,9 @@ ac_add_options --disable-installer
|
|||||||
ac_add_options --disable-updater
|
ac_add_options --disable-updater
|
||||||
ac_add_options --disable-tests
|
ac_add_options --disable-tests
|
||||||
ac_add_options --disable-debug
|
ac_add_options --disable-debug
|
||||||
|
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=beta
|
ac_add_options --enable-update-channel=default
|
||||||
EOF
|
EOF
|
||||||
%if %suse_version > 1130
|
%if %suse_version > 1130
|
||||||
cat << EOF >> $MOZCONFIG
|
cat << EOF >> $MOZCONFIG
|
||||||
@ -491,7 +495,6 @@ exit 0
|
|||||||
%dir %{progdir}/distribution/
|
%dir %{progdir}/distribution/
|
||||||
%{progdir}/chrome/icons
|
%{progdir}/chrome/icons
|
||||||
%{progdir}/components/
|
%{progdir}/components/
|
||||||
#%exclude %{progdir}/defaults/profile/bookmarks.html
|
|
||||||
%{progdir}/defaults/
|
%{progdir}/defaults/
|
||||||
%{progdir}/dictionaries/
|
%{progdir}/dictionaries/
|
||||||
%dir %{progdir}/extensions/
|
%dir %{progdir}/extensions/
|
||||||
@ -505,7 +508,6 @@ exit 0
|
|||||||
%{progdir}/application.ini
|
%{progdir}/application.ini
|
||||||
%{progdir}/blocklist.xml
|
%{progdir}/blocklist.xml
|
||||||
%{progdir}/dependentlibs.list
|
%{progdir}/dependentlibs.list
|
||||||
#%{progdir}/greprefs.js
|
|
||||||
%{progdir}/*.so
|
%{progdir}/*.so
|
||||||
%{progdir}/mozilla-xremote-client
|
%{progdir}/mozilla-xremote-client
|
||||||
%{progdir}/omni.jar
|
%{progdir}/omni.jar
|
||||||
@ -537,7 +539,6 @@ exit 0
|
|||||||
%config /etc/rpm/macros.%{progname}
|
%config /etc/rpm/macros.%{progname}
|
||||||
|
|
||||||
%if %localize
|
%if %localize
|
||||||
|
|
||||||
%files translations-common -f %{_tmppath}/translations.common
|
%files translations-common -f %{_tmppath}/translations.common
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{progdir}
|
%dir %{progdir}
|
||||||
@ -549,14 +550,13 @@ exit 0
|
|||||||
%dir %{progdir}/extensions/
|
%dir %{progdir}/extensions/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#%files branding-upstream
|
# this package does not need to provide files but is needed to fulfill
|
||||||
#%defattr(-,root,root)
|
# requirements if no other branding package is to be installed
|
||||||
#%dir %{progdir}
|
%files branding-upstream
|
||||||
#%dir %{progdir}/defaults/
|
%defattr(-,root,root)
|
||||||
#%{progdir}/defaults/profile/bookmarks.html
|
%dir %{progdir}
|
||||||
|
|
||||||
%if %crashreporter
|
%if %crashreporter
|
||||||
|
|
||||||
%files buildsymbols
|
%files buildsymbols
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_datadir}/mozilla/*.zip
|
%{_datadir}/mozilla/*.zip
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:d75b5963522398528102263d8da2d57d5eadae3611853b74f58728605a8e69be
|
oid sha256:975887be612f645ef36442a32bfc4eb39d04ceda612f77aaff18c336e4815238
|
||||||
size 25677
|
size 25684
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
BRANCH="mozilla-beta"
|
BRANCH="releases/mozilla-release"
|
||||||
RELEASE_TAG="FIREFOX_5_0b7_RELEASE"
|
RELEASE_TAG="FIREFOX_5_0_RELEASE"
|
||||||
VERSION="4.99"
|
VERSION="5.0"
|
||||||
|
|
||||||
# mozilla
|
# mozilla
|
||||||
hg clone http://hg.mozilla.org/$BRANCH mozilla
|
hg clone http://hg.mozilla.org/$BRANCH mozilla
|
||||||
@ -23,7 +23,7 @@ for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
|
|||||||
ja-JP-mac|en-US)
|
ja-JP-mac|en-US)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
hg clone http://hg.mozilla.org/releases/l10n/mozilla-beta/$locale l10n/$locale
|
hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale l10n/$locale
|
||||||
[ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $RELEASE_TAG
|
[ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $RELEASE_TAG
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:887d410a35fb4583e0cf6c469a3a076c3d312d0014086af7ecb727d3b2003fd0
|
|
||||||
size 68757199
|
|
3
firefox-5.0-source.tar.bz2
Normal file
3
firefox-5.0-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:73693461ffe498055577d6d7d211b42f2ad71577124dfb6cb566ee52603eafa7
|
||||||
|
size 68756958
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4f4f7a156e88171389beba130f56353f7801803670b7b640eb430d491d852573
|
|
||||||
size 43094243
|
|
3
l10n-5.0.tar.bz2
Normal file
3
l10n-5.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e6a3577a86ff535815031ecdb957b24f55cf10ff615c5c99f15209d62e0e8afa
|
||||||
|
size 43102319
|
@ -1,6 +1,6 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
# Parent e36e1a20cb5e1ba0e4bc3facac58029544d92e0a
|
# Parent 43cb27a012f2532add0e9791c1b5a7d0c3b03f9b
|
||||||
Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush'
|
Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush'
|
||||||
|
|
||||||
diff --git a/gfx/cairo/cairo/src/cairo-surface-wrapper.c b/gfx/cairo/cairo/src/cairo-surface-wrapper.c
|
diff --git a/gfx/cairo/cairo/src/cairo-surface-wrapper.c b/gfx/cairo/cairo/src/cairo-surface-wrapper.c
|
||||||
|
@ -2135,6 +2135,41 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
|
|
||||||
#define NS_UNIXSYSTEMPROXYSERVICE_CID /* 0fa3158c-d5a7-43de-9181-a285e74cf1d4 */\
|
#define NS_UNIXSYSTEMPROXYSERVICE_CID /* 0fa3158c-d5a7-43de-9181-a285e74cf1d4 */\
|
||||||
{ 0x0fa3158c, 0xd5a7, 0x43de, \
|
{ 0x0fa3158c, 0xd5a7, 0x43de, \
|
||||||
|
@@ -437,8 +443,34 @@ static const mozilla::Module::ContractID
|
||||||
|
|
||||||
|
static const mozilla::Module kUnixProxyModule = {
|
||||||
|
mozilla::Module::kVersion,
|
||||||
|
kUnixProxyCIDs,
|
||||||
|
kUnixProxyContracts
|
||||||
|
};
|
||||||
|
|
||||||
|
NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule;
|
||||||
|
+
|
||||||
|
+nsresult
|
||||||
|
+nsUnixSystemProxySettings::GetProxyFromKDE(const nsACString& aScheme,
|
||||||
|
+ const nsACString& aHost,
|
||||||
|
+ PRInt32 aPort,
|
||||||
|
+ nsACString& aResult)
|
||||||
|
+{
|
||||||
|
+ nsCAutoString url;
|
||||||
|
+ url = aScheme;
|
||||||
|
+ url += "://";
|
||||||
|
+ url += aHost;
|
||||||
|
+ if( aPort >= 0 )
|
||||||
|
+ {
|
||||||
|
+ url += ":";
|
||||||
|
+ url += nsPrintfCString("%d", aPort);
|
||||||
|
+ }
|
||||||
|
+ nsCStringArray command;
|
||||||
|
+ command.AppendCString( NS_LITERAL_CSTRING( "GETPROXY" ));
|
||||||
|
+ command.AppendCString( url );
|
||||||
|
+ nsCStringArray result;
|
||||||
|
+ if( !nsKDEUtils::command( command, &result ) || result.Count() != 1 )
|
||||||
|
+ return NS_ERROR_FAILURE;
|
||||||
|
+ aResult = *result[ 0 ];
|
||||||
|
+ return NS_OK;
|
||||||
|
+}
|
||||||
|
+
|
||||||
diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
|
diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
|
||||||
--- a/toolkit/xre/Makefile.in
|
--- a/toolkit/xre/Makefile.in
|
||||||
+++ b/toolkit/xre/Makefile.in
|
+++ b/toolkit/xre/Makefile.in
|
||||||
|
112
mozilla-sle11.patch
Normal file
112
mozilla-sle11.patch
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
Subject: Patches needed to build on SLE11/11.1
|
||||||
|
References:
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=513422
|
||||||
|
|
||||||
|
diff --git a/gfx/cairo/cairo/src/cairo-xlib-surface.c b/gfx/cairo/cairo/src/cairo-xlib-surface.c
|
||||||
|
--- a/gfx/cairo/cairo/src/cairo-xlib-surface.c
|
||||||
|
+++ b/gfx/cairo/cairo/src/cairo-xlib-surface.c
|
||||||
|
@@ -4041,17 +4041,19 @@ _cairo_xlib_surface_add_glyph (Display *
|
||||||
|
new = malloc (4 * c);
|
||||||
|
if (unlikely (new == NULL)) {
|
||||||
|
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||||
|
goto BAIL;
|
||||||
|
}
|
||||||
|
n = new;
|
||||||
|
d = (uint32_t *) data;
|
||||||
|
do {
|
||||||
|
- *n++ = bswap_32 (*d++);
|
||||||
|
+ *n = bswap_32 (*d);
|
||||||
|
+ *n++;
|
||||||
|
+ *d++;
|
||||||
|
} while (--c);
|
||||||
|
data = (uint8_t *) new;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CAIRO_FORMAT_RGB24:
|
||||||
|
default:
|
||||||
|
ASSERT_NOT_REACHED;
|
||||||
|
break;
|
||||||
|
diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp
|
||||||
|
--- a/xpcom/glue/SSE.cpp
|
||||||
|
+++ b/xpcom/glue/SSE.cpp
|
||||||
|
@@ -44,26 +44,77 @@ namespace {
|
||||||
|
// SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
|
||||||
|
// We can't declare these functions in the header file, however, because
|
||||||
|
// <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
|
||||||
|
// include both SSE.h and <windows.h>.
|
||||||
|
|
||||||
|
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && (defined(__i386__) || defined(__x86_64__))
|
||||||
|
|
||||||
|
// cpuid.h is available on gcc 4.3 and higher on i386 and x86_64
|
||||||
|
-#include <cpuid.h>
|
||||||
|
+//#include <cpuid.h>
|
||||||
|
|
||||||
|
enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
|
||||||
|
|
||||||
|
+#ifdef __i386__
|
||||||
|
+#define _my_cpuid(level, a, b, c, d) \
|
||||||
|
+ __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \
|
||||||
|
+ "cpuid\n\t" \
|
||||||
|
+ "xchg{l}\t{%%}ebx, %1\n\t" \
|
||||||
|
+ : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
|
||||||
|
+ : "0" (level))
|
||||||
|
+#else
|
||||||
|
+#define _my_cpuid(level, a, b, c, d) \
|
||||||
|
+ __asm__ ("cpuid\n\t" \
|
||||||
|
+ : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
|
||||||
|
+ : "0" (level))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+static __inline unsigned int
|
||||||
|
+my_cpuid_max (unsigned int __ext, unsigned int *__sig)
|
||||||
|
+{
|
||||||
|
+ unsigned int __eax, __ebx, __ecx, __edx;
|
||||||
|
+
|
||||||
|
+#ifdef __i386__
|
||||||
|
+ __asm__ ("pushf{l|d}\n\t"
|
||||||
|
+ "pushf{l|d}\n\t"
|
||||||
|
+ "pop{l}\t%0\n\t"
|
||||||
|
+ "mov{l}\t{%0, %1|%1, %0}\n\t"
|
||||||
|
+ "xor{l}\t{%2, %0|%0, %2}\n\t"
|
||||||
|
+ "push{l}\t%0\n\t"
|
||||||
|
+ "popf{l|d}\n\t"
|
||||||
|
+ "pushf{l|d}\n\t"
|
||||||
|
+ "pop{l}\t%0\n\t"
|
||||||
|
+ "popf{l|d}\n\t"
|
||||||
|
+ : "=&r" (__eax), "=&r" (__ebx)
|
||||||
|
+ : "i" (0x00200000));
|
||||||
|
+
|
||||||
|
+ if (!((__eax ^ __ebx) & 0x00200000))
|
||||||
|
+ return 0;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ /* Host supports cpuid. Return highest supported cpuid input value. */
|
||||||
|
+ _my_cpuid (__ext, __eax, __ebx, __ecx, __edx);
|
||||||
|
+
|
||||||
|
+ if (__sig)
|
||||||
|
+ *__sig = __ebx;
|
||||||
|
+
|
||||||
|
+ return __eax;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static bool
|
||||||
|
has_cpuid_bit(unsigned int level, CPUIDRegister reg, unsigned int bit)
|
||||||
|
{
|
||||||
|
unsigned int regs[4];
|
||||||
|
- return __get_cpuid(level, ®s[0], ®s[1], ®s[2], ®s[3]) &&
|
||||||
|
- (regs[reg] & bit);
|
||||||
|
+
|
||||||
|
+ unsigned int __ext = level & 0x80000000;
|
||||||
|
+ if (my_cpuid_max(__ext, 0) < level)
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
+ _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]);
|
||||||
|
+ return !!(unsigned(regs[reg]) & bit);
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(_MSC_VER) && _MSC_VER >= 1400 && (defined(_M_IX86) || defined(_M_AMD64))
|
||||||
|
|
||||||
|
// MSVC 2005 or newer on x86-32 or x86-64
|
||||||
|
#include <intrin.h>
|
||||||
|
|
||||||
|
enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
|
@ -1,2 +1,2 @@
|
|||||||
REV=3fb6ad7c725e
|
REV=7b56ff900c2a
|
||||||
REPO=http://hg.mozilla.org/mozilla-beta
|
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||||
|
Loading…
Reference in New Issue
Block a user