On Tue, Apr 24, 2018 at 08:52:58PM +0200, John Paul Adrian Glaubitz wrote: > On 01/17/2018 01:43 PM, John Paul Adrian Glaubitz wrote: > > I can whip up a patch for mozjs52 to add sparc64 support if there is > > a realistic chance for it to be merged. My m68k [3] and sh4 [4] patches for > > mozjs52 are still without any reply, for example. > > Attaching said patch. I hope to get around sending a pull request on Salsa > the next days. > > The patches should be applied in this order: > > - sh4-support.patch (#880692) > - m68k-support.patch (#880693) > - sparc64-support.patch (this bug report) > > I'll also send a clean one for alpha and ia64 (#887496). > > Adrian > > -- > .''`. John Paul Adrian Glaubitz > : :' : Debian Developer - glaub...@debian.org > `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de > `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
> Description: Add support for sparc64 > Author: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> > Forwarded: https://bugzilla.mozilla.org/show_bug.cgi?id=1275204 > Last-Update: 2017-06-18 > > Index: firefox-esr-52.2.0esr/js/src/gc/Memory.cpp > =================================================================== > --- firefox-esr-52.2.0esr.orig/js/src/gc/Memory.cpp > +++ firefox-esr-52.2.0esr/js/src/gc/Memory.cpp > @@ -501,7 +501,7 @@ static inline void* > MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE, > int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = > 0) > { > -#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || > defined(__aarch64__) > +#if defined(__ia64__) || (defined(__sparc__) && defined(__arch64__) && > (defined(__NetBSD__) || defined(__linux__))) I don't think you meant to drop the __aarch64__ here (the real commit upstream keeps it). > MOZ_ASSERT((0xffff800000000000ULL & (uintptr_t(desired) + length - 1)) > == 0); > #endif > [...] > Index: firefox-esr-52.2.0esr/js/src/jsapi-tests/testGCAllocator.cpp > =================================================================== > --- firefox-esr-52.2.0esr.orig/js/src/jsapi-tests/testGCAllocator.cpp > +++ firefox-esr-52.2.0esr/js/src/jsapi-tests/testGCAllocator.cpp > @@ -312,7 +312,7 @@ void unmapPages(void* p, size_t size) { > void* > mapMemoryAt(void* desired, size_t length) > { > -#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || > defined(__aarch64__) > +#if defined(__ia64__) || (defined(__sparc__) && defined(__arch64__) && > (defined(__NetBSD__) || defined(__linux__))) Ditto. > MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length > - 1) == 0); > #endif > [...] James