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

592 Коммитов

Автор SHA1 Сообщение Дата
rforbes 3e2112c609 Bug 1359328 - Updates for fuzzing taskcluster build r=aobreja,decoder
MozReview-Commit-ID: 1RDQYnGTE2s

--HG--
extra : rebase_source : 77d2bdd37931d2c324cd07f4d6c7b996c1845a1c
2017-05-25 15:36:21 -07:00
Steve Fink 7e29e4b949 Bug 1339989 - Add --no-build option to build-gcc.sh, r=glandium
--HG--
extra : rebase_source : c642a75ceef62cdcd973ab121fd177de770d1b24
2017-04-17 14:51:17 -07:00
Mike Hommey ecbc3ab66c Bug 1365182 - When both clang and gcc are installed via tooltool, pick libstdc++ from gcc. r=froydnj
--HG--
extra : rebase_source : 7f5eec8e85e34c5249be11daabc466963476f279
2017-05-16 15:09:52 +09:00
Lee Salzman 20ac00c192 Bug 1350262 - implement prime rehash policy compat for unordered_map and unordered_set in libstdc++. r=glandium
MozReview-Commit-ID: 1zlGjRMKcBM
2017-05-09 22:15:18 -04:00
Ting-Yu Chou 337e68fa28 Bug 1333003 part 4 - Package the binary of llvm-symbolizer also on Windows. r=ted
MozReview-Commit-ID: 4nhVgQTJ7Bz

--HG--
extra : rebase_source : 4df3d39da1847ff40927ec3d1f11f76916181a46
2017-03-10 12:24:02 +08:00
Mike Hommey 97164d67cd Bug 1353661 - Don't build elfhack/inject during export. r=mshal
When the clang plugin is used, building something during export needs to
happen after the plugin is built. But there is no dependency ensuring
this happens.

OTOH, these sources in elfhack/inject don't need to be built that early,
so we'll just leave to the build system to build it at a proper time.

--HG--
extra : rebase_source : a6bef8ec6eece3a1b0e45f84c907c2fbc0800863
2017-04-05 18:01:33 +09:00
Wes Kocher 93d11e3441 Backed out 7 changesets (bug 1333003) for windows asan failures a=backout
Backed out changeset 3d2b2eeda8d3 (bug 1333003)
Backed out changeset 400d409ba4ca (bug 1333003)
Backed out changeset 1ba027abdfc9 (bug 1333003)
Backed out changeset 70114135bd8c (bug 1333003)
Backed out changeset 5715b15e33c0 (bug 1333003)
Backed out changeset 375e952bd738 (bug 1333003)
Backed out changeset d5d4112599f2 (bug 1333003)

MozReview-Commit-ID: DZUHJTdjX7V
2017-03-23 11:01:44 -07:00
Ting-Yu Chou e83fb17b3a Bug 1333003 part 4 - Package the binary of llvm-symbolizer also on Windows. r=ted
MozReview-Commit-ID: 4nhVgQTJ7Bz

--HG--
extra : rebase_source : 4df3d39da1847ff40927ec3d1f11f76916181a46
2017-03-10 12:24:02 +08:00
Carsten "Tomcat" Book 5787f19c5c Backed out changeset d88370d20b83 (bug 1333003) 2017-03-23 10:38:13 +01:00
Ting-Yu Chou 319b8a884d Bug 1333003 part 4 - Package the binary of llvm-symbolizer also on Windows. r=ted
MozReview-Commit-ID: 4nhVgQTJ7Bz

--HG--
extra : rebase_source : 4df3d39da1847ff40927ec3d1f11f76916181a46
2017-03-10 12:24:02 +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
Mike Hommey 8e89cfc337 Bug 1338016 - Use clang from tooltool to build hfsplus. r=mshal
--HG--
extra : rebase_source : 0c4aaad8bc04fe9ab4160e877cd4e09b3128bf94
2017-02-09 11:37:28 +09:00
Mike Hommey 226427e5a2 Bug 1335667 - Validate all downloaded sources when building GCC. r=froydnj
We can just check the GPG signature for the upstream tarballs that are
GPG signed. We keep a copy of the relevant GPG keys in tree so that
we only use a controlled set of keys.

I validated the GPG keys by:
- Creating a fresh keyring.
- Importing the keys with gpg --receive-key.
- Importing my own GPG public key in that keyring.
- Importing the gpg keys that the PGP pathfinder told me were on the path
  to those keys (which weren't directly in their keyring, so I had to
  manually find some steps first).
- Using `gpg --check-sigs` to validate that the all those keys I got are
  the right ones.

Then the relevant GPG keys were exported with `gpg --export --armor` and
stripped with https://github.com/glandium/pgpstrip/.

For MPC, the first GPG-signed version upstream was 0.8.2, while the GCC
script to download prerequisites downloads 0.8.1. So instead of using
0.8.1, we use 0.8.2, which we can verify.

For GMP, the GCC script downloads 4.3.2. The only web-of-trust path is
through a revoked key, which signs a revoked uid of the GMP key.
Releases newer than 5.1.0 are signed with a new key that can be
validated with the steps above. So instead of using 4.3.2, we use 5.1.3
(last of the 5.1.x line).

But MPFR 2.4.2, which the GCC script downloads, doesn't build against
GMP 5.1.3, so instead of that, we use MPFR 3.1.5.

Sadly, the remaining GCC prerequisites are not signed, so I had to:
- Download the files from ftp.gnu.org.
- Download the corresponding files from snapshot.debian.org.
- Compare the raw files when possible, or the uncompressed (not extracted)
  files (when, thankfully, they matched).
- Validate those snapshot.debian.org files checksums against the
  checksums in the corresponding Sources.bz2/xz files.
- Validate the Sources.bz2/xz checksums against the corresponding InRelease
  files.
- Validate the InRelease files GPG signatures against the Debian
  archives keyring.

With all those things we actually don't get through the GCC script, we
also change how we get those prerequisites, by diverting the commands
the script runs and making it output the urls instead of downloading and
extracting the files.

All downloaded files, GPG-validated or otherwise, have their SHA-256
digest checked against a list in build/unix/build-gcc/checksums.

--HG--
extra : rebase_source : e6809a6ac392e6c5f99801826e1d30bdeee7ddf5
2017-02-01 16:35:29 +09:00
Mike Hommey 4a68fd13bf Bug 1335667 - Use `set -e` instead of manual `exit 1`. r=froydnj
--HG--
extra : rebase_source : 2cdffa62dafab2f9cc588122bdb3240d92a8d188
2017-02-01 16:35:18 +09:00
Justin Wood 8cf804e40f Bug 1197325 - Generate mkfs.hfsplus. r=ted
MozReview-Commit-ID: Dl0eBQR8XFR

--HG--
extra : rebase_source : bc20b8c35b8d62b2230f52a076c619fc674047e1
2017-01-30 13:12:57 -05:00
Phil Ringnalda 0bf37ead29 Backed out 3 changesets (bug 1197325) for adding a burning Cc(hfsplus) job
CLOSED TREE

Backed out changeset 158233bce738 (bug 1197325)
Backed out changeset b5ac3fa0bbe7 (bug 1197325)
Backed out changeset 55a8ad127517 (bug 1197325)
2017-02-06 20:04:55 -08:00
Justin Wood 4d8337864f Bug 1197325 - Generate mkfs.hfsplus. r=ted
MozReview-Commit-ID: Dl0eBQR8XFR

--HG--
extra : rebase_source : e83031f29b85838f6478081a7b27415099132653
2017-01-30 13:12:57 -05:00
Benjamin Smedberg ca77995f5d Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and related is_sdk support in the build goop, r=mshal
MozReview-Commit-ID: 52vPyDXdFte

--HG--
extra : rebase_source : c3217730bb70eb7319152dd07536b12f49d6a597
2017-01-30 11:24:10 -05:00
Benjamin Smedberg 270de3f511 Bug 1333826 - Remove all references to MOZ_AUTOMATION_SDK, r=mshal
MozReview-Commit-ID: CuTK1hn0pVl

--HG--
extra : rebase_source : 4581c71360ccd81505079ee9e068ed2ca0431a6a
2017-01-25 12:30:49 -05:00
Nathan Froyd d3f03b9167 Bug 1029245 - part 1 - modify build-gcc.sh to build GCC 4.9.4; r=glandium
PR 64905 apparently never got backported to 4.9.x, so we still need the
patch for that.
2016-12-21 04:28:08 -05:00
Mike Hommey efb1ecf093 Bug 1321065 - Default to --enable-profiling for nightly milestones. r=gps
--HG--
extra : rebase_source : a811cd6a1e0ccae4fb07563fce152e2072ace862
2016-11-30 06:47:38 +09:00
Henri Sivonen b66ce7516a Bug 1274196 - Turn on SSE2 autovectorization and SSE2-based floating-point math for 32-bit Linux. r=glandium.
MozReview-Commit-ID: K8CMfRxcLBH
2016-10-05 18:59:12 +03:00
Enes Goktas 2f65f683e3 Bug 1272629 - Add taskcluster task to build binutils package; r=glandium
MozReview-Commit-ID: AEOShpN8ZMI

--HG--
extra : rebase_source : fc8b99002c4944ae666b1a6922edc42d2b0805f4
extra : source : 86d07e6bd5b7197f249e5064ee600fe83b808fb1
2016-09-14 18:47:50 -07:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Steve Fink 3765bea320 Bug 1280637 - Make --enable-thread-sanitizer & friends do more work, r=glandium
MozReview-Commit-ID: KinAe8zLivJ

--HG--
extra : rebase_source : 8ce1b58222a034f2d6ec45f28aabb3a543bc84c7
2016-07-12 17:30:23 -07:00
Mike Hommey 2fe5367788 Bug 1280338 - Use tooltool GCC's ld on TSan builds. r=froydnj
Something similar was done in bug 1278718 for ASan builds, because of
indirect dependencies on libstdc++ being picked by the linker and
leading to linkage failure with the older binutils from the CentOS 6
image we use to do desktop builds.
2016-06-16 16:16:51 +09:00
Mike Hommey 422162d82a Bug 1278718 - Use clang 3.8 on ASAN builds. r=decoder 2016-06-15 12:22:56 +09:00
Mike Hommey 9ae35b95e7 Bug 1278456 - Remove stdc++-compat hacks for libstdc++ < 4.6.1. r=froydnj 2016-06-12 18:52:21 +09:00
Mike Hommey c5caa62fdf Bug 1278456 - Add the tooltool GCC library directory to LD_LIBRARY_PATH on Linux builds. r=mshal
Build slaves on automation are based on Centos 6, which doesn't have a
recent enough version of libstdc++ for our new requirements. But since
we're building with a recent GCC or clang with its own libstdc++, we do
have such a libstdc++ available somewhere, and the compiler picks it
when invoking the linker.

Problems start happening when we execute some of the built programs
during the build, like host tools (e.g. nsinstall), or target programs
(xpcshell, during packaging). In that case, we need the compiler's
libstdc++ to be used. Which required adding the GCC or clang library
directory to LD_LIBRARY_PATH.

Unconveniently enough, the clang 3.5 tooltool package we're using for
ASAN builds until we can update to at least 3.8 (bug 1278718) doesn't
contain libstdc++.so. So for those builds, pull the GCC package from
tooltool as well, and pick libstdc++ from there.
2016-06-12 18:52:15 +09:00
Mike Hommey a172eece8b Bug 1261264 - Apply GCC PR64905 to fix miscompilation with -fomit-frame-pointer. r=froydnj
The new GCC tarball was built on
https://tools.taskcluster.net/task-inspector/#ADIOXxgZQ7-9HuqEYZc3mw/0
2016-04-08 06:45:06 +09:00
Edmund Wong 0621281471 bug 1262057 - Copy TOOLTOOL_DIR to mozconfig.linux. r=glandium
--HG--
extra : rebase_source : 6d717c0a6850ff2db90650002cbc9cba10ff9ed7
2016-04-06 08:04:00 +02:00
Mike Hommey 99fc89b5e2 Bug 1261263 - Remove test for libstdc++ headers conflict with clang 3.3. r=froydnj
Also remove the hack around it.
2016-04-05 07:16:44 +09:00
Mike Hommey d464f29e5f Bug 1255813 - Remove build system support for Solaris, HPUX and AIX. r=ted 2016-03-15 07:34:50 +09:00
Mike Hommey 3fe18eae3b Bug 1175546 - Update GCC to 4.8.5 and bump minimum GCC version required to build. r=froydnj 2016-03-12 09:03:37 +09:00
Mike Shal 8a7fd16468 Bug 1253431 part 5 - Remove build/unix/Makefile.in; r=gps
MozReview-Commit-ID: 7FhprSrtqyt

--HG--
extra : rebase_source : 51a338e9c3e61eb39d3952176cc944c78fb64705
2016-01-21 16:46:34 -05:00
Justin Wood 31da749c7c Bug 1242641 - Update gtk3 package in tooltool to specify the fontconfig path in the setup.sh r=glandium 2016-02-05 16:21:19 -05:00
Nick Thomas b4bf649673 Bug 1242641 - GTK+3 still not working for buildbot builds on beta. r=rail
gtk3/setup.sh at unpack time in tooltool

--HG--
extra : commitid : DaHpc9KeO2P
extra : rebase_source : b519795dc6ae1a57ea6ce1e246cba942564c7de5
2016-01-29 22:19:48 +13:00
Ehsan Akhgari 1c924b8602 Bug 1042132 - Part 1: Port build-clang.py to Windows; r=rail
This is useful for deploying clang-cl to the infrastructure.


--HG--
rename : build/unix/build-clang/clang-static-analysis-linux64-centos6.json => build/build-clang/clang-static-analysis-linux64-centos6.json
rename : build/unix/build-clang/clang-static-analysis-linux64.json => build/build-clang/clang-static-analysis-linux64.json
rename : build/unix/build-clang/clang-static-analysis-macosx64.json => build/build-clang/clang-static-analysis-macosx64.json
rename : build/unix/build-clang/llvm-debug-frame.patch => build/build-clang/llvm-debug-frame.patch
rename : build/unix/build-clang/query-selector-visibility.patch => build/build-clang/query-selector-visibility.patch
rename : build/unix/build-clang/return-empty-string-non-mangled.patch => build/build-clang/return-empty-string-non-mangled.patch
2016-02-08 14:55:27 -05:00
Wes Kocher 688614d3d2 Backed out changeset 65e246baede4 (bug 1242641) for valgrind bustage CLOSED TREE
--HG--
extra : commitid : 1sQ76xShsLg
2016-02-04 11:42:34 -08:00
Nick Thomas c971ab5018 Bug 1242641 - GTK+3 still not working for buildbot builds on beta. r=rail
gtk3/setup.sh at unpack time in tooltool

--HG--
extra : rebase_source : c113d5b3a73afb8405804d4e9a7751e95eb0bed0
2016-01-29 22:19:48 +13:00
Mike Hommey 9ca9b3074c Bug 1245763 - Don't emit Sources objects when there is no Linkable in the same directory. r=gps
We have very few directories where we have SOURCES declared that are not
part of a library or program in some way. In fact, there is only one
where it is legitimate because we only use the object file
(build/unix/elfhack/inject). Others are the result of moz.build control
flow (see e.g. netwerk/standalone), and we end up building more objects
than we need to.

There are other cases where we need objects without actually linking
them anywhere, but there are other sources in the same directory, and a
corresponding Linkable is emitted. And in fact, the only case I knew
about (media/libvpx), doesn't use such objects since bug 1151175.
2016-02-04 17:16:29 +09:00
Ralph Giles ca9efa0b37 Bug 1243037 - part 3 - move "unix" mozconfig.rust up a level; r=mshal
The unix mozconfig.rust is actually completely generic now that we're
using toolchains built with --enable-rpath in tooltool.

Move the mozconfig.rust fragment up a level to reduce confusion.
2016-01-27 08:19:34 -05:00
Mike Hommey 687d9646b3 Bug 1233963 - Work around recent GNU gold behavior with segments starting before the first section they contain. r=froydnj 2016-01-21 13:54:03 +09:00
Ralph Giles 48960fbdea Bug 1175359 - Enable rust in linux64 automation builds. r=mshal
Write a mozconfig.rust fragment which makes the rust toolchain
provided by tooltool available for linux builds, similar to
what we do for MacOS X.

Include this in linux64 mozconfigs to enable rust for official
nightly builds of that target. These aren't used outside of automation
builds, so including rust there will verify code on check-in
without requiring developers to install rust.

We must whitelist the mozconfig fragment to pass the consistency
check since we're not ready to let this feature ride the trains
to beta and release.

The tooltool reference is to a custom build of rustc 1.4
with --enable-rpath to avoid having to add the rustc lib
directory to LD_LIBRARY_PATH which somehow conflicts with
the gtk3 build we also install through tooltool.

It is also built with --enable-llvm-static-stdcpp on a
rust-buildbot dist docker image (centos:5 + script updates)
to avoid issues with GLIBCXX and GLIBC symbol versions.
2015-11-30 15:10:24 -08:00
Mike Hommey eeb6e0e1c2 Bug 1186748 - Now that all builds are pulling the Gtk+3 tooltool package, remove the Gtk+2 fallback in mozconfig.gtk. r=mshal 2015-11-04 11:21:49 +09:00
Ehsan Akhgari e7d8787503 Bug 1210154 - Part 1: Add the patches needed for rust-bindgen to the clang build; r=rail 2015-10-15 10:17:08 -04:00
Ehsan Akhgari a7dbfbd7df Bug 1182727 - Part 19: Fix another stupid mistake in build_tar_package()
DONTBUILD
2015-10-13 16:04:40 -04:00
Ehsan Akhgari f7c5e6ff63 Bug 1182727 - Part 18: Fix building clang on OSX 10.8 and older
This is documented on http://libcxx.llvm.org/.
2015-10-09 21:15:23 -04:00
Ehsan Akhgari eb858c4b20 Bug 1182727 - Part 16: Fix a bug in build_tar_package 2015-10-08 11:30:41 -04:00
Ehsan Akhgari fbf588270f Bug 1182727 - Part 14: Remove the old files that are not needed any more; r=rail 2015-10-02 11:09:21 -04:00