mozilla-aarch64-bmo-962488.patch
changeset 718 6cb1ac7cd223
parent 716 cef565f1c325
child 719 8d80a56bb0a8
equal deleted inserted replaced
716:cef565f1c325 718:6cb1ac7cd223
     1 
       
     2 # HG changeset patch
       
     3 # User Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
       
     4 # Date 1393440196 18000
       
     5 # Node ID 6a46f53ad944b44385398822d7bcf7621a785d91
       
     6 # Parent  0aa56e2a5f816a30da48701f73d03060ee9692b2
       
     7 Bug 962488 - Update double-conversion for proper AArch64 support. r=froydnj
       
     8 
       
     9 Fix imported from upstream repository:
       
    10 https://code.google.com/p/double-conversion/source/detail?r=4e24bb31bcc76d6d218f3056b4c24a109d367561
       
    11 
       
    12 diff --git a/mfbt/double-conversion/fix-aarch64-macro.patch b/mfbt/double-conversion/fix-aarch64-macro.patch
       
    13 new file mode 100644
       
    14 --- /dev/null
       
    15 +++ b/mfbt/double-conversion/fix-aarch64-macro.patch
       
    16 @@ -0,0 +1,23 @@
       
    17 +Backport from upstream.
       
    18 +
       
    19 +https://code.google.com/p/double-conversion/source/detail?r=4e24bb31bcc76d6d218f3056b4c24a109d367561
       
    20 +
       
    21 +---
       
    22 + mfbt/double-conversion/utils.h |    2 +-
       
    23 + 1 file changed, 1 insertion(+), 1 deletion(-)
       
    24 +
       
    25 +--- a/mfbt/double-conversion/utils.h
       
    26 ++++ b/mfbt/double-conversion/utils.h
       
    27 +@@ -58,11 +58,11 @@
       
    28 +     defined(__mips__) || \
       
    29 +     defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
       
    30 +     defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
       
    31 +     defined(__SH4__) || defined(__alpha__) || \
       
    32 +     defined(_MIPS_ARCH_MIPS32R2) || \
       
    33 +-    defined(_AARCH64EL_)
       
    34 ++    defined(__AARCH64EL__)
       
    35 + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
       
    36 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
       
    37 + #if defined(_WIN32)
       
    38 + // Windows uses a 64bit wide floating point stack.
       
    39 + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
       
    40 diff --git a/mfbt/double-conversion/update.sh b/mfbt/double-conversion/update.sh
       
    41 --- a/mfbt/double-conversion/update.sh
       
    42 +++ b/mfbt/double-conversion/update.sh
       
    43 @@ -15,9 +15,12 @@ cp $1/src/*.h ./
       
    44  
       
    45  # Source
       
    46  cp $1/src/*.cc ./
       
    47  
       
    48  patch -p3 < add-mfbt-api-markers.patch
       
    49  patch -p3 < use-StandardInteger.patch
       
    50  patch -p3 < use-mozilla-assertions.patch
       
    51  patch -p3 < use-static_assert.patch
       
    52 -patch -p3 < ToPrecision-exponential.patch
       
    53 \ No newline at end of file
       
    54 +patch -p3 < ToPrecision-exponential.patch
       
    55 +
       
    56 +# Merged upstream, part of 2.0.1 version
       
    57 +patch -p3 < fix-aarch64-macro.patch
       
    58 diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
       
    59 --- a/mfbt/double-conversion/utils.h
       
    60 +++ b/mfbt/double-conversion/utils.h
       
    61 @@ -55,17 +55,17 @@
       
    62  #if defined(_M_X64) || defined(__x86_64__) || \
       
    63      defined(__ARMEL__) || defined(__avr32__) || \
       
    64      defined(__hppa__) || defined(__ia64__) || \
       
    65      defined(__mips__) || \
       
    66      defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
       
    67      defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
       
    68      defined(__SH4__) || defined(__alpha__) || \
       
    69      defined(_MIPS_ARCH_MIPS32R2) || \
       
    70 -    defined(_AARCH64EL_)
       
    71 +    defined(__AARCH64EL__)
       
    72  #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
       
    73  #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
       
    74  #if defined(_WIN32)
       
    75  // Windows uses a 64bit wide floating point stack.
       
    76  #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
       
    77  #else
       
    78  #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
       
    79  #endif  // _WIN32
       
    80