Commit Graph

789 Commits

Author SHA1 Message Date
Ricky Stewart
c010710916 Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal
(Same content as bad revision https://phabricator.services.mozilla.com/D48230, but with a very small change to config/external/icu/data/moz.build to fix the build breakage.)

Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=833f6a69fcac689488a640b43e8e0bdaa086a56c

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

--HG--
extra : moz-landing-system : lando
2019-10-07 21:15:19 +00:00
Daniel Varga
052ef806b5 Backed out changeset 8d95f2c8867b (bug 1586358) for build bustage with FATAL ERROR PROCESSING MOZBUILD FILE. On a CLOSED TREE
--HG--
extra : rebase_source : 325fbad2455afc7f693087e75fa57dba79f4d86b
2019-10-07 20:22:08 +03:00
Ricky Stewart
940d91af38 Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=nalexander
This patch doesn't remove all references to GENERATED_FILES, but does remove most of them, leaving only those which can't be trivially translated to the new template.

Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e4a25230c3992b9c5519ceb351fb37f6b2bf605e

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

--HG--
extra : moz-landing-system : lando
2019-10-07 15:31:05 +00:00
Mike Shal
56ba0730bc Bug 1580899 - Remove MOZ_PGO from mozconfigs; r=glandium
Setting this flag still attempts to build with 1-tier PGO, unless we
detect that 3-tier PGO is enabled. Since we should be using 3-tier PGO
everywhere, the flag should be redundant in our automation mozconfigs.
It can still be used locally in a mozconfig to do a 1-tier PGO build.

Depends on D46069

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:29:00 +00:00
Mike Shal
3b8df1c395 Bug 1580028 - Always merge PGO profile data in the run task; r=firefox-build-system-reviewers,chmanchester
If the run task generates bad profile data, the merge step in the
profile-use task will fail. However, retrying the profile-use task
doesn't fix the problem, and there isn't a straightforward way to retry
the run task in this situation. Instead we can add a clang toolchain to
all the run tasks, and perform the merge there.

This means the output from the run task will always be a successfully
merged file called 'merged.profdata', and we no longer need to perform
the merge as part of the profile-use build as a GENERATED_FILES step.

Depends on D45262

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

--HG--
extra : moz-landing-system : lando
2019-09-10 21:56:15 +00:00
Nathan Froyd
62a5c58f09 Bug 1579430 - mark some elfhack methods as override; r=glandium
This change silences a couple of clang warnings.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 23:54:34 +00:00
Razvan Maries
9415ecf29b Backed out 2 changesets (bug 1569728) for causig Linux shippable opt build bustages.
Backed out changeset 2f873da4b36e (bug 1569728)
Backed out changeset aaae16f5f29d (bug 1569728)
2019-09-01 03:42:38 +03:00
Nathan Froyd
1bc5f4c3fe Bug 1569728 - manually instantiate some basic_string members for libstdc++ compat; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D41370

--HG--
extra : moz-landing-system : lando
2019-08-25 19:27:47 +00:00
Razvan Maries
74868f6da5 Backed out 2 changesets (bug 1569728) for Android 4.0 API16+ GeckoView multi-arch fat AAR opt build bustages.
Backed out changeset a420714ee262 (bug 1569728)
Backed out changeset d24ed38c76cd (bug 1569728)
2019-08-24 19:09:21 +03:00
Nathan Froyd
faaa483c34 Bug 1569728 - manually instantiate some basic_string members for libstdc++ compat; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D41370

--HG--
extra : moz-landing-system : lando
2019-08-24 13:51:32 +00:00
Mike Hommey
c173540215 Bug 1573435 - Use toolchain fetches for all remaining toolchain uses. r=nalexander
The remaining uses all need adjustements to in-tree mozconfigs, so they
all need to be done at once.

However, to make things slightly more intelligible, we do this in two
steps. This is step 1: we modify the use_toolchain transform to take care of
the transformation, while keeping the task definitions intact, so that
we only deal with mozconfig and build script adjustements here.

Differential Revision: https://phabricator.services.mozilla.com/D41890
2019-08-15 11:21:52 +09:00
Mike Hommey
375094b924 Bug 1571596 - Repack GCC and related source tarballs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40748
2019-08-07 13:54:27 +09:00
Eric Rahm
26bdfd6480 Bug 1571836 - Enable Rust PGO on Linux64. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D40858

--HG--
extra : moz-landing-system : lando
2019-08-06 22:26:49 +00:00
Mike Hommey
c638ab3c85 Bug 1570796 - Use a fetch task for hfsplus-tools source code. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40329

MANUAL PUSH: avoid closing autoland while all docker images and
toolchains are rebuilt.
2019-08-02 19:07:06 +09:00
Mike Hommey
70693454fd Bug 1570224 - Use nproc instead of getconf _NPROCESSORS_ONLN. r=nalexander
Plenty of places use `nproc`, and only a couple use `getconf
_NPROCESSORS_ONLN`. Use the former instead of the latter.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 17:21:22 +00:00
Nathan Froyd
bde244933a Bug 1486042 - switch all existing MOZ_LTO configs to use cross-language LTO; r=dmajor
This change is a no-op for win64 configs, as they had this feature before.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 02:39:16 +00:00
Mike Hommey
1e693768bf Bug 1563465 - Remove leftovers from bug 1451104. r=froydnj
Bug 1451104 removed the GCC 4.9 toolchain, but left the build script and
the patch that only that toolchain build was using.

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

--HG--
extra : moz-landing-system : lando
2019-07-04 13:00:43 +00:00
Mike Hommey
ed3910db06 Bug 1560545 - Force-enable wayland support in Linux builds. r=chmanchester
So that we don't end up disabling it by accident.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 06:03:20 +00:00
Cosmin Sabou
58cc56c50f Backed out 3 changesets (bug 1560545) for causing build bustages. CLOSED TREE
Backed out changeset 31177fcc3123 (bug 1560545)
Backed out changeset e3e1ad8d7709 (bug 1560545)
Backed out changeset fd64770f1342 (bug 1560545)
2019-06-26 07:56:47 +03:00
Mike Hommey
54617f4cc0 Bug 1560545 - Force-enable wayland support in Linux builds on automation. r=chmanchester
So that we don't end up disabling it by accident.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 20:22:15 +00:00
Mike Hommey
7d0561299d Bug 1561465 - Remove ELOG. r=nalexander
The condition that enabled ELOG to do something has been broken since
bug 279212 landed two years ago, because MAKEFLAGS doesn't contain the
dash for flags, so looking for "-s" never did anything.

Bug 1560527 changed the condition to !BUILD_VERBOSE_LOG, which as of the
previous commit, does work. This would restore the old behavior, at the
expense of build time, since it involves wrapping in a shell script,
which is not necessarily desirable (and hasn't been done for two years
now)

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

--HG--
extra : moz-landing-system : lando
2019-06-26 02:20:29 +00:00
Mike Hommey
985a376afa Bug 1526857 - Improve bindgen configuration wrt clang. r=chmanchester
The current setup for bindgen relies on either finding clang/libclang
from the output of llvm-config, or from the paths given via the
configure flags --with-clang-path/--with-libclang-path.

One _very_ common problem is that the llvm-config we end up using does
not correspond to the clang used for compilation, which has some
undesirable side effect, like failing to build.

So instead of relying on llvm-config, we do the following:
- when the compiler is clang, we just use that
- when the compiler is clang-cl, we use clang from the same directory
- otherwise, we either try to find clang in PATH, or rely on
  --with-clang-path.

Once clang is found, we try to deduce the location of the corresponding
libclang via the output of `clang -print-search-dirs`, or rely on
--with-libclang-path.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:48:20 +00:00
Mike Shal
e52ded1092 Bug 1553065 - Move profile-use mozconfig info into common mozconfigs; r=firefox-build-system-reviewers,chmanchester
The 3-tier PGO builds used a separate mozconfig called 'profile-use' for
the final tier. This created a problem when it rode to beta, since the
same mozconfig was used for all trees, which meant we ended up with
nightly branding on beta builds.

With the PGO-enabling logic in common mozconfigs, we can enable it by
setting the MOZ_PGO_PROFILE_USE environment variable from the task
definition. All of the final-tier PGO builds now use the nightly, beta,
etc mozconfigs like before, so branding should be intact.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:56:16 +00:00
Mike Shal
f5680f2fee Bug 1553065 - Use MOZ_LTO environment variable in mozconfig.unix; r=firefox-build-system-reviewers,chmanchester
This makes it consistent with bug 1530908 and 1536194.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:56:12 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Nathan Froyd
3b7164be54 Bug 1542958 - fix code section adjustments in elfhack; r=glandium
We were never adjusting `last` in this loop, so we were computing the
wrong addresses for all sections beyond the first.  Which in turn meant
that we would compute the wrong size for the section data we needed to
allocate.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 23:44:28 +00:00
Nathan Froyd
0d8cc55ffb Bug 1542958 - avoid malloc/delete[] mismatches in elfhack; r=glandium
We were allocating ElfSection's data with `new[]` and modifying it with
`realloc` in some places, which causes allocator mismatches.
Consistently manage the data with `malloc`, `realloc`, and `free` instead.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 23:40:04 +00:00
Mike Hommey
aeac69533b Bug 1540882 - Align binutils aarch64 target with build time clang --target. r=froydnj
When cross-building with clang, we use `--target` with a target that is
derived from the configure target, with the vendor removed. So for
`configure --target=aarch64-unknown-linux-gnu`, we use
`clang --target=aarch64-linux-gnu`.

Then, clang itself looks for tools as `$target-$tool` first, then
`$tool`, which means for the assembler,  it's looking for
`aarch64-linux-gnu-as` before `as`, but not
`aarch64-unknown-linux-gnu-as`.

Building GNU as with `--target=aarch64-unknown-linux-gnu` creates the
`aarch64-unknown-linux-gnu-as`, but we really want `aarch64-linux-gnu`,
so we adjust the target in the binutils build script.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 13:50:54 +00:00
Mike Hommey
920c719ba8 Bug 1540369 - Build GNU as for aarch64 target in binutils toolchain. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25502

--HG--
extra : moz-landing-system : lando
2019-03-30 23:04:42 +00:00
Mike Hommey
25dbad7cb2 Bug 1536307 - Bump libstdc++ requirement to 4.7. r=froydnj
Last time we updated the requirements was in bug 1278456, after we
switched to GTK+3.

While it might be worth checking what would be a reasonable requirement,
the immediate problem is that updating ANGLE hits a snag with a
libstdc++ 4.7 symbol, and the only main distro release that bumping to
that version would make us not support anymore is Ubuntu 12.04 LTS,
EOLed 2 years ago (April 2017).

Bumping to some even newer version would need more consideration.
Desupporting Ubuntu 12.04 LTS at this point is almost a no-brainer.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 12:40:25 +00:00
Nathan Froyd
9ebe50fc6e Bug 1451104 - part 1 - be explicit about our GCC/binutils target and build machine; r=glandium
Explicit is better than implicit, and helps ensure that GCC is always
using the binutils we built it with, rather than the system binutils.

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

--HG--
extra : moz-landing-system : lando
2019-03-15 01:28:10 +00:00
Gurzau Raul
c3883e46f7 Backed out 6 changesets (bug 1451104) for toolchains bustage on a CLOSED TREE.
Backed out changeset 2f6199beeb71 (bug 1451104)
Backed out changeset 7c116f85ede6 (bug 1451104)
Backed out changeset 5179c8066914 (bug 1451104)
Backed out changeset 675f73d41eb4 (bug 1451104)
Backed out changeset c64bfaad8a2f (bug 1451104)
Backed out changeset 991777e081ff (bug 1451104)
2019-03-14 05:02:44 +02:00
Nathan Froyd
502083172c Bug 1451104 - part 1 - be explicit about our GCC/binutils target and build machine; r=glandium
Explicit is better than implicit, and helps ensure that GCC is always
using the binutils we built it with, rather than the system binutils.

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

--HG--
extra : moz-landing-system : lando
2019-03-12 00:19:25 +00:00
Mike Hommey
26938ca3a9 Bug 1534524 - Apply the changes from bug 1470502 to build-binutils.sh. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D23092

--HG--
extra : moz-landing-system : lando
2019-03-12 14:18:47 +00:00
Mike Hommey
b0f3ca8044 Bug 1490573 - Use fetches for nsis and wine toolchain tasks. r=froydnj
These toolchain tasks are the last ones using the historical
download-tools script from build/unix/build-gcc, which invokes gpg to
validate the downloaded tarballs. The consequence is that gpg-agent is
spawned and stays running, preventing a cleanup script from doing its
job, making the tasks fail.

Fetches are the new way to download sources, and can also do gpg
validation without those caveats.

The download-tools.sh script can then be removed as it's not used
anymore.

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

--HG--
extra : moz-landing-system : lando
2019-03-11 01:38:46 +00:00
Mike Hommey
ad8855ed35 Bug 1525760 - Add a clang-based base toolchains task. r=froydnj
These are copies of the corresponding gcc-based base toolchain tasks,
with FORCE_GCC and the gcc dependency removed.

We also tweak things a little for those builds to actually end up green.

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

--HG--
extra : moz-landing-system : lando
2019-02-09 09:41:03 +00:00
shindli
a8e8126805 Backed out changeset 439db957d3e2 (bug 1525760) for linux64 toolchains bustages in toolkit/library/gtest/target CLOSED TREE 2019-02-09 07:19:32 +02:00
Mike Hommey
011c259380 Bug 1525760 - Add a clang-based base toolchains task. r=froydnj
These are copies of the corresponding gcc-based base toolchain tasks,
with FORCE_GCC and the gcc dependency removed.

We also tweak things a little for those builds to actually end up green.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 14:40:22 +00:00
Mike Hommey
247022a791 Bug 1525510 - Add a trampoline to call original_init when it's not possible directly. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18807

--HG--
extra : moz-landing-system : lando
2019-02-07 16:23:49 +00:00
David Major
147bd27b98 Bug 1477306 - Point -fcrash-diagnostics-dir at UPLOAD_DIR when compiling with clang in automation r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D16765

--HG--
extra : moz-landing-system : lando
2019-01-22 19:27:13 +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
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Mike Hommey
29e5c3b9dd Bug 1505608 - Try to ensure the bss section of the elfhack testcase stays large enough. r=froydnj
In bug 1470701, we added a dummy global variable so that it ends up in
the bss section, making it large enough for two pointers. Unfortunately,
in some cases, the symbol is eliminated by the linker because it is
unused. So we try to ensure it stays there.

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

--HG--
extra : moz-landing-system : lando
2018-11-08 14:50:22 +00:00
Mike Hommey
3d7847dc20 Bug 1501885 - Switch hfsplus toolchain to clang 7. r=ted
And remove the clang-6 toolchain, which is now unused.

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

--HG--
extra : moz-landing-system : lando
2018-10-25 10:35:59 +00:00
Mike Hommey
0cf2b93ff2 Bug 1499915 - Support undoing elfhack when the elfhacked sections are in separate segments r=froydnj
This is some sort of followup to bug 1423813, providing a minimalistic
way to undo elfhack when the elfhack sections are in separate segments,
which has been the case since bug 1385783 but didn't cause problems
on Android builds until bug 1423822.

Depends on D9622

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

--HG--
extra : moz-landing-system : lando
2018-10-24 13:42:38 +00:00
Mike Hommey
66921ba849 Bug 1499915 - Remove support for the elfhack filler segment r=froydnj
This effectively backs out bug 822584, which worked around a similar
problem to what we are facing with Android xpcshell, being that the
crash reporter doesn't handle the address space "fragmentation" induced
by elfhack. The work around worked, at the expense of some added
complexity.

It was used for B2G only, and has effectively been unused since B2G was
retired.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 13:42:31 +00:00
Tom Prince
f85b06c132 Bug 1492526: Don't build mar's as part of the build; r=firefox-build-system-reviewers,mshal,Callek
We need to sign parts of the contents of the archives, so the mar's that we
ship get built as part of the repackage task. Thus, there is no reason to also
create and upload as part of the build, just to throw them away.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 18:15:40 +00:00
Mike Hommey
9f4a67977e Bug 1491140 - Count non-elfhacked relocations size when comparing to original size r=froydnj
When checking whether the new relocations sizes are going to be a win, we
need to account for the fact that there are non-elfhacked relocation
remaining.

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

--HG--
extra : moz-landing-system : lando
2018-09-14 13:16:25 +00:00
Mike Hommey
682d2bd651 Bug 1491198 - Don't enable LTO on artifact builds r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5836

--HG--
extra : moz-landing-system : lando
2018-09-14 17:33:45 +00:00
Chris Peterson
e58c4d5a41 Bug 1490575 - Remove Mulet comments from build files. r=froydnj
Mulet was a Firefox OS simulator that is no longer supported: https://wiki.mozilla.org/Mulet

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

--HG--
extra : rebase_source : d077c88b8446d0491b4af0dfe2198c4b980fa279
extra : source : 41301ab98bd094235b6995b18bcaa521f221c5f1
2018-09-11 23:07:32 -07:00