Closed
Bug 1325495
Opened 7 years ago
Closed 7 years ago
xpcshell segfaulting during 'make install' on Linux/hppa
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
FIXED
mozilla53
Tracking | Status | |
---|---|---|
firefox53 | --- | fixed |
People
(Reporter: glaubitz, Unassigned)
Details
Attachments
(2 files, 8 obsolete files)
2.21 KB,
patch
|
froydnj
:
review+
|
Details | Diff | Splinter Review |
953 bytes,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0
Build ID: 20161201031821
Steps to reproduce:
Building Firefox on Linux/hppa fails during the "make install" stage [1]:
dh_auto_install --builddirectory=build-browser -- installdir=/usr/lib/firefox \
MOZ_APP_BASE_VERSION=50 \
MOZ_PKG_MANIFEST=/<<PKGBUILDDIR>>/build-browser/debian/installer/package-manifest \
MOZ_NONLOCALIZED_PKG_LIST="xpcom debian" \
MOZ_LOCALIZED_PKG_LIST=en-US \
TAR_CREATE_FLAGS="--exclude=.mkdir.done --hard-dereference -chf" \
SIGN_NSS=
make -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/tmp AM_UPDATE_INFO_DIR=no installdir=/usr/lib/firefox MOZ_APP_BASE_VERSION=50 MOZ_PKG_MANIFEST=/<<PKGBUILDDIR>>/build-browser/debian/installer/package-manifest "MOZ_NONLOCALIZED_PKG_LIST=xpcom debian" MOZ_LOCALIZED_PKG_LIST=en-US "TAR_CREATE_FLAGS=--exclude=.mkdir.done --hard-dereference -chf" SIGN_NSS=
make[2]: Entering directory '/<<PKGBUILDDIR>>/build-browser'
make[3]: Entering directory '/<<PKGBUILDDIR>>/build-browser/browser/installer'
OMNIJAR_NAME=omni.ja \
NO_PKG_FILES="core bsdecho js js-config jscpucfg nsinstall viewer TestGtkEmbed elf-dynstr-gc mangle* maptsv* mfc* msdump* msmap* nm2tsv* nsinstall* res/samples res/throbber shlibsign* certutil* pk12util* BadCertServer* OCSPStaplingServer* GenerateOCSPResponse* chrome/chrome.rdf chrome/app-chrome.manifest chrome/overlayinfo components/compreg.dat components/xpti.dat content_unit_tests necko_unit_tests *.dSYM " \
/<<PKGBUILDDIR>>/build-browser/_virtualenv/bin/python /<<PKGBUILDDIR>>/toolkit/mozapps/installer/packager.py -DMOZ_APP_NAME=firefox -DPREF_DIR=defaults/preferences -DMOZ_GTK=1 -DMOZ_GTK3=1 -DMOZ_SYSTEM_NSPR=1 -DMOZ_SYSTEM_NSS=1 -DJAREXT= -DMOZ_CHILD_PROCESS_NAME=plugin-container -DNECKO_WIFI -DDLL_PREFIX=lib -DDLL_SUFFIX=.so -DBIN_SUFFIX= -DDIR_MACOS= -DDIR_RESOURCES= -DBINPATH=bin -DRESPATH=bin -DLPROJ_ROOT=en -DMOZ_ICU_VERSION=56 -DMOZ_ICU_DATA_ARCHIVE -DMOZ_ICU_DBG_SUFFIX= -DICU_DATA_FILE=icudt56b.dat -DA11Y_LOG=1 -DACCESSIBILITY=1 -DATK_MAJOR_VERSION=2 -DATK_MINOR_VERSION=22 -DATK_REV_VERSION=0 -DATTRIBUTE_ALIGNED_MAX=64 -DBUILD_CTYPES=1 -DCROSS_COMPILE='' -DD_INO=d_ino -DENABLE_INTL_API=1 -DENABLE_MARIONETTE=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DENABLE_TESTS=1 -DEXPOSE_INTL_API=1 -DFIREFOX_VERSION=50.1.0 -DFORCE_PR_LOG=1 -DFUNCPROTO=15 -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_4 -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGL_PROVIDER_GLX=1 -DGTEST_HAS_RTTI=0 -DHAVE_ALLOCA_H=1 -DHAVE_BYTESWAP_H=1 -DHAVE_CLOCK_MONOTONIC=1 -DHAVE_DIRENT_H=1 -DHAVE_DLADDR=1 -DHAVE_DLOPEN=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_GETOPT_H=1 -DHAVE_GMTIME_R=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_INTTYPES_H=1 -DHAVE_LANGINFO_CODESET=1 -DHAVE_LCHOWN=1 -DHAVE_LIBVPX=1 -DHAVE_LIBX11_XCB=1 -DHAVE_LIBXCB=1 -DHAVE_LIBXCB_SHM=1 -DHAVE_LINUX_IF_ADDR_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_LINUX_RTNETLINK_H=1 -DHAVE_LOCALECONV=1 -DHAVE_LOCALTIME_R=1 -DHAVE_LSTAT64=1 -DHAVE_MALLINFO=1 -DHAVE_MALLOC_H=1 -DHAVE_MALLOC_USABLE_SIZE=1 -DHAVE_MEMALIGN=1 -DHAVE_MEMMEM=1 -DHAVE_NETINET_IN_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_PTHREAD_H=1 -DHAVE_RES_NINIT=1 -DHAVE_SETPRIORITY=1 -DHAVE_STAT64=1 -DHAVE_STDINT_H=1 -DHAVE_STRERROR=1 -DHAVE_STRNDUP=1 -DHAVE_SYSCALL=1 -DHAVE_SYS_QUEUE_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DHAVE_TRUNCATE64=1 -DHAVE_UNISTD_H=1 -DHAVE_VALLOC=1 -DHAVE_VA_COPY=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE__UNWIND_BACKTRACE=1 -DHAVE___CXA_DEMANGLE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMALLOC_H='<malloc.h>' -DMALLOC_USABLE_SIZE_CONST_PTR='' -DMOZILLA_OFFICIAL=1 -DMOZILLA_UAVERSION='"50.0"' -DMOZILLA_VERSION='"50.1.0"' -DMOZILLA_VERSION_U=50.1.0 -DMOZ_ACCESSIBILITY_ATK=1 -DMOZ_ADDON_SIGNING=1 -DMOZ_APP_UA_NAME='""' -DMOZ_APP_UA_VERSION='"50.1.0"' -DMOZ_B2G_OS_NAME='""' -DMOZ_B2G_VERSION='"1.0.0"' -DMOZ_BUILD_APP=browser -DMOZ_BUNDLED_FONTS=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DMOZ_DATA_REPORTING=1 -DMOZ_DEFAULT_MOZILLA_FIVE_HOME='"/usr/lib/firefox"' -DMOZ_DISTRIBUTION_ID='"org.mozilla"' -DMOZ_DLL_SUFFIX='".so"' -DMOZ_EME=1 -DMOZ_ENABLE_DBUS=1 -DMOZ_ENABLE_GIO=1 -DMOZ_ENABLE_SIGNMAR=1 -DMOZ_ENABLE_STARTUP_NOTIFICATION=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_FEEDS=1 -DMOZ_FFMPEG=1 -DMOZ_FMP4=1 -DMOZ_GAMEPAD=1 -DMOZ_GLUE_IN_PROGRAM=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_JSDOWNLOADS=1 -DMOZ_LOGGING=1 -DMOZ_MACBUNDLE_ID=org.mozilla.firefox -DMOZ_MEMORY=1 -DMOZ_MEMORY_LINUX=1 -DMOZ_OFFICIAL_BRANDING=1 -DMOZ_PAY=1 -DMOZ_PERMISSIONS=1 -DMOZ_PHOENIX=1 -DMOZ_PLACES=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_SAMPLE_TYPE_FLOAT32=1 -DMOZ_SECUREELEMENT=1 -DMOZ_SERVICES_HEALTHREPORT=1 -DMOZ_STACKWALKING=1 -DMOZ_STATIC_JS=1 -DMOZ_SYSTEM_SQLITE=1 -DMOZ_TREE_CAIRO=1 -DMOZ_TREE_PIXMAN=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_URL_CLASSIFIER=1 -DMOZ_USER_DIR='".mozilla"' -DMOZ_VORBIS=1 -DMOZ_VPX_NO_MEM_REPORTING=1 -DMOZ_WEBGL_CONFORMANT=1 -DMOZ_WEBM_ENCODER=1 -DMOZ_WEBSPEECH=1 -DMOZ_WEBSPEECH_TEST_BACKEND=1 -DMOZ_WIDGET_GTK=3 -DMOZ_X11=1 -DMOZ_XUL=1 -DNO_NSPR_10_SUPPORT=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DRELEASE_BUILD=1 -DSPIDERMONKEY_PROMISE=1 -DSTATIC_JS_API=1 -DSTDC_HEADERS=1 -DTARGET_XPCOM_ABI='"hppa-gcc3"' -DU_STATIC_IMPLEMENTATION=1 -DU_USING_ICU_NAMESPACE=0 -DVA_COPY=va_copy -DXP_LINUX=1 -DXP_UNIX=1 -D_REENTRANT=1 -DAB_CD=en-US \
--format omni \
--removals /<<PKGBUILDDIR>>/browser/installer/removed-files.in \
\
\
\
\
--optimizejars \
\
\
/<<PKGBUILDDIR>>/build-browser/debian/installer/package-manifest ../../dist ../../dist/firefox \
Executing /<<PKGBUILDDIR>>/build-browser/dist/bin/xpcshell -g /<<PKGBUILDDIR>>/build-browser/dist/bin/ -a /<<PKGBUILDDIR>>/build-browser/dist/bin/ -f /<<PKGBUILDDIR>>/toolkit/mozapps/installer/precompile_cache.js -e precompile_startupcache("resource://gre/");
resource://gre/components/AlarmsManager.js
resource://gre/components/AppsService.js
resource://gre/components/BrowserElementParent.js
resource://gre/components/BrowserElementProxy.js
resource://gre/components/CSSUnprefixingService.js
resource://gre/components/ChromeNotifications.js
resource://gre/components/ColorAnalyzer.js
resource://gre/components/ConsoleAPIStorage.js
resource://gre/components/ContactManager.js
resource://gre/components/ContentProcessSingleton.js
resource://gre/components/DOMSecureElement.js
resource://gre/components/DownloadLegacy.js
resource://gre/components/EditorUtils.js
resource://gre/components/FeedProcessor.js
resource://gre/components/FormAutofillContentService.js
resource://gre/components/FormAutofillStartup.js
resource://gre/components/FormHistoryStartup.js
resource://gre/components/FxAccountsPush.js
resource://gre/components/InstallPackagedWebapp.js
resource://gre/components/MainProcessSingleton.js
resource://gre/components/MozKeyboard.js
resource://gre/components/NetworkGeolocationProvider.js
resource://gre/components/NotificationStorage.js
resource://gre/components/PACGenerator.js
resource://gre/components/PackagedAppUtils.js
resource://gre/components/PageIconProtocolHandler.js
resource://gre/components/PageThumbsProtocol.js
resource://gre/components/Payment.js
resource://gre/components/PaymentFlowInfo.js
resource://gre/components/PaymentProvider.js
resource://gre/components/PeerConnection.js
resource://gre/components/PermissionPromptService.js
resource://gre/components/PermissionSettings.js
resource://gre/components/PhoneNumberService.js
resource://gre/components/PlacesCategoriesStarter.js
resource://gre/components/PresentationControlService.js
resource://gre/components/PresentationDataChannelSessionTransport.js
resource://gre/components/PresentationDeviceInfoManager.js
resource://gre/components/PrivateBrowsingTrackingProtectionWhitelist.js
resource://gre/components/Push.js
resource://gre/components/PushComponents.js
resource://gre/components/PushServiceHandler.js
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/toolkit/mozapps/installer/packager.py", line 415, in <module>
main()
File "/<<PKGBUILDDIR>>/toolkit/mozapps/installer/packager.py", line 409, in main
args.source, gre_path, base)
File "/<<PKGBUILDDIR>>/toolkit/mozapps/installer/packager.py", line 166, in precompile_cache
errors.fatal('Error while running startup cache precompilation')
File "/<<PKGBUILDDIR>>/python/mozbuild/mozpack/errors.py", line 103, in fatal
self._handle(self.FATAL, msg)
File "/<<PKGBUILDDIR>>/python/mozbuild/mozpack/errors.py", line 98, in _handle
raise ErrorMessage(msg)
mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation
/<<PKGBUILDDIR>>/toolkit/mozapps/installer/packager.mk:41: recipe for target 'stage-package' failed
make[3]: *** [stage-package] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/build-browser/browser/installer'
/<<PKGBUILDDIR>>/browser/build.mk:21: recipe for target 'install' failed
make[2]: *** [install] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/build-browser'
dh_auto_install: make -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/tmp AM_UPDATE_INFO_DIR=no installdir=/usr/lib/firefox MOZ_APP_BASE_VERSION=50 MOZ_PKG_MANIFEST=/<<PKGBUILDDIR>>/build-browser/debian/installer/package-manifest MOZ_NONLOCALIZED_PKG_LIST=xpcom debian MOZ_LOCALIZED_PKG_LIST=en-US TAR_CREATE_FLAGS=--exclude=.mkdir.done --hard-dereference -chf SIGN_NSS= returned exit code 2
debian/rules:296: recipe for target 'stamps/install-browser' failed
Running the xpcshell command manually reveals it's actually xpcshell which is segfaulting:
(unstable-hppa-sbuild)root@phantom:/build/firefox-bmck09/firefox-50.1.0/build-browser# export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/build/firefox-bmck09/firefox-50.1.0/build-browser/dist/bin/(unstable-hppa-sbuild)root@phantom:/build/firefox-bmck09/firefox-50.1.0/build-browser#
/build/firefox-bmck09/firefox-50.1.0/build-browser/dist/bin/xpcshell -g /build/firefox-bmck09/firefox-50.1.0/build-browser/dist/bin/ -a
/build/firefox-bmck09/firefox-50.1.0/build-browser/dist/bin/ -f /build/firefox-bmck09/firefox-50.1.0/toolkit/mozapps/installer/precompile_cache.js -e
precompile_startupcache\(\"resource://gre/\"\);
resource://gre/components/AlarmsManager.js
resource://gre/components/AppsService.js
resource://gre/components/BrowserElementParent.js
resource://gre/components/BrowserElementProxy.js
resource://gre/components/CSSUnprefixingService.js
resource://gre/components/ChromeNotifications.js
resource://gre/components/ColorAnalyzer.js
resource://gre/components/ConsoleAPIStorage.js
resource://gre/components/ContactManager.js
resource://gre/components/ContentProcessSingleton.js
resource://gre/components/DOMSecureElement.js
resource://gre/components/DownloadLegacy.js
resource://gre/components/EditorUtils.js
resource://gre/components/FeedProcessor.js
resource://gre/components/FormAutofillContentService.js
resource://gre/components/FormAutofillStartup.js
resource://gre/components/FormHistoryStartup.js
resource://gre/components/FxAccountsPush.js
resource://gre/components/InstallPackagedWebapp.js
resource://gre/components/MainProcessSingleton.js
resource://gre/components/MozKeyboard.js
resource://gre/components/NetworkGeolocationProvider.js
resource://gre/components/NotificationStorage.js
resource://gre/components/PACGenerator.js
resource://gre/components/PackagedAppUtils.js
resource://gre/components/PageIconProtocolHandler.js
resource://gre/components/PageThumbsProtocol.js
resource://gre/components/Payment.js
resource://gre/components/PaymentFlowInfo.js
resource://gre/components/PaymentProvider.js
resource://gre/components/PeerConnection.js
resource://gre/components/PermissionPromptService.js
resource://gre/components/PermissionSettings.js
resource://gre/components/PhoneNumberService.js
resource://gre/components/PlacesCategoriesStarter.js
resource://gre/components/PresentationControlService.js
resource://gre/components/PresentationDataChannelSessionTransport.js
resource://gre/components/PresentationDeviceInfoManager.js
resource://gre/components/PrivateBrowsingTrackingProtectionWhitelist.js
resource://gre/components/Push.js
resource://gre/components/PushComponents.js
resource://gre/components/PushServiceHandler.js
Segmentation fault
(unstable-hppa-sbuild)root@phantom:/build/firefox-bmck09/firefox-50.1.0/build-browser#
The backtrace in gdb reveals that the crash is happening the xpcom code:
Thread 1 "xpcshell" received signal SIGSEGV, Segmentation fault.
xptiTypelibGuts::GetEntryAt (this=0x35b8f727, i=38634) at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptinfo/xptiTypelibGuts.cpp:42
42 xptiInterfaceEntry* r = mEntryArray[i];
(gdb) bt
#0 xptiTypelibGuts::GetEntryAt (this=0x35b8f727, i=38634) at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptinfo/xptiTypelibGuts.cpp:42
#1 0xf6e1bffc in xptiInterfaceEntry::ResolveLocked (this=0xf9f116ba) at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptinfo/xptiInterfaceInfo.cpp:77
#2 0xf6e1c11c in xptiInterfaceEntry::Resolve (this=this@entry=0xf9f116ba) at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptinfo/xptiInterfaceInfo.cpp:54
#3 0xf6e1c168 in xptiInterfaceEntry::EnsureResolved (this=this@entry=0xf9f116ba) at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptinfo/xptiprivate.h:219
#4 0xf6e1c354 in xptiInterfaceEntry::GetMethodInfo (this=0xf9f116ba, index=5818, index@entry=3, info=info@entry=0xfa705710)
at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptinfo/xptiInterfaceInfo.cpp:180
#5 0xf6e1d948 in PrepareAndDispatch (self=0xfa7053d4, methodIndex=<optimized out>, args=0xf9f116ba, floatargs=0xfa705630)
at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptcall/md/unix/xptcstubs_pa32.cpp:39
#6 0xf6e1fb9c in SharedStub () at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_parisc_linux.s:58
#7 0xf6e1db7c in nsXPTCStubBase::Stub3 (this=<optimized out>) at /build/firefox-bmck09/firefox-50.1.0/xpcom/reflect/xptcall/xptcstubsdef.inc:1
#8 0xf749e798 in mozJSComponentLoader::ModuleEntry::GetFactory (module=..., entry=...) at /build/firefox-bmck09/firefox-50.1.0/js/xpconnect/loader/mozJSComponentLoader.cpp:1364
#9 0xf6e0119c in nsFactoryEntry::GetFactory (this=0xf9f116ba) at /build/firefox-bmck09/firefox-50.1.0/xpcom/components/nsComponentManager.cpp:1907
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
My suspicion is that there were some changes to the xptcall/xptinvoke code and the hppa-specific xpt stubs were not updated accordingly.
I will try to follow up with a patch once I know more.
> [1] https://buildd.debian.org/status/fetch.php?pkg=firefox&arch=hppa&ver=50.1.0-1&stamp=1481704086
Reporter | ||
Updated•7 years ago
|
OS: Unspecified → Linux
Hardware: Unspecified → Other
Updated•7 years ago
|
Component: Build Config → XPCOM
Product: Firefox → Core
Reporter | ||
Comment 1•7 years ago
|
||
So, the problem is very likely the missing atomic operations on hppa. From js/src/jit/AtomicOperations.h: // You can disable the JIT with --disable-ion but you must still // provide the atomic operations that will be used by the JS engine. // When the JIT is disabled the operations are simply safe-for-races // C++ realizations of atomics. These operations cannot be written // in portable C++, hence the default here is to crash. See the // top of the file for more guidance. We're missing these atomic operations on alpha, m68k and sh4 as well.
Reporter | ||
Comment 2•7 years ago
|
||
Attachment #8822708 -
Flags: review?(mh+mozilla)
Attachment #8822708 -
Flags: review?(martin)
Reporter | ||
Comment 3•7 years ago
|
||
Attachment #8822709 -
Flags: review?(mh+mozilla)
Attachment #8822709 -
Flags: review?(martin)
Reporter | ||
Comment 4•7 years ago
|
||
Attaching two patches which should fix the issue. The first patch by me enables SPARC AtomicOperations on hppa, the second one - by John David Anglin (a very active hppa porter) - adds new Linux hppa xptcstubs code.
Reporter | ||
Comment 5•7 years ago
|
||
Fix the commit message for the first patch.
Attachment #8822708 -
Attachment is obsolete: true
Attachment #8822708 -
Flags: review?(mh+mozilla)
Attachment #8822708 -
Flags: review?(martin)
Attachment #8822710 -
Flags: review?(mh+mozilla)
Attachment #8822710 -
Flags: review?(martin)
Reporter | ||
Comment 6•7 years ago
|
||
Also improved the commit message for the second patch.
Attachment #8822709 -
Attachment is obsolete: true
Attachment #8822709 -
Flags: review?(mh+mozilla)
Attachment #8822709 -
Flags: review?(martin)
Attachment #8822712 -
Flags: review?(mh+mozilla)
Attachment #8822712 -
Flags: review?(martin)
Reporter | ||
Comment 7•7 years ago
|
||
Attachment #8822710 -
Attachment is obsolete: true
Attachment #8822710 -
Flags: review?(mh+mozilla)
Attachment #8822710 -
Flags: review?(martin)
Attachment #8822923 -
Flags: review?(mh+mozilla)
Attachment #8822923 -
Flags: review?(martin)
Reporter | ||
Comment 8•7 years ago
|
||
Attachment #8822712 -
Attachment is obsolete: true
Attachment #8822712 -
Flags: review?(mh+mozilla)
Attachment #8822712 -
Flags: review?(martin)
Attachment #8822924 -
Flags: review?(mh+mozilla)
Attachment #8822924 -
Flags: review?(martin)
Reporter | ||
Comment 9•7 years ago
|
||
Attaching two new patches. It turns out, that Firefox on hppa can be fixed with two very minimal fixes.
Reporter | ||
Comment 10•7 years ago
|
||
Added a comment to the inline assembly as requested by John David Anglin who wrote the patch.
Attachment #8822924 -
Attachment is obsolete: true
Attachment #8822924 -
Flags: review?(mh+mozilla)
Attachment #8822924 -
Flags: review?(martin)
Attachment #8822950 -
Flags: review?(mh+mozilla)
Attachment #8822950 -
Flags: review?(martin)
Updated•7 years ago
|
Attachment #8822923 -
Flags: review?(mh+mozilla)
Attachment #8822923 -
Flags: review?(martin)
Attachment #8822923 -
Flags: review?(jdemooij)
Updated•7 years ago
|
Attachment #8822950 -
Flags: review?(nfroyd)
Attachment #8822950 -
Flags: review?(mh+mozilla)
Attachment #8822950 -
Flags: review?(martin)
Comment 11•7 years ago
|
||
Comment on attachment 8822923 [details] [diff] [review] 0001-Bug-1325495-js-jit-Use-PowerPC-atomic-operations-on-.patch Review of attachment 8822923 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/jit/AtomicOperations.h @@ +324,5 @@ > # include "jit/arm/AtomicOperations-arm.h" > #elif defined(JS_CODEGEN_ARM64) > # include "jit/arm64/AtomicOperations-arm64.h" > +#elif defined(__hppa__) > +# include "jit/none/AtomicOperations-ppc.h" Could you move this inside the "#elif defined(JS_CODEGEN_NONE)" block below? That way we handle all no-JIT platforms the same way.
Attachment #8822923 -
Flags: review?(jdemooij)
Reporter | ||
Comment 12•7 years ago
|
||
Attachment #8822923 -
Attachment is obsolete: true
Attachment #8825763 -
Flags: review?(jdemooij)
Reporter | ||
Comment 13•7 years ago
|
||
Attachment #8822950 -
Attachment is obsolete: true
Attachment #8822950 -
Flags: review?(nfroyd)
Attachment #8825764 -
Flags: review?(nfroyd)
Reporter | ||
Comment 14•7 years ago
|
||
(In reply to Jan de Mooij [:jandem] from comment #11) > Could you move this inside the "#elif defined(JS_CODEGEN_NONE)" block below? > That way we handle all no-JIT platforms the same way. Done. Also rebased both patches.
Comment 15•7 years ago
|
||
Comment on attachment 8825763 [details] [diff] [review] 0001-Bug-1325495-js-jit-Use-PowerPC-atomic-operations-on-.patch Review of attachment 8825763 [details] [diff] [review]: ----------------------------------------------------------------- Thanks! ::: js/src/jit/AtomicOperations.h @@ +341,5 @@ > # include "jit/none/AtomicOperations-ppc.h" > # elif defined(__aarch64__) > # include "jit/arm64/AtomicOperations-arm64.h" > +# elif defined(__hppa__) > +# include "jit/none/AtomicOperations-ppc.h" Nit: extra space before "include" so it matches the others.
Attachment #8825763 -
Flags: review?(jdemooij) → review+
Reporter | ||
Comment 16•7 years ago
|
||
Attachment #8825763 -
Attachment is obsolete: true
Attachment #8825788 -
Flags: review?(jdemooij)
Reporter | ||
Comment 17•7 years ago
|
||
(In reply to Jan de Mooij [:jandem] from comment #15) > Comment on attachment 8825763 [details] [diff] [review] > 0001-Bug-1325495-js-jit-Use-PowerPC-atomic-operations-on-.patch > > Review of attachment 8825763 [details] [diff] [review]: > ----------------------------------------------------------------- > > Thanks! > > ::: js/src/jit/AtomicOperations.h > @@ +341,5 @@ > > # include "jit/none/AtomicOperations-ppc.h" > > # elif defined(__aarch64__) > > # include "jit/arm64/AtomicOperations-arm64.h" > > +# elif defined(__hppa__) > > +# include "jit/none/AtomicOperations-ppc.h" > > Nit: extra space before "include" so it matches the others. Fixed. Thanks.
Updated•7 years ago
|
Attachment #8825788 -
Flags: review?(jdemooij) → review+
Comment 18•7 years ago
|
||
Comment on attachment 8825764 [details] [diff] [review] 0002-Bug-1325495-xpcom-Save-r26-in-arg0-stack-slot-on-hpp.patch Review of attachment 8825764 [details] [diff] [review]: ----------------------------------------------------------------- rs=me, though it would probably be more robust to rewrite StubN in assembly, as is done for other architectures.
Attachment #8825764 -
Flags: review?(nfroyd) → review+
Comment 19•7 years ago
|
||
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/1328eedd9e60 js:jit: Use PowerPC atomic operations on hppa. r=jandem https://hg.mozilla.org/integration/mozilla-inbound/rev/ce9e9f0dc752 xpcom: Save %r26 in arg0 stack slot on hppa with gcc. r=froydnj
Comment 20•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1328eedd9e60 https://hg.mozilla.org/mozilla-central/rev/ce9e9f0dc752
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
status-firefox53:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Comment 21•6 years ago
|
||
(whoops, wrong bug. Ignore the CC changes)
You need to log in
before you can comment on or make changes to this bug.
Description
•