diff options
author | jmcneill <jmcneill@pkgsrc.org> | 2015-10-16 12:59:36 +0000 |
---|---|---|
committer | jmcneill <jmcneill@pkgsrc.org> | 2015-10-16 12:59:36 +0000 |
commit | 1cf1fb399318023ccdaf878d2b60e8ff2d705f07 (patch) | |
tree | 69aa453278ac0d073bc135c8f892f4e6dd65c30a /www/firefox | |
parent | c642c2ddba92e8d2415fa8d834732f3733a316f6 (diff) | |
download | pkgsrc-1cf1fb399318023ccdaf878d2b60e8ff2d705f07.tar.gz |
NetBSD/arm fixes. Now Firefox works on my Tegra board again.
Diffstat (limited to 'www/firefox')
8 files changed, 232 insertions, 1 deletions
diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 32c25b5d95c..f44183a1adf 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.218 2015/10/07 23:21:22 joerg Exp $ +$NetBSD: distinfo,v 1.219 2015/10/16 12:59:36 jmcneill Exp $ SHA1 (firefox-41.0.1.source.tar.xz) = 4f6bf34b7b286e033f401d7d4112ec6310577aae RMD160 (firefox-41.0.1.source.tar.xz) = 527ab5c4f55f654b2570163a0b4dcc620e77bee8 @@ -33,14 +33,19 @@ SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 0a7f3167e939822013ae619540665 SHA1 (patch-dom_plugins_ipc_PluginProcessChild.cpp) = 0d10aa4c913d431fb8fa5f995f6e40cb364f069e SHA1 (patch-dom_system_OSFileConstants.cpp) = 4fe5d4ecf6116c7163ee6d2322db8b1b783fe5ec SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = 747354373bcaf2c76bdff71677f354d47837704b +SHA1 (patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S) = 0379bef956f8abf2da2e059389149e133527faab SHA1 (patch-gfx_gl_GLContextProviderGLX.cpp) = 2cc997cab71a84c1f50a791693519a0626564426 SHA1 (patch-gfx_graphite2_moz-gr-update.sh) = b987dad1bd4513b8a04fb280bd1c5280a03af746 SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 5e80b4a32a47ae44d237fec69ea87bdd612a76ce SHA1 (patch-gfx_moz.build) = a98bda4727538f4a0f09a20b84f9dd883edaf7d9 SHA1 (patch-gfx_skia_generate__mozbuild.py) = b15b7586cfbdea112bcf4b5792663f4cdbe91560 SHA1 (patch-gfx_skia_moz.build) = 2537653a708b986d179d17ffdb56e88fe147290c +SHA1 (patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp) = b2b38f65d27f60e2be6a49f3eae63b59bf96d0e5 +SHA1 (patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp) = 208a46fa9012546b62249b3b12650805e12f4dbc +SHA1 (patch-gfx_skia_trunk_src_opts_memset.arm.S) = 47a0fc35dbd57c995cde20e7294f7de90dc2f07e SHA1 (patch-gfx_thebes_gfxWindowsPlatform.cpp) = 55f978ab302dea08e13dfb1b09f460f10d4f5dc8 SHA1 (patch-gfx_thebes_moz.build) = f64917350eaf693866b0e7196cb7f1cc9e9470fc +SHA1 (patch-gfx_ycbcr__row__arm.s) = cddf801b7ffc113a3e26bcc1f8d4a0aa3ced60c7 SHA1 (patch-gfx_ycbcr_moz.build) = 121386ef62ff7425e6f93bc624555199f2ac3485 SHA1 (patch-gfx_ycbcr_yuv__row__arm.S) = f9909ded72762b2c3547dd002707db43745f2b9d SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = 522c46732d44be15411d39e16c89bc848d5c6f7a @@ -104,6 +109,7 @@ SHA1 (patch-media_libvorbis_moz.build) = 927f7848305eb2341c9efa96800d30b4a1b8eaa SHA1 (patch-media_libyuv_include_libyuv_scale__row.h) = 503b6f2065e9d548a1f01f7158d65874f4886c78 SHA1 (patch-media_mtransport_third__party_nICEr_src_util_mbslen.c) = 087e8788c72b96d2059ca82ce4282d78aed546da SHA1 (patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = de7055f891387f96f8fd32366c7189d480354e9e +SHA1 (patch-media_openmax__dl_dl_api_armCOMM__s.h) = 1ce4fe73581ea53f03858f97ce7d7214bcbb5f51 SHA1 (patch-media_webrtc_signaling_test_common.build) = febf2033154d64208632524732c4ef26e9247267 SHA1 (patch-media_webrtc_trunk_webrtc_build_common.gypi) = 4ff5796e15d9aa6adb8495d6f2e5a7f0445a0fac SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi) = e47f1c64c0455f1b31011bf90346645a4ce38e52 @@ -141,6 +147,7 @@ SHA1 (patch-testing_mozharness_configs_vcs__sync_staging__build-repos.py) = dd52 SHA1 (patch-testing_mozharness_configs_vcs__sync_staging__l10n.py) = d1d6ab7d789a97a079989cc600038d4790a0e809 SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 6b926ccd793391ad7bd7101635f4b3eefe3db130 SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = f5adba2137f2d7fd4d4a6a1e8ef8625866513890 +SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 4b664bb6ac2c23e8bfddd406bf76e288548e8910 SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h) = 3b0973c96eadb7bff91eab211d3c159a9b22fa9c SHA1 (patch-toolkit_library_moz.build) = 625d78e64959f78a5d0b8148749bb43a0abcbcf7 SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b diff --git a/www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S b/www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S new file mode 100644 index 00000000000..29e6f57515d --- /dev/null +++ b/www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S @@ -0,0 +1,37 @@ +$NetBSD: patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- gfx/cairo/libpixman/src/pixman-arm-neon-asm.S.orig 2015-09-29 21:45:08.000000000 +0000 ++++ gfx/cairo/libpixman/src/pixman-arm-neon-asm.S +@@ -34,6 +34,12 @@ + * - pixman_composite_over_n_8_0565_asm_neon + */ + ++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif ++ + /* Prevent the stack from becoming executable for no reason... */ + #if defined(__linux__) && defined(__ELF__) + .section .note.GNU-stack,"",%progbits +@@ -3141,7 +3147,8 @@ pixman_asm_function fname + TMP4 .req r9 + STRIDE .req r2 + +- .fnstart ++ .cfi_startproc ++ UNWIND .fnstart + mov ip, sp + .save {r4, r5, r6, r7, r8, r9} + push {r4, r5, r6, r7, r8, r9} +@@ -3244,7 +3251,8 @@ pixman_asm_function fname + .endif + pop {r4, r5, r6, r7, r8, r9} + bx lr +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + + .unreq OUT + .unreq TOP diff --git a/www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp b/www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp new file mode 100644 index 00000000000..d7a4ade0157 --- /dev/null +++ b/www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp @@ -0,0 +1,16 @@ +$NetBSD: patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- gfx/skia/trunk/src/core/SkUtilsArm.cpp.orig 2015-09-29 21:44:49.000000000 +0000 ++++ gfx/skia/trunk/src/core/SkUtilsArm.cpp +@@ -47,6 +47,11 @@ + # endif + #endif + ++#if !defined(TEMP_FAILURE_RETRY) ++ // TEMP_FAILURE_RETRY is glibc specific ++# define TEMP_FAILURE_RETRY ++#endif ++ + // A function used to determine at runtime if the target CPU supports + // the ARM NEON instruction set. This implementation is Linux-specific. + static bool sk_cpu_arm_check_neon(void) { diff --git a/www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp new file mode 100644 index 00000000000..536ec63edb1 --- /dev/null +++ b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp @@ -0,0 +1,28 @@ +$NetBSD: patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- gfx/skia/trunk/src/opts/SkBitmapProcState_opts_arm.cpp.orig 2015-09-29 21:44:50.000000000 +0000 ++++ gfx/skia/trunk/src/opts/SkBitmapProcState_opts_arm.cpp +@@ -97,7 +97,11 @@ void SI8_D16_nofilter_DX_arm(const SkBit + "2: \n\t" + : [xx] "+r" (xx), [count8] "+r" (count8), [colors] "+r" (colors) + : [table] "r" (table), [srcAddr] "r" (srcAddr) ++#if defined(__NetBSD__) ++ : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10" ++#else + : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" ++#endif + ); + + for (i = (count & 7); i > 0; --i) { +@@ -181,7 +185,11 @@ void SI8_opaque_D32_nofilter_DX_arm(cons + "4: \n\t" // exit + : [xx] "+r" (xx), [count] "+r" (count), [colors] "+r" (colors) + : [table] "r" (table), [srcAddr] "r" (srcAddr) ++#if defined(__NetBSD__) ++ : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10" ++#else + : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" ++#endif + ); + } + diff --git a/www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S new file mode 100644 index 00000000000..66fb59ea117 --- /dev/null +++ b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S @@ -0,0 +1,49 @@ +$NetBSD: patch-gfx_skia_trunk_src_opts_memset.arm.S,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- gfx/skia/trunk/src/opts/memset.arm.S.orig 2015-09-29 21:44:50.000000000 +0000 ++++ gfx/skia/trunk/src/opts/memset.arm.S +@@ -13,6 +13,12 @@ + * to aid future maintenance. + */ + ++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif ++ + .text + .align 4 + .syntax unified +@@ -30,7 +36,8 @@ + * + */ + arm_memset16: +- .fnstart ++ .cfi_startproc ++ UNWIND .fnstart + push {lr} + + /* if count is equal to zero then abort */ +@@ -51,10 +58,12 @@ arm_memset16: + + /* Now jump into the main loop below. */ + b .Lwork_32 +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + + arm_memset32: +- .fnstart ++ .cfi_startproc ++ UNWIND .fnstart + push {lr} + + /* if count is equal to zero then abort */ +@@ -108,4 +117,5 @@ arm_memset32: + + .Lfinish: + pop {pc} +- .fnend ++ UNWIND .fnend ++ .cfi_endproc diff --git a/www/firefox/patches/patch-gfx_ycbcr__row__arm.s b/www/firefox/patches/patch-gfx_ycbcr__row__arm.s new file mode 100644 index 00000000000..f7d144e9eae --- /dev/null +++ b/www/firefox/patches/patch-gfx_ycbcr__row__arm.s @@ -0,0 +1,37 @@ +$NetBSD: patch-gfx_ycbcr__row__arm.s,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- gfx/ycbcr/yuv_row_arm.s.orig 2015-09-29 21:44:50.000000000 +0000 ++++ gfx/ycbcr/yuv_row_arm.s +@@ -2,6 +2,12 @@ + * 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/. */ + ++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif ++ + .arch armv7-a + .fpu neon + /* Allow to build on targets not supporting neon, and force the object file +@@ -74,7 +80,8 @@ YCbCr42xToRGB565_DITHER30_CONSTS_NEON: + .global ScaleYCbCr42xToRGB565_BilinearY_Row_NEON + .type ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, %function + .balign 64 +- .fnstart ++ .cfi_startproc ++ UNWIND .fnstart + ScaleYCbCr42xToRGB565_BilinearY_Row_NEON: + STMFD r13!,{r4-r9,r14} @ 8 words. + ADR r14,YCbCr42xToRGB565_DITHER03_CONSTS_NEON +@@ -296,7 +303,8 @@ s42xbily_neon_tail: + s42xbily_neon_done: + VPOP {Q4-Q7} @ 16 words. + LDMFD r13!,{r4-r9,PC} @ 8 words. +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + .size ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, .-ScaleYCbCr42xToRGB565_BilinearY_Row_NEON + + #if defined(__ELF__)&&defined(__linux__) diff --git a/www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h b/www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h new file mode 100644 index 00000000000..6ab70925a05 --- /dev/null +++ b/www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h @@ -0,0 +1,37 @@ +$NetBSD: patch-media_openmax__dl_dl_api_armCOMM__s.h,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- media/openmax_dl/dl/api/armCOMM_s.h.orig 2015-09-29 21:44:56.000000000 +0000 ++++ media/openmax_dl/dl/api/armCOMM_s.h +@@ -11,6 +11,12 @@ + @// This file was originally licensed as follows. It has been + @// relicensed with permission from the copyright holders. + @// ++ ++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif + + @// + @// File Name: armCOMM_s.h +@@ -175,7 +181,8 @@ + .object_arch armv4 + .align 2 + \name : +-.fnstart ++ .cfi_startproc ++ UNWIND .fnstart + @ Save specified R registers + _M_GETRREGLIST \rreg + _M_PUSH_RREG +@@ -202,7 +209,8 @@ + .endif + @ Restore any saved R or D registers. + _M_RET +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + .endfunc + @ Reset the global stack tracking variables back to their + @ initial values. diff --git a/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h b/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h new file mode 100644 index 00000000000..92f3e0777b3 --- /dev/null +++ b/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h @@ -0,0 +1,20 @@ +$NetBSD: patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h,v 1.1 2015/10/16 12:59:36 jmcneill Exp $ + +--- toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h.orig 2015-09-29 21:45:03.000000000 +0000 ++++ toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h +@@ -76,9 +76,15 @@ typedef intptr_t Atomic64; + #endif + #endif + ++#if defined(__NetBSD__) && defined(__arm__) ++// NetBSD/arm uses long for intptr_t, which fails -fpermissive checks. So ++// explicitly use int32 here instead. ++typedef int32 AtomicWord; ++#else + // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or + // Atomic64 routines below, depending on your architecture. + typedef intptr_t AtomicWord; ++#endif + + // Atomically execute: + // result = *ptr; |