Commit Graph

287 Commits

Author SHA1 Message Date
Nathan Froyd
03e51146b9 Bug 1561088 - emit unwind information for libffi aarch64/win assembly; r=dmajor,gsvelto
The hand-written assembly for libffi on aarch64/windows doesn't emit
unwind information.  If we ever tried to unwind through these functions,
they'd look like leaf functions, which is decidedly not true and would
cause great pain.

For whatever reason, the original aarch64 libffi functions used
x21/x22/x23/x24 as their (callee-saved) scratch registers.  This
convention works on windows as well, but the unwind information on
windows mandates that we start saving callee-saved registers starting
from x19, rather than x21.  Rather than rewriting the assembly to use
x19/x20 instead of x21/x22, which would be a large change, we chose
instead to simply save/restore extra registers in the prolog/epilog.
This change does make the stack frame sizes slightly bigger, but an
extra 16 bytes in libffi stack frames should not matter.

The `-TC` change is necessary to make the compiler play nicely with .asm
file suffixes.

Differential Revision: https://phabricator.services.mozilla.com/D35714

--HG--
extra : moz-landing-system : lando
2019-06-27 13:36:48 +00:00
Nathan Froyd
adb2ee48ac Bug 1561069 - fix mistranslation in preprocess_libffi_asm.py; r=glandium
When we converted our libffi assembly preprocessing to use
`GENERATED_FILES`, we translated `sed 's%/F[dpa][^ ]*%%g'` to use the Python
regular expression `'F[dpa][^ ]*'`.  Note that we missed the leading `/` in
the sed expression; omitting that leading slash causes no end of trouble if
you have particular expressions in your assembly file, such as
"FastFailCode".  (I'm a little surprised this hasn't bitten us yet.)

The straightfoward fix is to add the leading slash.

But wait, the rabbit hole goes deeper.  The actual bit from libffi's
`msvcc.sh` that this was trying to translate was:

```
    echo "$cl -nologo -EP $includes $defines $src > $ppsrc"
    "$cl" -nologo -EP $includes $defines $src > $ppsrc || exit $?
    output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')"
    args="-nologo $safeseh $single $output $ppsrc"

    echo "$ml $args"
    eval "\"$ml\" $args"
    result=$?
```

Note that the sed expression is operating on `$output`, which is a
completely *separate* thing from the output from the result of
preprocessing.  In `msvcc.sh`, `$output` is actually some arguments that are
supposed to be passed to the assembler, per the above and the only place in
the script that sets `$output` to a non-trivial value:

```
    -o)
      outdir="$(dirname $2)"
      base="$(basename $2|sed 's/\.[^.]*//g')"
      if [ -n "$single" ]; then
        output="-Fo$2"
      else
        output="-Fe$2"
      fi
      if [ -n "$assembly" ]; then
        args="$args $output"
      else
        args="$args $output -Fd$outdir/$base -Fp$outdir/$base -Fa$outdir/$base"
      fi
```

Presumably the sed expression is attempting to remove `-Fd` and friends from
`$args` instead of `$output`, but failing badly at doing so.

In any event, the regex substitution the script is doing is unnecessary and,
with the current code, actively harmful.  Let's remove the regular
expression substitution entirely.

Differential Revision: https://phabricator.services.mozilla.com/D35705

--HG--
extra : moz-landing-system : lando
2019-06-24 21:26:32 +00:00
Ehsan Akhgari
4cb428d268 Bug 1555205 - Move db/sqlite3 to third_party/; r=mak
Differential Revision: https://phabricator.services.mozilla.com/D32939

--HG--
rename : db/sqlite3/README => third_party/sqlite3/README
rename : db/sqlite3/README.MOZILLA => third_party/sqlite3/README.MOZILLA
rename : db/sqlite3/src/moz.build => third_party/sqlite3/src/moz.build
rename : db/sqlite3/src/sqlite.symbols => third_party/sqlite3/src/sqlite.symbols
rename : db/sqlite3/src/sqlite3.c => third_party/sqlite3/src/sqlite3.c
rename : db/sqlite3/src/sqlite3.h => third_party/sqlite3/src/sqlite3.h
extra : moz-landing-system : lando
2019-05-29 10:16:29 +00:00
André Bargull
609b56f708 Bug 1543642 - Part 2: Update in-tree ICU to release 64.2. r=jwalden
--HG--
extra : amend_source : e10719d9ef0593b38840e044b87ada042d499e01
2019-04-23 07:45:23 -07:00
André Bargull
868d7f1acd Bug 1543644: Include RBNF data for Japanese to support Gannen year representation. r=jwalden
ICU changes the numbering system of date formats which include an era marker
to "jpanyear". "jpanyear" is a rule-based numbering system and therefore the
RBNF data for the Japanese locale now need to be included.

Differential Revision: https://phabricator.services.mozilla.com/D27340

--HG--
extra : moz-landing-system : lando
2019-04-26 20:55:35 +00:00
Petr Sumbera
eb6f9e60ac Bug 1540079 - Firefox NSPR build on Solaris SPARC need to include os_SunOS_sparcv9.s r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26131

--HG--
extra : moz-landing-system : lando
2019-04-05 06:43:52 +00:00
André Bargull
16d9e7dfcd Bug 1533481 - Part 5: Update in-tree ICU to release 64.1. r=jwalden!
--HG--
extra : rebase_source : 9dfdf09968fb65ba1288b5d79d8dd238c270e34f
2019-03-28 07:29:13 -07:00
Jed Davis
65bfb7a861 Bug 1516325. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D22638

--HG--
extra : moz-landing-system : lando
2019-03-23 10:25:18 +00:00
Dorel Luca
4b0b9944c9 Backed out 2 changesets (bug 1516325) for xpcshell failures in netwerk/test/unit/test_udpsocket.js. CLOSED TREE
Backed out changeset 7f9508dc59e1 (bug 1516325)
Backed out changeset 28eb88277ffc (bug 1516325)
2019-03-06 20:51:39 +02:00
Jed Davis
07a3a4354d Bug 1516325 - Use poll() in NSPR on MacOS. r=glandium
This is being changed in Firefox's build config rather than NSPR's
to avoid possibly introducing regressions into other NSPR users due
to bugs in MacOS's poll, such as the POLLPRI issue addressed in the
previous patch.  (There is also a known bug when calling poll() with
zero descriptors, but PR_Poll already has code to call PR_Sleep instead
in that case.)

Depends on D21321

Differential Revision: https://phabricator.services.mozilla.com/D21322

--HG--
extra : moz-landing-system : lando
2019-02-27 15:12:21 +00:00
Robert Helmer
228ecafc9c Bug 1523312 - build msgpack separately from libprio r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D21076

--HG--
extra : moz-landing-system : lando
2019-02-27 18:58:37 +00:00
David Major
c402a2d8be Bug 1530483 - Use UNIFIED_SOURCES in NSPR's moz.build r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D21060

--HG--
extra : moz-landing-system : lando
2019-02-26 07:05:23 +00:00
Mike Hommey
edeae90ee0 Bug 1529139 - Add proper dependencies for win{32,64}.asm. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D20587

--HG--
extra : moz-landing-system : lando
2019-02-21 00:11:04 +00:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Christian Holler
df998e7c06 Bug 1522066 - Disable unused ICU code during build. r=froydnj,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D17341

--HG--
extra : moz-landing-system : lando
2019-01-31 12:22:10 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
André Bargull
12266f8fb5 Bug 1517222: Update tzdata in ICU data files to 2018i. r=Waldo 2019-01-04 04:46:00 -08:00
Alex Chronopoulos
e821d283fa Bug 1493400 - Create build files for dav1d. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D12163

--HG--
extra : moz-landing-system : lando
2018-11-24 01:53:31 +00:00
Thomas Daede
9735214d9a Bug 1501796 - Use nasm when yasm is requested. r=firefox-build-system-reviewers,mshal
Includes changes to support nasm's stricter include paths.

Supports falling back to yasm if nasm is missing.

Differential Revision: https://phabricator.services.mozilla.com/D9972

--HG--
extra : moz-landing-system : lando
2018-11-16 01:20:58 +00:00
André Bargull
f985d9152e Bug 1502530 - Part 2: Update tzdata in ICU data files to 2018g. r=Waldo 2018-11-06 02:52:01 -08:00
André Bargull
148e9c75e6 Bug 1499026 - Part 2: Update in-tree ICU to release 63.1. rs=Waldo
--HG--
rename : intl/icu/source/common/ulistformatter.cpp => intl/icu/source/i18n/ulistformatter.cpp
2018-11-01 06:32:25 -07:00
Andrew Osmond
d87a27c07f Bug 1294490 - Part 5. Add --with-system-webp switch to build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8118
2018-10-31 15:01:08 -04:00
Andrew Osmond
26e5749b27 Bug 1294490 - Part 2. Add build files to support libwebp decoding. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8115
2018-10-31 15:01:08 -04:00
Nathan Froyd
9d90fe9902 Bug 1480550 - add ctypes support for aarch64 windows; r=dmajor
The bulk of this patch is the new win64.asm, which is a more-or-less
direct copy of aarch64's sysv.S file, with modifications for armasm64's
peculiarities.  The changes to ffi.c were minimal, mostly so that
arithmetic on `void*` conforms to the C standard.
2018-10-26 13:00:41 -04:00
Brindusan Cristian
c54d20162e Backed out 7 changesets (bug 1294490) for android build bustages. CLOSED TREE
Backed out changeset 1a1d5b5a6a1a (bug 1294490)
Backed out changeset fecbc475cf54 (bug 1294490)
Backed out changeset 7b9bc181d099 (bug 1294490)
Backed out changeset 2a06794651b2 (bug 1294490)
Backed out changeset d35b5fadd6ca (bug 1294490)
Backed out changeset 96fc5a421819 (bug 1294490)
Backed out changeset e74320599eba (bug 1294490)
2018-10-26 19:18:44 +03:00
Andrew Osmond
9b16fefe56 Bug 1294490 - Part 5. Add --with-system-webp switch to build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8118
2018-10-26 10:52:39 -04:00
Andrew Osmond
210c5b0b10 Bug 1294490 - Part 2. Add build files to support libwebp decoding. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8115
2018-10-26 10:52:39 -04:00
Tom Ritter
12b03f549e Bug 1490567 Update ffi build to handle x86 MinGW-clang builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D5643

--HG--
extra : moz-landing-system : lando
2018-09-14 02:08:17 +00:00
Nathan Froyd
cc7ab9c447 Bug 1487122 - fix icudata assembly for aarch64 windows; r=ted.mielczarek
Apparently the assembler was willing to accept the previous version, but
was unwilling to find the necessary symbols to link some JS code.  This
version correctly quotes the data symbol and adds a little extra quoting
based on examining compiler-generated output.
2018-09-04 16:41:08 -04:00
Ciure Andrei
d716a04e20 Merge inbound to mozilla-central. a=merge 2018-08-29 00:58:21 +03:00
Robert Helmer
10b80b68fe bug 1485946 - skip building libprio on MSVC r=froydnj
libprio does not currently build with MSVC (since it only supports
C90 as a compiler), this is being worked on upstream at https://github.com/mozilla/libprio/issues/17

As we are almost certainly not going to ship Firefox build with MSVC anymore,
let's disable this to get it working on this Tier-2 platform.

Differential Revision: https://phabricator.services.mozilla.com/D4292

--HG--
extra : moz-landing-system : lando
2018-08-27 20:07:51 +00:00
Narcis Beleuzu
eec002c6df Backed out changeset df602a252b66 (bug 1485946) for Linting failure. CLOSED TREE 2018-08-27 21:41:38 +03:00
Robert Helmer
70e2c73f5a bug 1485946 - skip building libprio on MSVC r=froydnj
libprio does not currently build with MSVC (since it only supports
C90 as a compiler), this is being worked on upstream at https://github.com/mozilla/libprio/issues/17

As we are almost certainly not going to ship Firefox build with MSVC anymore,
let's disable this to get it working on this Tier-2 platform.

Differential Revision: https://phabricator.services.mozilla.com/D4292

--HG--
extra : moz-landing-system : lando
2018-08-27 15:39:46 +00:00
Nathan Froyd
c551aa18b8 Bug 1486020 - eliminate warning spam about ICU RTTI with MSVC; r=chmanchester 2018-08-28 09:22:39 -04:00
Robert Helmer
5e9fa7fdb4 Bug 1421501 - build integration for vendored msgpack r=glandium
MozReview-Commit-ID: 4AKDbOU4aWx

--HG--
extra : rebase_source : 3c35f85a5cf25ba60e33fd64fbb265b490df4a33
2018-08-06 15:10:36 -07:00
Robert Helmer
c5e6829a8f Bug 1421501 - build system integration for libprio r=gps
MozReview-Commit-ID: FYHgLmEhr03

--HG--
extra : rebase_source : 4ba057098402c58a40cfa5f4ac804af6762b576a
2018-06-07 19:14:53 -07:00
Cosmin Sabou
0bd06ad763 Backed out 7 changesets (bug 1421501) for causing build bustages. CLOSED TREE
Backed out changeset 492f05d220b1 (bug 1421501)
Backed out changeset 844232d77d0d (bug 1421501)
Backed out changeset 3affc66728b0 (bug 1421501)
Backed out changeset 4d7c3c02ce8d (bug 1421501)
Backed out changeset e27d93ac79a0 (bug 1421501)
Backed out changeset a6c9888b5179 (bug 1421501)
Backed out changeset f7f9e47f0608 (bug 1421501)
2018-08-23 22:46:07 +03:00
Robert Helmer
1b7f123cfb Bug 1421501 - disable PrioEncoder on Android until libprio supports it r=froydnj
This is tracked upstream at https://github.com/mozilla/libprio/issues/15

MozReview-Commit-ID: L5VWKdEitfB

--HG--
extra : rebase_source : c19472a8658c01a2edc69904e36a2c5409af1396
2018-08-23 07:59:44 -07:00
Robert Helmer
bdf3c50c91 Bug 1421501 - build integration for vendored msgpack r=glandium
MozReview-Commit-ID: 4AKDbOU4aWx

--HG--
extra : rebase_source : 1900cbd80558397d9552e13b6405b489dd1e3111
2018-08-06 15:10:36 -07:00
Robert Helmer
3d34b66def Bug 1421501 - build system integration for libprio r=gps
MozReview-Commit-ID: FYHgLmEhr03

--HG--
extra : rebase_source : 96bcf9cca0dff054611c09ad3283c369f502fffe
2018-06-07 19:14:53 -07:00
Gurzau Raul
ac1914ecba Backed out 6 changesets (bug 1421501) for bustages on security/nss/lib/freebl/mpi/mp_comba.c on a CLOSED TREE
Backed out changeset cae4910806c7 (bug 1421501)
Backed out changeset 600a005d3613 (bug 1421501)
Backed out changeset 7381597721d2 (bug 1421501)
Backed out changeset 1ee0d35a041f (bug 1421501)
Backed out changeset 772dea1abb7f (bug 1421501)
Backed out changeset c119767aec7b (bug 1421501)
2018-08-23 17:13:42 +03:00
Robert Helmer
d0af2bd6c6 Bug 1421501 - build integration for vendored msgpack r=glandium
MozReview-Commit-ID: 4AKDbOU4aWx

--HG--
extra : rebase_source : f3aabdd38d6051bfef924ff34585940fff155157
2018-08-06 15:10:36 -07:00
Robert Helmer
20c3f148db Bug 1421501 - build system integration for libprio r=gps
MozReview-Commit-ID: FYHgLmEhr03

--HG--
extra : rebase_source : def9cb0e882c42035758e589c23cfe405ea3404a
2018-06-07 19:14:53 -07:00
Nathan Froyd
93ba371b66 Bug 1480558 - part 4 - add icudata support for aarch64 windows; r=mshal
yasm doesn't support aarch64, and trying to use GNU as with an MSVC
build seems like sadness waiting to happen.  Instead, we'll generate our
own assembly file that armasm64 will accept.
2018-08-21 11:00:34 -04:00
André Bargull
026003522e Bug 1346211 - Part 5: Only remove 'exemplar city' names from ICU time zone names data files. r=Waldo
--HG--
extra : rebase_source : b8d72bac193198875fd8df965849e35c7b04e699
2018-07-24 03:07:14 -07:00
Nathan Froyd
12450ae975 Bug 1480590 - add support for aarch64 when setting up NSPR on Windows; r=chmanchester 2018-08-07 18:40:25 -04:00
Karl Tomlinson
defeece367 bug 1476231 remove now-unused libav from lgpllibs r=jya
MozReview-Commit-ID: AjFS01DBXqT

--HG--
extra : rebase_source : 09923977cb864066fc56502427104234bab90f7d
2018-07-16 17:35:34 +12:00
Nathan Froyd
309ddc0be2 Bug 1477048 - part 2 - remove non-ipc/chromium moz.build uses of OS_TEST; r=gps
The deletions in xptcall are when we don't even have support for the CPU
in moz.configure, so I assume that people haven't been compiling on
those architectures for quite some time.
2018-07-24 16:08:56 -04:00
Jacek Caban
52efb2adb3 Bug 1443471 - Take clang mingw into account in moz.build files r=glandium
MozReview-Commit-ID: 2vKiHjmI9Hn

--HG--
extra : rebase_source : 0a527700795ab624926ca4d6de9ec33ab59f31a6
2018-06-25 20:01:39 +02:00
André Bargull
5f0b43c2d6 Bug 1466471 - Part 2: Update in-tree ICU to release 62.1. rs=Waldo 2018-06-22 04:40:26 -07:00