Граф коммитов

920 Коммитов

Автор SHA1 Сообщение Дата
Nick Alexander d56eb2a314 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
-Wl,--version-script based on linker kind and not on the output of
$LINKER -v.

This is a cheap way to address a simple problem that has a complicated
ideal solution. The underlying issue is that in some situations, when
targeting Android, a macOS system ld is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation. The macOS system ld doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system ld.

The ideal solution is to test for linker capabilities dynamically. We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure. Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

MinGW suffers somewhat from the opposite problem: the linker "is GNU
ld" (compatible), but the linker checks don't happen at all. We hard-code
for MinGW based on the C compiler instead.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 19:46:03 +00:00
Cosmin Sabou 9b6a537ec7 Backed out changeset 91300d29898b (bug 1489443) for MinGW build bustages. CLOSED TREE 2018-10-13 02:17:15 +03:00
Nick Alexander 3c83541616 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
`-Wl,--version-script` based on linker kind and not on the output of
`$LINKER -v`.

This is a cheap way to address a simple problem that has a complicated
ideal solution.  The underlying issue is that in some situations, when
targeting Android, a macOS system `ld` is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation.  The macOS system `ld` doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system `ld`.

The ideal solution is to test for linker capabilities dynamically.  We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure.  Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 22:38:44 +00:00
David Major 56fefe876b Bug 1427808 - Fix libs for clang-plugin build. r=froydnj 2018-10-12 07:14:00 -04:00
Guillaume GARDET 01c57dd3b8 Bug 1465731 - Fix armv6 build. r=glandiumd
ARM_ARCH setting is broken in build/autoconf/arch.m4 file,
when multiple lines match the pattern.
So, keep the 1st line only.
2018-07-16 03:18:00 +03:00
shindli 3e5598a161 Backed out changeset 494eb5db5648 (bug 1465731) for bustages in the MOZBUILD file 2018-10-04 09:15:43 +03:00
Guillaume GARDET 5790c3ab65 Bug 1465731 - Fix armv6 build. r=glandium
ARM_ARCH setting is broken in build/autoconf/arch.m4 file,
when multiple lines match the pattern.
So, keep the 1st line only.
2018-10-03 04:22:00 +03:00
Ted Mielczarek 5beac189a8 Bug 1397263 - move GNU_AS checks to toolchain.configure; r=glandium
The GNU_AS check in old-configure depended on running with the value
of $AS before it gets reset to just be the C compiler, which breaks when
we move setting AS into moz.configure.

This patch moves the GNU_AS check to toolchain.configure and changes it
so that it works when the assembler is the C compiler.  We do have to
fix things slightly for clang, because the previous check was
succeeding, but not because of clang: it was detecting the presence of
"GNU" in the output for GNU ld/gold and a message about the GNU GPL.
2018-10-03 20:29:29 -04:00
Nathan Froyd 9a1e9149b8 Bug 1397263 - move AS checks to toolchain.configure; r=glandium
This is a fairly straightforward port of the AS tool checks from old-configure
to toolchain.configure. AS is a little quirky in that we currently do a
normal-looking check for it, but then override that value to be the C compiler
for non-Windows builds, and ml[64]/armasm64 for Windows builds.

After migrating those checks, the only things left in the MOZ_DEFAULT_COMPILER
macro in compiler-opts.m4 were some unused bits, so I removed them:
* Setting of CPP/CXXCPP, which are set in toolchain.configure now
* Setting HOST_LDFLAGS to empty, which doesn't seem particularly useful.

There was also a quirky old test that the assembler was ml[64] when js-ctypes
is enabled that I removed, I don't think it provides any value since this
patch will ensure that we're using the right assembler for Windows builds.
2018-10-03 20:29:29 -04:00
Thomas P. fde56b2dde Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 2018-09-20 21:21:38 +00:00
Andreea Pavel a6ba34f2ad Backed out 2 changesets (bug 1483780) for build bustages on a CLOSED TREE
Backed out changeset 2b0a42c589c5 (bug 1483780)
Backed out changeset 48d133cbafd3 (bug 1483780)
2018-09-21 05:43:03 +03:00
Thomas P. c047fdb3fb Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj
--HG--
extra : histedit_source : b7caa42560c3d8e7ba1dbf61fcacfe0698790801
2018-09-20 21:21:38 +00:00
Thomas P. dae33d978b Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj superreview=decoder
--HG--
extra : histedit_source : 6fd1a37c3fb5d8997be11f7846b2976fc7b8a647
2018-09-11 03:49:37 +00:00
arthur.iakab 1ee75a928a Merge inbound to mozilla-central a=merge 2018-09-19 05:18:50 +03:00
Ted Mielczarek 115b2651d5 Bug 1490463 - part 3 - remove BUILD_TOOLS from config.mk; r=mshal
BUILD_TOOLS was only ever used for things that another variable provides
equally well.  Removing BUILD_TOOLS means that we can remove win_srcdir
and WIN_TOP_SRC as well.
2018-09-18 16:02:22 -04:00
Mike Hommey cdd1898856 Bug 1491236 - Always enable unwind tables on *nix r=froydnj
We were already always enabling it on builds with frame pointers on
Android. We now extend this to builds without frame pointers, helping
with client-side stacktracing for crashes.

It's also the default on many platforms, such as x86-64, whether frame
pointer are enabled or not and on x86 with GCC. Somehow, it's not the
case for x86 with clang, so this makes clang builds the same as GCC
builds in that regard.

On ARM, we were always omitting frame pointers because of a GCC bug, but
we've not been using GCC for Android builds for a long time (and the GCC
bug was actually fixed in 4.7 and backported to 4.6, making it fixed in
all versions of GCC we support).

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

--HG--
extra : moz-landing-system : lando
2018-09-18 21:48:28 +00:00
Thomas P. ac7fc2f5a6 Bug 1474488: add --enable-undefined-sanitizer with custom checks r=froydnj 2018-09-11 02:47:23 +00:00
Jim Chen d968bd5148 Bug 1480834 - 2. Add x86-64 build support; r=nalexander
Add x86-64 as an option for Android builds in the build system.

Differential Revision: https://phabricator.services.mozilla.com/D4480
2018-09-13 12:09:25 -04:00
Jim Chen 054f1436df Bug 1480834 - 0. Drop mips and update NDK platform to 16; r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D5602
2018-09-13 12:09:24 -04:00
Mike Hommey d60c232a5e Bug 1490618 - Use the right variable name for the new ASTMatcher API check r=froydnj
This will make the result properly displayed.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 12:18:13 +00:00
Tom Ritter 0f09d86a83 Bug 1489205 In expandlibs.m4, use the Windows form only when we are compiling on Windows r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D5172

--HG--
extra : moz-landing-system : lando
2018-09-11 03:20:06 +00:00
Mike Hommey cd06f032af Bug 1079662 - Always enable PIE. r=froydnj
Last attempt, a few years ago, blatantly failed because nautilus (the
GNOME file manager) can't start PIE executables, which look like shared
libraries, and that it thus considers not being executables.

Downstreams don't actually have the problem, because users won't be
launching Firefox from a file manager, but for mozilla.org builds, it is
a problem because users would download, then extract, and then likely
try to run the Firefox executable from a file manager.

So for mozilla.org builds, we still need to find a way around the
nautilus problem.

A .desktop file could be a solution, but .desktop files have not
actually been designed for this use case, which leads to:
- having to use an awful one-liner shell wrapper to derive the path
  to the executable from that of the .desktop file,
- not even being able to associate an icon,
- the .desktop file not being copiable to a location where .desktop
  files would normally go, because it would then fail to find the
  executable.

Another possibility is to go back to using a shell wrapper, but that's
not entirely appealing.

What we chose here is similar, where we have a small `firefox` wrapper
that launches the real `firefox-bin` (which is still leftover from those
old times where we had a shell wrapper, for reasons).

The small `firefox` wrapper is a minimalist C executable that just
finds the path to the `firefox-bin` executable and executes it with the
same args it was called with. The wrapper is only enabled when the
MOZ_NO_PIE_COMPAT environment variable is set, which we only take into
account on Linux. The variable is only really meant to be used for
mozilla.org builds, for the nautilus problem. Downstreams will just pick
the default, which is changed to build PIE.

On other platforms, PIE was already enabled by default, so we just
remove the --enable-pie configure flag.

Differential Revision: https://phabricator.services.mozilla.com/D5109
2018-09-08 07:41:21 +09:00
Mike Hommey ee56e638a0 Bug 1079662 - Always pass -rdynamic when linking with sanitizers. r=froydnj
When building executables as PIE, and because we use -Bsymbolic, which
symbols are exported from an executable varies based on the libraries
it's directly linked against, to fulfil their symbol needs. So when a
library depends on e.g. ASAN runtime symbols, and the linker finds that,
it will keep those ASAN symbols in the executable for the library. And
drop the other, unused symbols.

But when the executable then dlopen()s a library (e.g. shlibsign loading
libfreebl) that uses another set of ASAN symbols, including symbols that
none of the direct dependencies of the executable need, dlopen() fails
because of the missing symbols.

It's not currently an apparent problem because we don't enable PIE, and
we build Gecko executables with -rdynamic already (for mozjemalloc). But
we don't build non-Gecko executables this way (like shlibsign).

Differential Revision: https://phabricator.services.mozilla.com/D5108
2018-09-08 07:41:21 +09:00
Mike Hommey 9dae4fbe09 Bug 1487931 - Avoid using linker scripts as file lists when doing LTO with BFD ld. r=froydnj
At least, when that combination doesn't work. This requires passing the
LTO flags to the compiler invocations for the test, which in turn
requires actually calling the linker directly on Windows, instead of
directly through the compiler, as when actually building.

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

--HG--
extra : moz-landing-system : lando
2018-09-04 21:49:16 +00:00
Mike Hommey 93cd01c00d Bug 1487595 - Error out instead of setting EXPAND_LIBS_LIST_STYLE to none. r=froydnj
Back before expandlibs was removed in bug 1429875, not using list files
was supported, but nowadays, it just leads to errors like the following:

*** No rule to make target 'libfake_so.list', needed by 'libfake.so'.  Stop.

We might as well error out during configure, rather than much later
during the build.

Differential Revision: https://phabricator.services.mozilla.com/D4738
2018-09-01 08:55:41 +09:00
Mike Hommey e840c2d285 Bug 1487595 - Remove LIBS_DESC_SUFFIX and EXPAND_LIBS_ORDER_STYLE. r=froydnj
They're both unused since bug 1429875.

Differential Revision: https://phabricator.services.mozilla.com/D4737
2018-09-01 08:55:40 +09:00
Sebastian Hengst 4f39161869 Backed out 18 changesets (bug 1487647, bug 1487271, bug 1487001, bug 1487105, bug 1486845, bug 1485738, bug 1487595, bug 1347060, bug 1480900, bug 1487889) for accidential push of inbound to central. a=backout
Backed out changeset 331706d8558f (bug 1487595)
Backed out changeset d78b833293db (bug 1487595)
Backed out changeset f292ef31ef0b (bug 1487595)
Backed out changeset ef8c5c529210 (bug 1486845)
Backed out changeset 9cbc8592d649 (bug 1487889)
Backed out changeset 05a0118455e4 (bug 1487105)
Backed out changeset 78b8ff889992 (bug 1487105)
Backed out changeset 5a55e5b74107 (bug 1480900)
Backed out changeset ea2402bdef40 (bug 1347060)
Backed out changeset 3f831b709e37 (bug 1485738)
Backed out changeset d1c29bfb5ea9 (bug 1480900)
Backed out changeset 8e60483ec824 (bug 1480900)
Backed out changeset 328589a86dd1 (bug 1487647)
Backed out changeset d974ef1647f3 (bug 1480900)
Backed out changeset 0509636cc5d5 (bug 1487001)
Backed out changeset c57165730494 (bug 1487271)
Backed out changeset a55d81761fc4 (bug 1480900)
Backed out changeset eaa2d0e9b62d (bug 1480900)

--HG--
rename : gfx/docs/AsyncPanZoomArchitecture.png => gfx/doc/AsyncPanZoom-HighLevel.png
rename : gfx/webrender_bindings/README.webrender => gfx/doc/README.webrender
rename : gfx/docs/SilkArchitecture.png => gfx/doc/silkArchitecture.png
2018-09-01 02:01:23 +03:00
Mike Hommey 193ff6bb87 Bug 1487595 - Avoid using linker scripts as file lists when doing LTO with BFD ld. r=froydnj
At least, when that combination doesn't work.

Differential Revision: https://phabricator.services.mozilla.com/D4739
2018-09-01 07:21:03 +09:00
Mike Hommey 6b6cfecf98 Bug 1487595 - Error out instead of setting EXPAND_LIBS_LIST_STYLE to none. r=froydnj
Back before expandlibs was removed in bug 1429875, not using list files
was supported, but nowadays, it just leads to errors like the following:

*** No rule to make target 'libfake_so.list', needed by 'libfake.so'.  Stop.

We might as well error out during configure, rather than much later
during the build.

Differential Revision: https://phabricator.services.mozilla.com/D4738
2018-09-01 07:21:03 +09:00
Mike Hommey fbe830210b Bug 1487595 - Remove LIBS_DESC_SUFFIX and EXPAND_LIBS_ORDER_STYLE. r=froydnj
They're both unused since bug 1429875.

Differential Revision: https://phabricator.services.mozilla.com/D4737
2018-09-01 07:21:02 +09:00
Nathan Froyd c1c5987ee2 Bug 1485716 - part 1 - always use frame pointers on aarch64 windows; r=dmajor
This support is not necessary, but the ABI conventions
page (https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions)
encourages people to use frame pointers for fast stack walking, and
using frame pointers means we're compatible with ETW, which is a Good
Thing.
2018-08-23 16:48:53 -04:00
Jan Beich e459b11dc1 Bug 1484535 - Allow C++ files to check MOZ_SYSTEM_ICU. r=froydnj 2018-08-21 16:02:00 +03: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
Nathan Froyd ad9e5941dc Bug 1480558 - part 1 - set AS appropriately on aarch64 windows; r=mshal 2018-08-21 11:00:35 -04:00
Mike Hommey d1714fc61d Bug 1484872 - Move LTO flags to python configure. r=froydnj 2018-08-21 08:40:26 +09:00
Mike Hommey 1b5bd092ec Bug 1484872 - Don't look for llvm-symbolizer for LTO builds. r=froydnj
Similar to bug 1478923.
2018-08-21 08:40:10 +09:00
Mike Hommey 7b448e6258 Bug 1484872 - Remove --enable-llvm-hacks. r=froydnj
It calls for cargo-culting its use when using clang, when it's specific
to skipping one linker flags for sanitizers.
2018-08-21 08:40:00 +09:00
Mike Hommey 6f1f972c02 Bug 1484872 - Remove MOZ_CFLAGS_NSS. r=froydnj
It hasn't been used since bug 1295937.
2018-08-21 08:39:49 +09:00
Mike Hommey 4debc3c875 Bug 1341222 - Avoid m4 breaking the sed expressions that set NSPR_INCLUDE_DIR and NSPR_LIB_DIR. r=froydnj 2018-08-21 07:25:00 +09:00
Henri Sivonen 5885cf2259 Bug 1397807 - Allow rustc to emit NEON instructions when clang does on ARMv7 and use NEON in encoding_rs. r=glandium
MozReview-Commit-ID: LNd4jeIGIRg

--HG--
extra : rebase_source : e175f51ec3e8c1097d914d97c6b0d2644dbc4c18
2018-06-05 14:56:11 +03:00
Mike Hommey 75a6124d43 Bug 1469790 - Build for NEON by default when targetting Android arm. r=nalexander
The media/libpng/moz.build file overrides the C standard used via
-std=c89, per bug 1371266, which conflicts with the use of the
arm_neon.h header: compilation fails on the inline keyword, which didn't
exist in C89. We thus "bump" to the GNU89 standard, which is C89+GNU
extensions, including inline.

--HG--
extra : rebase_source : fe93a13e3bef8888e1874d2e94a6d8ef396aaf83
2018-06-27 08:07:27 +09:00
Tom Ritter 2313bfe0d4 Bug 1457482 Add --enable-lto that turns on LTO r=glandium
MozReview-Commit-ID: DjICW7OKqzB

--HG--
extra : rebase_source : 92c766880845ec89305ef1e66ff13223421ac152
2018-04-13 15:55:39 -05:00
Tom Ritter dd8b0dc15f Bug 1457162 Include CFLAGS and CPPFLAGS during the EXPAND_LIBS_LIST_STYLE check r=froydnj,ted
MozReview-Commit-ID: Eu82jfRZTk4

--HG--
extra : rebase_source : f6740111fb0e33ba1a8047d38ec3a9689be3afb6
2018-04-26 14:44:00 +00:00
Mike Hommey 60d982d254 Bug 1463036 - Add -mfloat-abi=softfp to NEON_FLAGS when it makes sense. r=froydnj
This is similar to what is done for VPX_ASFLAGS (bug 1199974).

--HG--
extra : rebase_source : 1e2feb1c244aa46ddc5fb7abb44ce33c6bd63a0f
2018-05-21 12:14:06 +09:00
Tom Ritter d4957e5ab4 Bug 1460647 Move big-obj out of Developer_OPTIONS so local MinGW builds work r=mshal
MozReview-Commit-ID: KxfoVkO4pu8

--HG--
extra : rebase_source : 8eef47c28ff7493afd74c1e553277c427d2eeb75
2018-05-04 10:33:25 -05:00
Andreea Pavel 8aab5416b7 Backed out changeset b51c2e39a12a (bug 1457162) for build bustages e.g mozmake.EXE[5]: *** No rule to make target 'clearkey_dll.list', needed by 'clearkey.dll'. Stop. on a CLOSED TREE 2018-05-16 18:09:10 +03:00
Tom Ritter c2db6a79d9 Bug 1457162 Include CFLAGS and CPPFLAGS during the EXPAND_LIBS_LIST_STYLE check r=froydnj
MozReview-Commit-ID: Eu82jfRZTk4

--HG--
extra : rebase_source : cf5366f8bccf05df98567bd3b8a92b1cd51b7025
2018-04-26 14:44:00 +00:00
Andi-Bogdan Postelnicu a8cc78dc5c Bug 1454667 - clear out CPPFLAGS before compiling test files for the clang plugin. r=froydnj
MozReview-Commit-ID: sxnMdImxf8

--HG--
extra : rebase_source : 2589f86723b972188de1f8318001a1fc7c8627c1
2018-05-11 12:23:30 +03:00
Jan Henning 47d4c1bcf7 Bug 1352015 - Part 1: Fix Android SDK configure checks. r=nalexander
It's the *compile*SdkVersion that needs to match the installed Android SDK plat-
form in order to be able to build an app, whereas the *target*SdkVersion is
merely a compatibility flag.

Since the received wisdom is that targetSdkVersion should be <= compileSdk-
Version and Android Studio is also showing a warning to that effect if you
modify the build.gradle of a small sample app accordingly, I've also added a
corresponding configure check of our own to enforce this.

MozReview-Commit-ID: F2RZemChFrm

--HG--
extra : rebase_source : cf4f6256baa4446d673b94d97f9497f93d7917ff
2018-05-06 20:39:11 +02:00
Nick Alexander 53a4852ffa Bug 1444546 - Part 3: Use GENERATED_FILES for Android SDK bindings generation. r=froydnj,jchen
MozReview-Commit-ID: 2blmzKTvpj3

--HG--
extra : rebase_source : 0954b407ce6625510eadc67dd9989da949b22110
2018-03-06 19:19:48 -08:00
Benjamin Bouvier 7c38a97146 Bug 1451372: Force libatomic only on 32-bits Linux clang builds; r=froydnj
--HG--
extra : rebase_source : 3295ed15a5add83bd1aeff49b10a9a6d23a770c6
2018-04-06 16:27:01 +02:00
Benjamin Bouvier d8a712a705 Bug 1451038: Make clang compile the JS ARM32 simulator shell; r=froydnj
This forces the linker ot use libatomic with clang on x86 (not only Android)
and forwards the intent to use libatomic to the shell's moz.build.

--HG--
extra : rebase_source : 0c803a3e11efcad3f17a462c2d38e85ec6cb556a
2018-04-03 18:13:51 +02:00
Jeff Walden 5ad04f03a4 Bug 1447475 - Rip out support code for setting MOZ_ICU_DATA_ARCHIVE and shipping ICU data in a file outside the binary. r=ted
--HG--
extra : rebase_source : 95ab9cd884297ed36b419d872110cee9be887bff
2018-03-20 18:30:16 -07:00
shindli 1e7274100e Backed out 2 changesets (bug 1449051, bug 1447475) for MnH and en-US failures on a CLOSED TREE
Backed out changeset d9a446d356da (bug 1449051)
Backed out changeset 851ed02cdac1 (bug 1447475)
2018-03-28 02:05:38 +03:00
Jeff Walden 051680cc8e Bug 1447475 - Rip out support code for setting MOZ_ICU_DATA_ARCHIVE and shipping ICU data in a file outside the binary. r=ted 2018-03-20 18:30:16 -07:00
Tom Ritter dd44008d7b Bug 1440013 For MinGW build, pass -Wa,-mbig-obj to solve 'too many sections' errors r=glandium
MozReview-Commit-ID: 9ObJnrcpeKe

--HG--
extra : rebase_source : fb071396e0d34e0baa084cb9b238944f7ffe066c
2018-03-06 16:40:38 -06:00
Jeff Walden 2df9c8638c Bug 1445524 - Always embed ICU data directly into the library, not storing it in a separate file in the file system. r=ted 2018-03-19 20:33:48 -07:00
Nick Alexander 665e41ac95 Bug 1440432 - Remove AAR exploding from configure. r=jchen
The moz.build Java JAR definitions are, of course, broken, but they
will be removed soon enough.

MozReview-Commit-ID: KIxqLDwd9I7

--HG--
extra : rebase_source : 8312b3f125793f73d3e835d1c0a5c7cabd4ebc0c
2018-02-23 12:16:51 -08:00
Nick Alexander b9e726131c Bug 1440757 - Don't invoke aapt in mobile/android/base/Makefile.in. r=jchen
I choose to clean a bunch of ANDROID_* moz.build cruft here, too,
since it's just passing dependencies between moz.build and
Makefile.in.  The replacement for all of this is to just use
GENERATED_FILES in moz.build, but it'll still take some work to get to
that.  (Why does this stuff exist?  GENERATED_FILES didn't exist and
was resisted when I built this stuff.)

MozReview-Commit-ID: D3GJqJNL0Ih

--HG--
extra : rebase_source : 07351f9d3702cfc42c58bd317885d07882c45c3a
2018-02-23 11:57:28 -08:00
David Major 887008c3fb Bug 1427808: Link clang-plugin against clangASTMatchers.lib to fix build. r=froydnj 2018-02-20 10:54:47 -05:00
Jeff Walden 0e77ce073b Bug 1435484 - Split the integer-overflow blacklist into two blacklists, one for signed integer overflow and one for unsigned integer overflow, and rename both configure flags to be clearer. r=decoder, r=froydnj
--HG--
rename : build/sanitizers/ubsan_blacklist_int.txt => build/sanitizers/ubsan_signed_overflow_blacklist.txt
rename : build/sanitizers/ubsan_blacklist_int.txt => build/sanitizers/ubsan_unsigned_overflow_blacklist.txt
2018-02-02 21:25:31 -08:00
Jeff Walden 3c784f2dec Bug 1435170 - Split out --enable-ubsan-uint-overflow from --enable-ubsan-int-overflow. r=decoder, r=froydnj
--HG--
extra : rebase_source : 740de3f742a5c58bd317b8353cb4a86cb4fa92ac
2018-02-02 18:29:29 -08:00
Jim Chen b3c3de5de5 Bug 1428182 - 1. Support unified headers for Android builds; r=nalexander
NDK headers are grouped into a "sysroot" directory, which doesn't
contain architecture-specific bits, and a "system" directory, which
contains only the architecture-specific bits. Previously, both
directories are the same, under platforms/android-*/arch-*/. However,
with unified headers in NDK r16, the two are different, so we need to
support that in the Android build scripts.

Unified headers also rely on the build system defining the
__ANDROID_API__ macro, so we add support for that as well.

MozReview-Commit-ID: 9zBNQC3BRFl

--HG--
extra : rebase_source : 9ded282343df64d9cc4abcf7d7c6b03ac3423ff0
2018-01-30 14:08:22 -05:00
Cosmin Sabou c6a0d55423 Backed out 11 changesets (bug 1428182) for build bustages on pixman-inlines.h:29:10 on a CLOSED TREE
Backed out changeset 84c767de6202 (bug 1428182)
Backed out changeset 429433caa78c (bug 1428182)
Backed out changeset c576e9d1f68f (bug 1428182)
Backed out changeset 092662eab5eb (bug 1428182)
Backed out changeset 4dd7eaff3ab5 (bug 1428182)
Backed out changeset fbbb0745b139 (bug 1428182)
Backed out changeset 1d1278b289b7 (bug 1428182)
Backed out changeset 55891ffb3768 (bug 1428182)
Backed out changeset 4655e1b1b237 (bug 1428182)
Backed out changeset 377eada51b3c (bug 1428182)
Backed out changeset 17c0e373d921 (bug 1428182)

--HG--
rename : ipc/chromium/src/third_party/libevent/patches/android-api-level.patch => ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
2018-01-30 01:22:33 +02:00
Jim Chen 35691135a8 Bug 1428182 - 1. Support unified headers for Android builds; r=nalexander
NDK headers are grouped into a "sysroot" directory, which doesn't
contain architecture-specific bits, and a "system" directory, which
contains only the architecture-specific bits. Previously, both
directories are the same, under platforms/android-*/arch-*/. However,
with unified headers in NDK r16, the two are different, so we need to
support that in the Android build scripts.

Unified headers also rely on the build system defining the
__ANDROID_API__ macro, so we add support for that as well.

MozReview-Commit-ID: 9zBNQC3BRFl

--HG--
extra : rebase_source : 36c9d4d5625fecbbe2485668811f85f9d94372d5
2018-01-29 17:38:11 -05:00
Tom Ritter c65c886e14 Bug 1418052 Correctly process hardening flags for ASAN, --disable-hardening, and --disable-optimize r=decoder,glandium
Will also address Bug 1377553 and part of Bug 1419607

MozReview-Commit-ID: AUCqBxEGpAl

--HG--
extra : rebase_source : 5547e2c8fbf4e2e87182b8720d8352c131e4ec65
2017-11-20 22:20:56 -06:00
Mike Hommey bb2afff5c1 Bug 1425381 - Always enable PIE on Android now that we support only >= 4.1. r=froydnj
--HG--
extra : rebase_source : c73d77ab1274b2dd54a3785a6d77c6e8dcb69f87
2018-01-11 10:42:15 +09:00
Matías Zúñiga 5a103f5593 Bug 1428110 - Check both paths of EMULATOR in one pass. r=nalexander 2018-01-08 22:03:10 -03:00
Makoto Kato 336ace5ab7 Bug 1397776 - Removing armv6 config support for Android. r=glandium
We no longer support Android/armv6 and we requires NEON for Android/arm, so
we can remove armv6 support for Android.

MozReview-Commit-ID: Hh17BTyE0wR

--HG--
extra : rebase_source : 57e043ecb1bb57a026c0b656b82768b899ddae78
2017-12-15 16:32:54 -06:00
Mike Hommey e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

Unfortunately, the Binary() moz.build template always adds C++ OS
libraries on Android (through STLPORT_LIBS), and C++ libraries on Linux
(stdc++compat).

The latter only ends up forcing every Binary() to be linked with the C++
linker, which is unfortunate, but doesn't cause much problems. The
former, however, involving OS libraries, the magic from bug 1256642
doesn't kick in, so we end up trying to link C++ OS libraries with the C
linker. Which ends up failing, because the libraries in STLPORT_LIBS
require -lm, which, while it's added by the C++ compiler when linking,
is not when the linkage is driven by the C compiler.

Because the fallible library, linked to all GeckoBinary()s is a C++
library, we still ended up linking with the C++ compiler on Android, so
this wasn't actually causing any problem... until I tried to remove that
fallible library in bug 1423803.

Anyways, the core problem is that moz.build evaluation is happening too
early to know whether any C++ sources are being linked together, so
there is no way the Binary() template can do the right thing. So this
change moves the logic to the emitter.

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
Cosmin Sabou c3a26ac81a Backed out changeset 1ee72d1a9430 (bug 1418052) for Linux x64 asan build bustages on /builds/worker/workspace/build/src/config/recurse.mk:32 r=backout on a CLOSED TREE 2017-12-08 13:44:13 +02:00
Tom Ritter 45ec0ac30c Bug 1418052 Correctly process hardening flags for ASAN, --disable-hardening, and --disable-optimize r=decoder,glandium
Will also address Bug 1377553 and part of Bug 1419607

MozReview-Commit-ID: AUCqBxEGpAl

--HG--
extra : rebase_source : f7582d7089f0f4582a02aeaef090dc0701df994d
2017-11-20 22:20:56 -06:00
Bill McCloskey 794104b1e1 Bug 1413738 - Mozsearch clang plugin (r=mystor)
MozReview-Commit-ID: 53zUQ0vDMpd
2017-11-16 15:06:32 -08:00
Makoto Kato 8e2ff2b365 Bug 1415453 - Use vfpv3-d16 as default on Android/arm. r=froydnj
According to https://developer.android.com/ndk/guides/abis.html,
androideabi-v7a must support vfpv3-d16.  So we should use it for fpu flag.

MozReview-Commit-ID: 3rhmRTekmwD

--HG--
extra : rebase_source : c5ffa22d8712fc7b8006cc340175a9586d77f49b
2017-11-10 16:47:21 +09:00
Nathan Froyd 380dc56df2 Bug 1341234 - part 1 - add AC_SUBST_TOML_LIST macro; r=gps
Stylo's bindgen is configured partially through a .toml.in file that
substitutes the value of a configure variable (BINDGEN_CFLAGS) into a
TOML list.  We can debate whether this is a good thing to do some other
time; the reality is that the current moz.configure code that provides
the set_config for BINDGEN_CFLAGS needs to perform all the quoting
itself.

We want, however, to define the substituted variable in old-configure.in
land (some of the values that will go into BINDGEN_CFLAGS are only
defined in old-configure.in, and are not trivially ported to
moz.configure), which means that we need to have quoting logic in
m4/Python when we generate config.status.  This patch adds an
appropriate macro for doing so.
2017-11-10 10:05:36 -05:00
Nathan Froyd 1009160a12 Bug 1341234 - part 0 - fix typo in AC_SUBST_SET checking; r=gps
The various AC_SUBST macros generate AC_SUBST_*FOO macros for holding the
values to substitute.  The macros also cross-check the AC_SUBST_* macros
generated by other variants to make sure that you don't try to do
something like AC_SUBST(FOO) and AC_SUBST_SET(FOO).  However, the check
in AC_SUBST_SET for AC_SUBST_LIST duplicate is missing an underscore:
the AC_SUBST_LIST macro generates another macro starting with
AC_SUBST_LIST_, but the AC_SUBST_SET macro checks for the prefix
AC_SUBST_LIST, which is missing the trailing underscore.

As we're going to be adding yet another AC_SUBST_* macro variant, and
therefore adding more checks to all existing macros, let's clean this up
before we start.
2017-11-10 10:05:36 -05:00
Chris Manchester 857b599beb Bug 1411712 - Use AC_SUBST_LIST instead of AC_SUBST for vairables from configure contributing to LDFLAGS. r=mshal
MozReview-Commit-ID: 21jJY8oanQB

--HG--
extra : rebase_source : 5ba85c10bc64fd8817fda956dab3bc6965679eff
2017-11-02 11:47:48 -07:00
Nathan Froyd fc41938428 Bug 1163171 - part 4 - fix jsapi-tests link errors with __atomic_* intrinsics on x86/Android with clang; r=glandium
NDK r15+ clang changed the code generation strategy for the __atomic_*
intrinics such that using them with 64-bit types now requires linking
with libatomic.  Our current configure tests for libatomic doesn't catch
this, because the std::atomic implementation is such that it doesn't
require an external library, even for 64-bit types, whereas the
__atomic_* intrinsics do.  The safest thing to do is to force this
configure check to always return true when we are compiling for
x86/Android with clang.
2017-10-28 17:38:58 -04:00
Nathan Froyd 69423fba9b Bug 1163171 - part 3b - inform clang about the NDK's gcc toolchain; r=glandium
The NDK clang needs to be informed about the existence of a GCC
toolchain, so important programs like the linker can be located.  With
this change, we're starting to use command-line options that are
incompatible with GCC, so we also add a check to inform the user about
the non-support for this configuration.
2017-10-28 17:38:59 -04:00
Nathan Froyd bce27af988 Bug 1163171 - part 2 - switch to using -isystem rather than -idirafter for Android; r=glandium
This command-line flag is a little more evocative and works correctly
with both GCC and clang.
2017-10-28 17:38:59 -04:00
Chris Manchester f09fbe07c1 Bug 1403346 - Use AC_SUBST_LIST for LLVM_CXXFLAGS. r=glandium
MozReview-Commit-ID: bsX83492AP
2017-10-25 15:12:10 -07:00
Chris Manchester 7e47dd1ebb Bug 1403346 - Define flags loading the clang plugin in configure rather than the make backend. r=glandium
MozReview-Commit-ID: EubsjJl1LBS
2017-10-25 15:12:10 -07:00
Chris Manchester 9889a2f30a Bug 1403346 - Use mozbuild.shellutil.split instead of split in config.status r=glandium
While we're here, provide a reference to unique_list as defined in
moz.configure when executing config.data to avoid its redefinition
in m4.

MozReview-Commit-ID: AI6XhoYR0Ye
2017-10-25 15:10:04 -07:00
Makoto Kato 7ae7c43e2f Bug 1409624 - Cannot detect valid emulator command when using Android Tools 26. r=nalexander
Although there is emulator command in android_sdk_root/tools even if Android
Tools 26, it doesn't work well because emulator64-arm is missing in same
directory.

Valild emulator command moves from android_sdk_root/tools to
android_sdk_root/emulator from Android Tools 26 (updated by sdkmanager).

MozReview-Commit-ID: 4IGHK3YcZXD

--HG--
extra : rebase_source : cc0c67f24c32a55ac40e65a5a036d5072dff6ee4
extra : histedit_source : 9718746e56dd9ec16a540533acfe909c319c234b
2017-10-18 14:01:28 +09:00
Jan Henning a31bec0c1f Bug 1407029 - Accept Android lint dependencies from SDK versions 26.0.0*. r=nalexander
MozReview-Commit-ID: GHMRossAUaB

--HG--
extra : rebase_source : c4ad6eddd4436c6169b98913a5aa9e085e15a70e
2017-10-09 21:54:54 +02:00
Makoto Kato 6a7100fa7b Bug 1397764 - Part 1. Move STLPORT_CPPFLAGS to moz.configure. r=chmanchester
To build sytlo, we have to set compiler flags via BINDGEN_CFLAGS.  Since we
 pass stlport flags to clang, I would like to move STLPORT_CPPFLAGS to
moz.configure.

MozReview-Commit-ID: 26jvUqUvwTY

--HG--
extra : rebase_source : 5568627368fbf2dce02904918e50a241713d0a85
2017-09-29 16:45:44 +09:00
Makoto Kato 44d3f0277d Bug 1401448 - Remove libstdc++ support from Android buildconfig. r=froydnj
libstdc++ support is broken after moving to moz.configure.  No one uses this option and NDK will remove GCC, so we should remove this and --with-android-cxx-stl option.

MozReview-Commit-ID: 3mqyHoRCE00

--HG--
extra : rebase_source : 35aa911a69e159e67f624ab5ab9aea8af4c5342f
2017-09-20 16:38:48 +09:00
Makoto Kato 209f37db12 Bug 1400128 - Link thumb library of libc++ when using MOZ_THUMB=1 and NDK r11c. r=froydnj
cpu_arch_dir isn't absolute path, we cannot always detect thumb library for c++ library.  Our build tool still uses NDK r11c, so we should check thumb library correctly.

MozReview-Commit-ID: 912ZDNeUcKc

--HG--
extra : rebase_source : 8b69348ef3280f32b7a228d66462070413a25e73
2017-09-15 13:40:43 +09:00
Philip Chimento 034b4fdfa6 Bug 1379539 - Remove unnecessary NSPR dependency. r=glandium 2017-07-25 14:15:50 -07:00
Carsten "Tomcat" Book 546b19363f Backed out changeset 514cf1f55c6f (bug 1380639) 2017-08-07 13:23:35 +02:00
Sebastian Kaspari b05b8a9729 Bug 1380639 - Add contraint-layout and constraint-layer-solver dependencies. r=mcomella
MozReview-Commit-ID: AbZLlwdDHRV

--HG--
extra : rebase_source : d4538afeca26349512f8453db4782be2bce28ee0
2017-07-25 10:12:38 +02:00
Gregory Szorc 204ba452aa Bug 1382930 - Remove configure references to gonk; r=glandium
Some gaia-related code was also found and removed as part of the
cleanup.

MozReview-Commit-ID: DEjVSljzzu1

--HG--
extra : rebase_source : 58c4c34df44a258d90029853f29ea01338bd142b
2017-07-20 21:48:10 -07:00
mozilla@mozilla-23773 6d62fe4972 Bug 1344244 - Part 1: Accept newer Android lint version. r=glandium
MozReview-Commit-ID: KRwU0UKjkZZ

--HG--
extra : rebase_source : 45325d8c37dcdaffa6ee6f22273db59963758509
2017-06-29 11:43:22 -07:00
Sylvestre Ledru b4dc56b423 Bug 1351109 - Move the gold linker support to the python configure r=glandium
MozReview-Commit-ID: 1FC0W7EqdCI

--HG--
extra : rebase_source : 6df832649a6130869b106cf8c79164b85d1f1ca6
2017-07-05 11:27:56 +02:00
Nick Alexander bd230aea82 Bug 1352602 - Part 2: Use build system SDK versions in Gradle configurations. r=maliu
This patch does two things:

- add a Gradle-only ANDROID_COMPILE_SDK_VERSION substitution;
- uses it while uniformizing all of the Gradle Android SDK version
  configurations.

The approach is fairly standard (and we were using it already); see,
for example
https://medium.com/@ali.muzaffar/gradle-configure-variables-for-all-android-project-modules-in-one-place-5a6e56cd384e

This will make bumping the Gradle configuration versions forward
easier.

MozReview-Commit-ID: 1j5siCvR5qt

--HG--
extra : rebase_source : 07afb00de0e4a72af4026eb19ff4f2530c119336
2017-06-21 10:52:30 -07:00
Nick Alexander 23b90d5c28 Bug 1352602 - Part 1: Don't AC_DEFINE ANDROID_TARGET_SDK, MOZ_ANDROID_{MIN,MAX}_SDK_VERSION. r=chmanchester
This is just a small piece in the larger project of minimizing the set
of global AC_DEFINEs.  None of these are relevant to C/C++ code;
they're mobile/android specific, so we should get them out of
mozilla-config.h.

In addition, this replaces hard-coded values with values from the
build system throughout mobile/android.

MozReview-Commit-ID: 9IJlsm38LFK

--HG--
extra : rebase_source : 0e55c0967cbb7f0df0d297eb330fc615e5759346
2017-06-21 11:16:08 -07:00
Nathan Froyd 3b6501dd91 Bug 1377970 - add -llog for Android in moz.build; r=chmanchester
Adding -llog in this way is cleaner and is just a little bit less m4.
2017-07-05 09:32:30 -04:00
Christian Holler b8ee76ebd8 Bug 1373256 - Changes to support -fsanitize=integer in the codebase. r=froydnj
The -fsanitize=integer analysis from UBSan can be helpful to detect signed and unsigned integer overflows in the codebase. Unfortunately, those occur very frequently, making it impossible to test anything with it without the use of a huge blacklist. This patch includes a blacklist that is broad enough to silence everything that would drain performance too much. But even with this blacklist, neither tests nor fuzzing is "clean". We can however in the future combine this with static analysis to limit ourselves to interesting places to look at, or improve the dynamic analysis to omit typical benign overflows.

It also adds another attribute that can be used on functions. It is not used right now because it was initially easier to add things to the compile-time blacklist to get started.

Finally, it includes a runtime suppression list and patches various parts in the test harnesses to support that. It is currently empty and it should not be used on frequent overflows because it is expensive. However, it has the advantage that it can be used to differentiate between signed and unsigned overflows while the compile-time blacklist cannot do that. So it can be used to e.g. silence unsigned integer overflows on a file or function while still reporting signed issues. We can also use this suppression list for any other UBSan related suppressions, should we ever want to use other features from that sanitizer.

MozReview-Commit-ID: C5ofhfJdpCS

--HG--
extra : rebase_source : 952043a441b41b2f58ec4abc51ac15fa71fc142f
2017-04-09 12:59:26 +02:00
André Bargull 5012580c88 Bug 1353650 - Part 6: Change minimum system ICU version to ICU 59. r=Waldo
--HG--
extra : rebase_source : c6848f374801e497e183594d57af98ccccb986f3
2017-04-05 13:43:49 +02:00
Mike Hommey 0ec6e285c9 Bug 1354581 - Move --enable-release/DEVELOPER_OPTIONS to python configure. r=cmanchester+432261
--HG--
extra : rebase_source : a0a07507ec4ac80d6e873b75bf359d5ef4c1bfea
2017-06-21 10:29:28 +09:00
Nathan Froyd 2fc0cc265c Bug 1372987 - move library/object prefix/suffix configuration to moz.configure; r=mshal
For parts of configuring Stylo, we need information about the library
extensions on all of our platforms, and this change is a reasonable way
to get at that information without duplicating it in two places.  Plus
moving more things to moz.configure is more better.
2017-06-19 14:20:29 -04:00
Mike Hommey dd4c5336f3 Bug 1367267 - Pass -fPIC when compiling the -pie configure test. r=gps
--HG--
extra : rebase_source : 1f9f4638c864f5efb2d43b3a4440fceda9dd6f1d
2017-05-24 09:24:09 +09:00
Mike Hommey 782725e19a Bug 1363992 - Remove jemalloc 4. r=njn
--HG--
extra : rebase_source : 9794320e96279cbb8b7b66db6720c959eaa6a95b
2017-05-11 13:23:07 +09:00
Mike Hommey 02a06f7958 Bug 1363992 - Remove support for making jemalloc4 the default. r=njn
--HG--
extra : rebase_source : 77e1c13aa329637d0ec875439d572ee06e6919fa
2017-05-11 13:16:00 +09:00
Mike Hommey 1a9d4c6f33 Bug 1363992 - Remove support for system jemalloc. r=njn
--HG--
extra : rebase_source : 9141402b6f9e84c67afc14303633d328eb5b652c
2017-05-11 13:03:20 +09:00
Nick Alexander 14dd745141 Bug 1365060 - Move MOZ_{NATIVE_DEVICES, INSTALL_TRACKING} to moz.configure. r=chmanchester
This intentionally allows to set MOZ_INSTALL_TRACKING without
reference to the milestone being release or beta.  That is, we
separate the default value (which depends on release or beta) from the
value specified, making life easier for developers.

MozReview-Commit-ID: 3vPF7KO7fEX

--HG--
extra : rebase_source : 8d5764104b5322a32e4a048bfd3222f62fed73bb
2017-05-15 14:37:54 -07:00
Alex Gaynor 4cbcec2157 Bug 1360300 -- Support enabling PIE when using clang. r=froydnj
Also remove bits of a comment, now that we support only macOS 10.9+, most of the
comment isn't relevant.

While PIE is enabled by default on macOS, this isn't true of clang on Linux.
--enable-pie can now be used with clang on Linux.

r=froydnj

MozReview-Commit-ID: rc6zJiWzLo

--HG--
extra : rebase_source : 3745175e106ea8c6be9271d8135d43ba359434c7
2017-05-01 15:45:33 -04:00
Jim Blandy 66934884d5 Bug 1349022 - Don't put -DTRACING in the C/C++ flags for debug builds since nobody uses it. r=glandium
--HG--
extra : rebase_source : 51edb82f89b29de9cb6fbb7becaa8ace3d9d40f8
2017-03-20 15:25:55 -07:00
Andrzej Hunt 86b076ed2e Bug 1338629 - Update annotation processing classpath to reflect SDK 25.3+ r=nalexander
It looks like Google decided to split these jars out a bit, so we need to piece
them all back together.

We could probably just query the sdk version instead, but I'm not 100% sure
know when this setup changed - moreover we don't know when (if?) the paths
are likely to change again. SDK 26.0 still has lint 25.3.1, so the SDK and
lint versions don't appear to be tied.

It seems that only the lint* jars are needed to compile 'build/annotationProcessor',
however we need all the remaining jars in the classpath when running that code
in 'widget/android/bindings'.

MozReview-Commit-ID: GAKwMrVXW55

--HG--
extra : rebase_source : 4e790aaccae8ccc3f151c39bf1ef4404b2581d7a
2017-03-30 18:55:02 -07:00
Makoto Kato dc58093a7b Bug 1283611 - Change order of include path to support NDK r13+ r=froydnj
When using NDK r13+ with part 1, the following build error still occurs when using cmath.

 0:21.01 /mozilla/android-ndk-r14b/sources/cxx-stl/llvm-libc++/include/math.h:661:105: error: 'acosl' was not declared in this scope
 0:21.01  inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return acosl(__lcpp_x);}

To fix this, we need change the order of include path.

MozReview-Commit-ID: AZ3ebx3pAil

--HG--
extra : rebase_source : ca3ef90372a9c2b84f4a9bed3581be0f21e17d77
2017-03-27 12:11:51 +09:00
Dan Albert 77f7d59908 Bug 1283611 - Add support for NDK r13's libc++ paths. r=froydnj
The inner directory in these projects was removed in r13.

MozReview-Commit-ID: AxWgxXyOKJ4

--HG--
extra : rebase_source : 1290e8c709930f28f80bc201d7e72b53b8063634
2016-11-11 14:35:51 -08:00
Jesse Schwartzentruber df40990bb3 Bug 1335411 - Fix --enable-address-sanitizer for Mac cross-compilation and adapt Linux ASan configs for Mac. r=froydnj
--HG--
extra : rebase_source : 493400a792fd50266a8d434b842710586c7947c5
2017-02-10 11:10:23 -05:00
Ehsan Akhgari b897b4790e Bug 1331957 - Part 12: Remove -Lclang/lib from the LDFLAGS used to build the clang plugin; r=froydnj
This ensures that we correctly link against /usr/lib/libc++.1.dylib.
With this flag left in LDFLAGS, the linker would find libc++.1.dylib in
clang/lib, which would cause us to link against @rpath/libc++.1.dylib.
2017-02-03 10:19:49 -05:00
Iris Hsiao e7d1ec1886 Backed out 14 changesets (bug 1331957, bug 1336149) for OS X 10.7 debug static analysis build bustage
Backed out changeset a01bead75258 (bug 1336149)
Backed out changeset 9a64d3102f6b (bug 1331957)
Backed out changeset a10f7732a754 (bug 1331957)
Backed out changeset 82c98214febe (bug 1331957)
Backed out changeset f74c7a543525 (bug 1331957)
Backed out changeset 6631f3582920 (bug 1331957)
Backed out changeset ccefeba51cf6 (bug 1331957)
Backed out changeset a84b26a07369 (bug 1331957)
Backed out changeset fc0b3a0ad1e5 (bug 1331957)
Backed out changeset bbcae89fd7c2 (bug 1331957)
Backed out changeset ffd70d960b9f (bug 1331957)
Backed out changeset a53ecc295eae (bug 1331957)
Backed out changeset d44a0be29686 (bug 1331957)
Backed out changeset a01a373da6a8 (bug 1331957)
2017-02-03 11:16:08 +08:00
Ehsan Akhgari 8ac5b64b80 Bug 1331957 - Part 12: Remove -Lclang/lib from the LDFLAGS used to build the clang plugin; r=froydnj
This ensures that we correctly link against /usr/lib/libc++.1.dylib.
With this flag left in LDFLAGS, the linker would find libc++.1.dylib in
clang/lib, which would cause us to link against @rpath/libc++.1.dylib.
2017-02-02 20:21:00 -05:00
Carsten "Tomcat" Book 3ad97e202a merge mozilla-inbound to mozilla-central a=merge 2017-01-12 10:14:43 +01:00
Eric Rahm 453cad2d83 Bug 1322735 - Enable frame pointers on 32-bit windows builds. r=glandium
This universally disables FPO on win32.

MozReview-Commit-ID: AT9ozxGN0C5

--HG--
extra : rebase_source : 425284addb1a36843a2821dce23d3678a80bd203
2017-01-11 17:54:18 -08:00
Carsten "Tomcat" Book ccfe5b9092 Merge mozilla-central to mozilla-inbound 2017-01-11 16:37:37 +01:00
Carsten "Tomcat" Book a712d69adb merge mozilla-inbound to mozilla-central a=merge 2017-01-11 16:23:39 +01:00
Ryan VanderMeulen eef71c204d Bug 1322027 - Don't disable hugepage support since it no longer causes PGO issues. 2017-01-11 09:04:48 -05:00
Jan Beich 37441c2712 Bug 1325246 - Unbreak build --with-system-icu after bug 1270146. r=glandium
MozReview-Commit-ID: Dob5wTmHgxn

--HG--
extra : rebase_source : 7505163d23978c4cbb308314ba78a7063199face
2016-12-22 01:42:19 +00:00
Phil Ringnalda 1c2d0d367f Backed out 3 changesets (bug 1322735) for ASan leaks and xpcshell/selftest.py failures
CLOSED TREE

Backed out changeset 01cfc71ce542 (bug 1322735)
Backed out changeset 84c729c41230 (bug 1322735)
Backed out changeset b419aaefae95 (bug 1322735)
2017-01-10 20:17:34 -08:00
Eric Rahm d2ab17a31d Bug 1322735 - Enable frame pointers on 32-bit windows builds. r=glandium
This universally disables FPO on win32.

MozReview-Commit-ID: AT9ozxGN0C5

--HG--
extra : rebase_source : 01eb5ba4ca12d6fe2f1c85743edf9b5e56fafd09
2017-01-10 18:51:22 -08:00
Daniel Stenberg 692bf2631c Bug 1329272 - add bracket for sed 4.3 compliance, r=glandium
--HG--
extra : rebase_source : aac991847d3c66a6cfb00b83f88d1ffa27ef9bb0
2017-01-09 23:25:00 +01:00
Ryan VanderMeulen 7d537bf11a Bug 1322027 - Update jemalloc 4 to version 4.4.0. r=glandium
--HG--
extra : rebase_source : acad2186ad3ace467a626fcf38659aaf6708c96b
2017-01-10 22:50:36 -05:00
Mike Hommey 2f5d7b1ace Bug 1142403 - Part 2: Enable jemalloc debug on debug builds. r=njn
--HG--
extra : rebase_source : c72e042fdbfc51e6bef289f499c54d9f9682cb0b
extra : source : 1b13dab24bd1a2694d30756a0daeca4c14525590
2015-03-12 15:54:43 +09:00
Ting-Yu Chou a299d4d20b Bug 1316545 part 1 - Link clang plugin with the import library of clang.exe to fix unresolved symbols. r=ehsan
MozReview-Commit-ID: G2PtmjBVacj
2016-11-16 12:36:58 +08:00
Mike Hommey e32d52e3cc Bug 1317504 - Don't try to set LD from old-configure. r=chmanchester
Now, it's completely unused.

--HG--
extra : rebase_source : 978296f2c12cfac4d3b2badf0390f29df1d16769
2016-11-24 15:47:10 +09:00
Mike Hommey c1d2e37624 Bug 1317504 - Remove the GNU_LD variable, nothing uses it. r=chmanchester
--HG--
extra : rebase_source : 306d7db1e053b57168f01cc9350b62f43f80f490
2016-11-24 15:25:42 +09:00
Ted Mielczarek a449823a50 bug 1295937 - build NSS using gyp files. r=glandium
MozReview-Commit-ID: Gm1PLWSJwbD

--HG--
rename : config/external/nss/moz.build => security/moz.build
rename : config/external/nss/nss.symbols => security/nss.symbols
extra : rebase_source : bedd3b2f315f8504e1d0cb1ee94720e380466e5b
2016-11-09 12:37:09 -05:00
Mike Shal ad4478f15e Bug 1183613 - Cross compile universal OSX builds in Taskcluster; r=froydnj,ted
MozReview-Commit-ID: HNTqiVF9gov

--HG--
extra : rebase_source : 3e02cd433e45f4bb5759f093aaccade2d49745c3
2016-10-21 13:54:10 -04:00
Jonathan Kew 922cccfc52 Bug 1316540 - Update version requirement for --with-system-icu to 58.1 for Unicode 9 support. r=waldo 2016-11-15 09:22:43 +00:00
Ting-Yu Chou f069d5cee1 Bug 1200740 - Import blacklist for ASan on Windows to avoid instrumenting selected sandbox functions and files. r=glandium
MozReview-Commit-ID: DJJuD0dyyKz

--HG--
extra : rebase_source : 803a3136f1ff163fe3237a0ac157bffa1eef0873
2016-11-10 09:18:55 +08:00
James Willcox 4f49c48da4 Bug 1309594 - Fix typo in Android build-tools detection r=sebastian
Patch from volker.mische@gmail.com
2016-10-31 13:15:00 +01:00
David Major 81eeceed59 Bug 1313394 - Update build system to support 64-bit ASan DLLs. r=ted 2016-10-28 16:52:36 -05:00
Makoto Kato 48d2b365a6 Bug 1253809 - Add Android/aarch64 build config. r=glandium
MozReview-Commit-ID: 2WN6GOWb572

--HG--
extra : rebase_source : 956280be205109d1d28f8e33a3348811caa7d215
2016-10-07 19:46:57 +09:00
Carsten "Tomcat" Book 7c8e81673d merge mozilla-inbound to mozilla-central a=merge 2016-10-06 11:59:54 +02:00
David Major b95c840429 Bug 1307547: Don't pass sanitize flags to the linker on Windows. r=glandium 2016-10-05 14:53:10 -05:00
Chris Manchester 333ac383e2 Bug 1304869 - Unset CFLAGS when invoking jemalloc's configure to accomodate setting CFLAGS in mozconfig. r=glandium
A side effect of ffi.m4 was that it would un-set CFLAGS when compiling with MSC.
This incidentally worked around the fact that if CFLAGS are set in jemalloc's
configure, it will not set certain variables that are necessary to configure
jemalloc, but are unlikely to be set manually by someone building Firefox.

MozReview-Commit-ID: 2l54YhSAUaL
2016-09-22 22:28:06 -07:00
Tom Schuster 3cc61134b1 Bug 1302163 - Show an error for [v]snprintf with literals using the clang plugin. r=ehsan 2016-10-04 17:57:50 +02:00
Kris Maglione 31d4562067 Bug 1307626: Correctly define DEBUG substitution in debug artifact builds. r=glandium
MozReview-Commit-ID: Io2eq64Bx7L

--HG--
extra : rebase_source : 42324ea9ef9b775a6399b3f43df5dee349780f13
2016-07-27 15:14:52 -07:00
Andrzej Hunt e04f1b07d7 Bug 1267884 - Upgrade support libraries to 23.4 r=sebastian
MozReview-Commit-ID: C7LWrLfYlQU

--HG--
extra : rebase_source : 78648f60d13d662fd804cf004204389f5b2fc5a2
extra : source : 25e1ca9427995e770e8821b148e83bdab95521bd
2016-09-30 09:16:23 -07:00
Gregory Szorc d0e135f5d1 Backed out changesets cc4bdd6afea0, abc52d4c5f87, and 25e1ca942799 (bug 1267884) for Android bustage
CLOSED TREE

--HG--
extra : amend_source : 1f0c7bbb5aa8a3dab38f0785e13e32f59e8f8c79
extra : histedit_source : ca99420cac7019a4b6fd6aab781b93151092a8bc%2C0ef091317a27688c734f20417875406726e35de7
2016-09-30 15:01:13 -07:00
Andrzej Hunt 04780a2df0 Bug 1267884 - Upgrade support libraries to 23.4 r=sebastian
MozReview-Commit-ID: C7LWrLfYlQU

--HG--
extra : rebase_source : 164b33c147fd57c63e00c82738eaa9d3b21c6800
2016-09-30 09:16:23 -07:00
Chris Manchester aa2131cd40 Bug 1302909 - Set STDC_HEADERS everywhere instead of relying on AC_HEADER_STDC. r=glandium
MozReview-Commit-ID: DXvcX1i9vuo
2016-09-15 12:11:11 -07:00
Chris Manchester 6736329d5e Bug 1262155 - Use moz.build instead of libffi's build system. r=ted,glandium
MozReview-Commit-ID: 3wobNk0HDU5
2016-08-08 16:58:54 -07:00
Nathan Froyd ed9a70c138 Bug 1301076 - remove stlport support from the build system and stlport code; r=glandium
We can no longer build with STLport now that we require a
C++11-compliant standard library, so we might as well get rid of all the
support for it.
2016-09-21 19:21:40 -04:00
Andrew Halberstadt 5b7356ae02 Bug 1292674 - Also allow android build-tools v23.0.1 in configure, r=gps
I recently discovered that build-tools 23.0.3 doesn't seem to exist on Fedora. Although
I fixed mozboot to download 23.0.1 instead, the builds were still failing because of
configure required 23.0.3.

This seems like an artificial limitation, as building with 23.0.1 seems to work just fine.
This patch will allow either 23.0.1 or 23.0.3.

Note: It would probably better to check for some "minimum" version of build-tools I think
GNU sort has a -V option we could use, but I don't know how cross-platform this is.

MozReview-Commit-ID: 8W0P3yyAHu1

--HG--
extra : rebase_source : 166c1b66962cac6af92c4ce6d3cc1780d9049800
2016-08-26 17:03:02 -04:00
Makoto Kato 376abb5214 Bug 1298569 - Part 1. Add NEON_FLAGS for arm32. r=glandium
aarch64 doesn't require compiler flag when using NEON.  To use NEON on aarch64 with BUILD_ARM_NEON, we should move NEON's flags to NEON_FLAGS like SSE2_FLAGS.

MozReview-Commit-ID: PGDjcHdTfH

--HG--
extra : rebase_source : d21bd6f743f363fdd183bda9b9f308fcf100186b
2016-08-27 14:23:22 +09:00
Mike Hommey 935ad653b8 Bug 1299919 - Set CPP/CXXCPP from python configure. r=chmanchester 2016-09-13 13:25:18 +09:00