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

813 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey a3250ab5f7 Bug 1390752 - Avoid std::basic_ios<char, std::char_traits<char>>::operator bool() references. r=froydnj
This is similar to what we had until bug 1278456 removed them when we dropped
support for older libstdc++, but for a different symbol.

--HG--
extra : rebase_source : 641fc6c86c8f47e3dbd752bc20056f61646541a7
2017-08-16 15:03:43 +09:00
Eugen Sawin c0560f54d7 Bug 1388893 - [1.0] Abort code insertion if executable section was not found. r=glandium 2017-08-15 13:58:41 +02:00
Mike Hommey 733dc0bf95 Bug 1389422 - Avoid @GLIBCXX_3.4.22 symbols from the use of std::thread when building with GCC 6. r=froydnj
That the wrapper implementation works has been verified by creating a
dummy program such as:

  $ cat test.cc
  #include <thread>

  int main() {
    std::thread([]() {
      printf("foo\n");
    }).join();
    return 0;
  }

And compiling it with and without the hack:

  $ g++ -fno-rtti -o test test.cc -lpthread
  $ objdump -TC test | grep UND.*GLIBCXX_3.4.22
  0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4.22 std:🧵:_State::~_State()
  0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4.22 std:🧵:_M_start_thread(std::unique_ptr<std:🧵:_State, std::default_delete<std:🧵:_State> >, void (*)())

  $ ./test
  foo

  $ g++ -fno-rtti -o test test.cc $objdir/build/unix/stdc++compat/stdc++compat.o -lpthread
  $ objdump -TC test | grep UND.*GLIBCXX_3.4.22
  $ ./test
  foo

--HG--
extra : rebase_source : 53ca8e2d0424eaeb539d50510c441c8a3252c819
2017-08-11 17:20:47 +09:00
Mike Hommey ccd43013f6 Bug 1388713 - Change how elfhack looks for the bss section. r=froydnj
In bug 635961, elfhack was made to (ab)use the bss section as a
temporary space for a pointer. To find it, it scanned writable PT_LOAD
segments to find one that has a different file and memory size,
indicating the presence of .bss. This usually works fine, but when
the binary is linked with lld and relro is enabled, the end of the
file-backed part of the PT_LOAD segment containing the .bss section
ends up in the RELRO segment, making that location read-only and
subsequently making the elfhacked binary crash when it tries to restore
the .bss to a clean state, because it's not actually writing in the .bss
section: lld page aligns it after the RELRO segment.

So instead of scanning PT_LOAD segments, we scan for SHT_NOBITS
sections that are not SHF_TLS (i.e. not .tbss).

--HG--
extra : rebase_source : f18c43897fd0139aa8535f983e13eb785088cb18
2017-08-10 07:55:55 +09:00
Wes Kocher db7d003ae0 Merge m-c to autoland a=merge CLOSED TREE
MozReview-Commit-ID: Ko3lhAvzMJN
2017-08-03 18:22:09 -07:00
Mike Hommey 118fd76cf0 Bug 1356926 - Make all stdc++compat symbols weak. r=froydnj
In some cases, we can end up linking some things with
--static-libstdc++. The notable (only?) example of that is for the
clang-plugin, and that happens because it gets some of its flags from
llvm-config, which contains --static-libstdc++ because clang itself is
built that way.

When that happens, the combination of --static-libstdc++ and
stdc++compat breaks the build because they have conflicting symbols,
which is very much by design.

There are two ways out of this:
- avoiding either -static-libstdc++ or stdc++compat
- work around the symbol conflicts

The former is not totally reliable ; we'd have to accurately determine
if we're in a potentially conflicting case, and remove one of the two in
that case, and while we can do that for the cases we explicitly know
about, that's not future-proof, and might fail just as much in the
future.

So we go with the latter. The way we do this is by defining all the
std++compat symbols weak, such that at link time, they're overridden by
any symbol with the same name. When building with -static-libstdc++,
libstdc++.a provides those symbols so the linker eliminates the weak
ones. When not building with -static-libstdc++, the linker keeps the
symbols from stdc++compat. That last assertion is validated by the
long-standing CHECK_STDCXX test that we run when linking shared
libraries and programs.

That still leaves the symbols weak in the final shared
libraries/programs, which is a change from the current setup, but
shouldn't cause problems because when using versions of libstdc++.so
that do provide those symbols, it's fine to use the libstdc++.so version
anyways.
2017-08-04 06:07:42 +09:00
Mike Hommey 614312f061 Bug 1386588 - Change the GCC build script to be future-proof. r=gps
It becomes a library of some sort, so that multiple scripts can benefit
from it to build different versions of GCC.

The GPG key associated with GCC is also refreshed from keys.gnupg.net,
adding a new subkey, used to sign newer versions of GCC (and
postprocessed with pgpstrip to make it smaller).
2017-08-03 08:12:47 +09:00
Sylvestre Ledru 6e1f2d507b Bug 1385910 - In the error message, also ask to upload the pre-elfhacked library r=froydnj
MozReview-Commit-ID: A7ADGyQunjN

--HG--
extra : rebase_source : fac3410f828871b5b694851f99bdf588b67f0ef8
2017-07-31 16:35:03 +02:00
Mike Hommey 48eba8560c Bug 1385783 - Insert the elfhack code before the first executable section. r=froydnj
The lld linker creates separate segments for purely executable sections
(such as .text) and sections preceding those (such as .rel.dyn). Neither
gold nor bfd ld do that, and just put all those sections in the same
executable segment.

Since elfhack is putting its executable code between the two relocation
sections, it ends up in a non-executable segment, leading to a crash
when it's time to run that code.

We thus insert the elfhack code before the first executable section
instead of between the two relocation sections (which is where the
elfhack data lies, and stays).

--HG--
extra : rebase_source : ab18eb9ac518d69a8639ad0e785741395b662112
2017-08-02 16:39:12 +09:00
Mike Hommey a2b46623f9 Bug 1385783 - Don't assume both elfhack sections are next to each other. r=froydnj
--HG--
extra : rebase_source : 989e0233f5c80c61680ad4578ea6bd835d231655
2017-08-02 16:05:07 +09:00
Cameron McCormack 66d005a1e5 Bug 1385537 - Check for writable segments correctly. r=glandium
MozReview-Commit-ID: FItpvVeiMJM

--HG--
extra : rebase_source : e9eaeba92967c1e839667fb0597fd0cd8a9616a8
2017-07-29 13:56:25 +08:00
Mike Hommey a15c6351cb Bug 1385117 - Make the bss section of the elfhack testcase large enough. r=froydnj
Since bug 635961, building with relro makes elfhack try to use the bss
data for a temporary function pointer. If there is not enough space for
a pointer in the bss, elfhack will complain it couldn't find the bss.

In normal circumstances, this is most likely fine. Libraries with a bss
so small that it can't fit a pointer are already too small to be
elfhacked anyways. In Firefox, the two libraries with the smallest bss
have enough space for two pointers, and aren't elfhacked (libmozgtk.so
and libplds4.so).

However, the testcase that is used during the build to validate that
elfhack works doesn't have a large enough bss on x86-64, making elfhack
bail out, and the build fail as a consequence.

This, in turn, is due to the only non-thread-local zeroed data being an
int, which is not enough to fit a pointer on x86-64. We thus make it a
size_t.

--HG--
extra : rebase_source : bca2ddbf9d4a5e8786881fc524d642c38d610227
2017-07-28 07:15:39 +09:00
Mike Hommey 43b0a30fd0 Bug 635961 - Allow elfhack to relocate data under the GNU_RELRO segment. r=froydnj
--HG--
extra : rebase_source : 873898d5929414b754bf592ab4d60574700b646a
2017-07-11 07:41:07 +09:00
Wes Kocher 5dbd554bdd Backed out 2 changesets (bug 635961) at developer's request a=backout
Backed out changeset c56fa9c1eda0 (bug 635961)
Backed out changeset ddda63d5366e (bug 635961)

MozReview-Commit-ID: I6NxBctFn8e
2017-07-25 17:57:43 -07:00
Mike Hommey 809895d12d Bug 1378986 - Avoid crashing in elfhack when the input file has no relocations. r=me a=bustage
MozReview-Commit-ID: 8jXvB8iRJkC

--HG--
extra : rebase_source : 6b5f24e9bca51d090c5a7c41977e42c513136ec4
2017-07-25 15:50:34 -07:00
Mike Hommey 76cfb9c89f Bug 635961 - Allow elfhack to relocate data under the GNU_RELRO segment. r=froydnj
--HG--
extra : rebase_source : abbb92ee6a8f317fe80af5bf982c93c8b773a42f
2017-07-11 07:41:07 +09:00
Mike Hommey 7e8198e4b7 Bug 1379835 - Don't filter out -idirafter flag when building elfhack injected code. r=gps
--HG--
extra : rebase_source : 4c6eea5ec9c592873ef94cb0c674fc4b26ef385c
2017-07-11 08:02:16 +09:00
Mike Hommey b54839958c Bug 1378986 - Adjust the fake phdr section properly. r=froydnj
The PT_PHDR segment is optional, but the Android toolchain decides to
create one in some cases, and places it first. When that happens, the
work around for bug 1233963 fails, because the fake phdr section has not
been adjusted yet (it only happens when we see a PT_LOAD).

So we adjust the fake phdr section when we see a PT_PHDR segment (and
avoid re-updating it when we see a subsequent PT_LOAD).

--HG--
extra : rebase_source : 2190ec2f20ba9d144b8828874f9f8d70dd5ad2f6
2017-07-07 18:29:06 +09:00
Mike Hommey e6b808292f Bug 1378986 - Avoid elfhack failing on weird DT_INIT_ARRAYs. r=froydnj
Somehow, with the Android toolchain, we end up with
non-empty-but-really-empty DT_INIT_ARRAYs.

In practical terms, they are arrays with no relocations, and content
that is meaningless:

  $ objdump -s -j .init_array libnss3.so

  libnss3.so:     file format elf32-little

  Contents of section .init_array:
   1086e0 00000000                             ....

  $ readelf -r libnss3.so | grep 1086e0

  $ objdump -s -j .init_array libplugin-container-pie.so

  libplugin-container-pie.so:     file format elf32-little

  Contents of section .init_array:
   4479c ffffffff 00000000 ffffffff 00000000  ................

  $ readelf -r libplugin-container-pie.so | grep 4479c

Because so far, elfhack expected meaningful DT_INIT_ARRAYs, it bailed out
early in that case.

--HG--
extra : rebase_source : 217aacb42fdfabb466ed1f8149dfaeb4a595eda8
2017-07-07 14:44:46 +09:00
rforbes 1b11218ff1 Bug 1376968 - Remove obsolete -fsantize-coverage=edge from fuzzing config. r=decoder
MozReview-Commit-ID: IJAoxu9Ovze

--HG--
extra : rebase_source : 5f19fc176360fba47ee0b62250a4fa2605911672
2017-06-28 15:58:42 -07:00
Chris Manchester 479795876a Bug 1370695 - Remove build system code handling binary components. r=glandium
MozReview-Commit-ID: BKHWR34vWsu

--HG--
extra : rebase_source : d870a222d393479bb8ede2aaec571299488806c0
2017-06-13 16:01:45 -07:00
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
Ehsan Akhgari 68537f63c4 Bug 1182727 - Part 12: Allow dumping out what the command is doing; r=rail 2015-10-02 11:09:17 -04:00
Ehsan Akhgari 22abaac72a Bug 1182727 - Part 11: Add a config file for Clang on CentOS6; r=rail 2015-10-02 11:09:15 -04:00
Ehsan Akhgari d22cec1684 Bug 1182727 - Part 10: Make gcc_dir configurable; r=rail 2015-10-02 11:09:13 -04:00
Ehsan Akhgari 4d9a219994 Bug 1182727 - Part 9: Make python_path configurable; r=rail 2015-10-02 11:09:11 -04:00
Ehsan Akhgari b279107ee2 Bug 1182727 - Part 8: Add some documentation and the new config files; r=rail 2015-10-02 11:09:09 -04:00
Ehsan Akhgari 02c518c779 Bug 1182727 - Part 7: Make build_libcxx configurable; r=rail 2015-10-02 11:09:07 -04:00
Ehsan Akhgari c15428ca1e Bug 1182727 - Part 6: Add a --clean argument for cleaning the build directory; r=rail 2015-10-02 11:09:05 -04:00
Ehsan Akhgari cde42b9251 Bug 1182727 - Part 5: Add support for configurable build type and assertions; r=rail 2015-10-02 11:09:03 -04:00
Ehsan Akhgari 515ecc0a7c Bug 1182727 - Part 4: Add support for configurable three stage builds; r=rail
This adds a stages config option, which can be used to select 1, 2, and
3 stage builds.  It also marks the default trunk configuration to do 3
stage builds, and defaults to that.
2015-10-02 11:09:01 -04:00
Ehsan Akhgari 6b651d53a2 Bug 1182727 - Part 3: Allow updating from svn if the source directory already exists; r=rail
This will completely remove the need to blow away any of the work
previously done.
2015-10-02 11:08:59 -04:00
Ehsan Akhgari 0ffa419db3 Bug 1182727 - Part 2: Run cmake through ninja to enable resumable builds; r=rail
Since CMake generated build systems can run cmake if necessary, this
will make it possible to pick up changes from the source directory if
any and resume as much of the build as possible.

This builds the foundation for removing the need to blow away any of the
work done by the previous runs of the script.
2015-10-02 11:08:57 -04:00
Ehsan Akhgari 06ba896f34 Bug 1182727 - Part 1: Switch to using cmake and ninja in order to build clang; r=rail 2015-10-02 11:08:55 -04:00
Mike Hommey d72ba2a81c Bug 1209391 - Remove build/unix/uniq.py. r=mshal 2015-09-30 11:51:46 +09:00
Ehsan Akhgari 206f530585 Bug 1205242 - Part 1: Update the clang used for static analysis to 3.7 on all platforms; r=ted 2015-09-28 22:40:48 -04:00
Ehsan Akhgari 7e6947b21f Bug 1203393 follow-up: Address one review comment
DONTBUILD
2015-09-22 08:44:25 -04:00
Ehsan Akhgari 9b79c5cccc Bug 1203393 - Part 2: Package clang as an xz archive; r=glandium 2015-09-22 08:30:19 -04:00
Ehsan Akhgari 59a5270f5c Bug 1203393 - Part 1: Create a stand-alone clang for Linux; r=glandium
We build gcc after clang, and extract libgcc libraries and libstdc++
headers from gcc and place them in the clang installation directory in a
way that clang favors before it searches the system for libraries and
includes.
2015-09-22 08:30:07 -04:00
Ehsan Akhgari 74da17220c Bug 1203388 - Add support for building clang targeted for CentOS6 build machines; r=rail 2015-09-11 00:16:03 -04:00
Ms2ger ce50a0bf86 Bug 1194603 - Remove INTERNAL_TOOLS; r=mshal
Its only purpose is to disable PGO. Where that was not already explicitly done,
or irrelevant (because the directory only contains python), I disabled it in
moz.build.
2015-09-10 13:49:19 +02:00
Ted Mielczarek 6be16c3688 bug 1198226 - Move HOST_{C,CXX}FLAGS to moz.build HOST_{CFLAGS,CXXFLAGS,DEFINES}. r=mshal
As part of this move, HOST_NSPR_MDCPUCFG needed to be changed to get the quoting right.

--HG--
extra : commitid : J26MhSiPq9g
extra : rebase_source : 81c5b98371042803741ddace8d01b0097757dff3
2015-09-08 11:35:43 -04:00
Mike Hommey e5a429008e Bug 1191212 - Force a value for PKG_CONFIG when building on automation. r=mshal
When switching between Gtk+3 and Gtk+2, config.cache will contain a PKG_CONFIG
that may not be suitable for the build:
- after a Gtk+2 build, config.cache will point to the system pkg-config, which
  doesn't like the pkg-config files in the Gtk+3 tooltool package.
- after a Gtk+3 build, config.cache will point to the Gtk+3 tooltool package's
  pkg-config, which is likely not there in a Gtk+2 build.

Setting PKG_CONFIG avoids all config.cache considerations altogether, so set it
appropriately for both cases.
2015-08-07 06:44:59 +09:00
Mike Hommey aecd8d231d Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
(relanding of http://hg.mozilla.org/mozilla-central/rev/a9d3df6e14e0)

--HG--
extra : commitid : GDNpuogmPyb
extra : amend_source : 91e46c707c6f244f7951dc44d9313d00dd0f2b1e
2015-08-04 17:26:11 -04:00
Ryan VanderMeulen 6937c1a640 Backed out changeset a9d3df6e14e0 (bug 1188780) for causing bug 1190860. a=bustage 2015-08-04 15:21:57 -04:00
Mike Hommey 1ad743e164 Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
At the same time, include a setup script to replace parts of mozconfig.gtk.
2015-08-04 07:05:23 +09:00
Mike Hommey ec6e5606d9 Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-08-04 07:05:22 +09:00
Mike Hommey c2ba6b7aa9 Bug 1186748 - Switch hazard and root analysis builds to Gtk+3. r=mshal 2015-08-04 07:05:21 +09:00
Carsten "Tomcat" Book ecaa52f350 Backed out changeset d093c57c6835 (bug 1186748) for causing Bug 1190180 2015-08-03 14:36:14 +02:00
Carsten "Tomcat" Book cd121161d6 Backed out changeset 207c45dd3c2e (bug 1187664) 2015-08-03 14:35:14 +02:00
Carsten "Tomcat" Book 9b61dabe97 Backed out changeset 2238409de271 (bug 1188780) 2015-08-03 14:35:03 +02:00
Mike Hommey fca3b07577 Bug 1188780 - Include debug symbols in gtk3 tooltool package. r=mshal
At the same time, include a setup script to replace parts of mozconfig.gtk.
2015-07-31 16:42:07 +09:00
Mike Hommey 3201a9bde4 Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-07-31 16:41:10 +09:00
Mike Hommey ff7a038039 Bug 1186748 - Switch B2G desktop, hazard and root analysis builds to Gtk+3. r=mshal 2015-07-31 16:39:10 +09:00
Ryan VanderMeulen 5a1391207c Backed out changesets be94d55627f4 and dfc1cb1c26d9 (bug 1187664) because they depend on bug 1186748.
--HG--
extra : histedit_source : 4457df03c37cbe457f3bd099836e519d79fd3461%2Ccab92f6adf81533aef4d5c1748451cfdb44fa08c
2015-07-30 12:07:38 -04:00
Ryan VanderMeulen efd357143c Backed out changeset ada6cd4da281 (bug 1186748) for introducing various intermittent ASAN mochitest failures. 2015-07-30 11:52:49 -04:00
Mike Hommey 3b5bf2f68a Bug 1187664 - Create a fontconfig cache so that Firefox doesn't have to do it itself when run on build automation. r=mshal 2015-07-30 08:49:29 +09:00
Mike Hommey 5bb3772feb Bug 1186748 - Switch B2G desktop, ASan, hazard and root analysis builds to Gtk+3. r=mshal 2015-07-30 08:49:29 +09:00
Mike Hommey dfdf59058d Bug 1186748 - Move gtk-related things in a separate mozconfig. r=mshal
Some mozconfigs don't include mozconfig.linux*, and don't get gtk-related
definitions, so move them in a separate mozconfig. To avoid having two
files, one for 32-bit builds and one for 64-bit builds, rely on the
includer to set PKG_CONFIG_LIBDIR appropriately.

At the same time, move all the --enable-default-toolkit=cairo-gtk2 in that
new file in the case the gtk3 package wasn't pulled from tooltool.
2015-07-28 08:19:15 +09:00
Mike Hommey e26476c1ed Bug 1187245 - Set things up to use Gtk+3 from the tooltool package during PGO builds. r=gps
The mk_add_options exports are meant to end up in $topobjdir/.mozconfig.mk,
which is included every time make runs.
2015-07-28 08:19:13 +09:00
Mike Hommey 56bbd9ec72 Bug 1186003 - Switch automated builds to Gtk+3. r=mshal
The build-gtk3.sh script contains the script used to generate the tooltool
packages.
2015-07-22 07:37:01 +09:00
Chris Manchester 48aa5a0ffb Bug 1181342 - tooltool manifests and build-clang config for clang 3.6 r=rail
--HG--
extra : commitid : KjFzDLPHW0g
2015-07-10 10:30:37 -07:00
Chris Manchester 073236ea96 Bug 1181255 - Mozconfigs for tsan builds. r=glandium
--HG--
extra : commitid : LIOTQcZydyU
2015-07-14 18:45:54 -07:00
Ehsan Akhgari 7c35af2768 Bug 1123386 - Part 1: Update the clang build script for the most recent clang; r=rail 2015-07-13 22:42:12 -04:00
Rail Aliiev 10bac27e88 Bug 1182170 - Kill tooltool.py from the tree. r=dustin DONTBUILD 2015-07-09 14:00:02 -04:00
Birunthan Mohanathas 388f8c1ef2 Backed out changeset 58a2788fad8e (bug 1175359) 2015-06-26 12:49:12 -07:00
Ralph Giles d341eb3773 Bug 1175359 - Enable rust in linux64 builds. r=ted
Write a mozconfig fragment which makes the rust toolchain
provided by tooltool available for linux builds.

Use linux64 mozconfigs to enable rust for official 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.
2015-06-26 12:27:19 -07:00
Mike Hommey aac8b5bca7 Bug 1175323 - Bump stdc++compat minimum supported libstdc++ version to 4.3. r=nfroyd 2015-06-18 17:10:39 +09:00
Mike Hommey 806e0220a2 Bug 991983 - Use objdir-relative SOURCES instead of GENERATED_SOURCES. r=gps 2015-05-28 07:34:16 +09:00
Mike Hommey 9acae632d9 Bug 1167474 - Remove ELFHACK_BUILD hack. r=mshal
It used to be necessary because of how elfhack was built in the past, but it
happens to be unnecessary nowadays.
2015-05-26 16:17:55 +09:00
Mike Hommey fe90037862 Bug 1043692 - Add a DIST_INSTALL variable to moz.build, and replace NO_DIST_INSTALL with it. r=gps 2015-05-12 07:55:21 +09:00
Ted Mielczarek 4c86423908 bug 1085557 - Add Socorro symbol upload token file to linux mozconfigs. r=coop
--HG--
extra : rebase_source : d30d0cd32c99de4a2b24896094eeca33aa203ba8
2015-03-30 07:35:28 -04:00
Mike Hommey 555935f70d Bug 1154596 - Build elfhack tests with -fno-lto. r=nfroyd
LTO changes in GCC5 make it break the assumptions made in the test-ctors
source. The simplest and more correct thing to do is to just force the
test files never to be built with LTO. They are meant to have a particular
layout that LTO might break at any time anyways.
2015-04-16 14:35:13 +09:00
Mike Hommey 769b5c8f4f Bug 1153154 - Add stdc++-compat hack for std::string::_S_compare and std::runtime_error::runtime_error. r=nfroyd 2015-04-16 14:35:12 +09:00
Mike Hommey 6d051ab201 Bug 1154187 - Improve the build-gcc.sh script to build GCC snapshots. r=tbsaunde 2015-04-15 09:21:23 +09:00
Ryan VanderMeulen 0f0c55ff2e Backed out changeset e3d23172f0fe (bug 1085557) for nightly symbol upload failures. a=me 2015-03-25 13:42:46 -04:00
Ted Mielczarek f66ee346e8 bug 1085557 - Add Socorro symbol upload token file to mozconfigs. r=coop
--HG--
extra : rebase_source : a34863a40c87c3cc63ab0b34ebb8028261b4ec5d
extra : source : 3c62d97274352feb330eaa8721c0c364e2dbfc8c
2015-02-27 08:58:57 -05:00
Mike Shal 47434653c0 Bug 1137000 - Enable SDK building on nightlies; r=glandium 2015-03-17 15:29:07 -04:00
Mike Shal 48668314ac Bug 1141534 - fix mulet nightly mozconfigs; r=bhearsum
We don't want uploadsymbols or update-packaging for nightly mulet
builds, but these were being set by the underlying browser mozconfigs.
2015-03-10 16:20:02 -04:00
Masatoshi Kimura bf312ad056 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Georg Koppen 144cfd9761 Bug 1067893 - Detect OTOOL in configure. r=glandium 2014-11-25 05:12:00 -05:00
Mike Hommey 47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Nicholas Nethercote f5bc18d01c Bug 1089446 - Reimplement build/unix/uniq.pl in Python, and remove its unit test. r=gps.
--HG--
extra : rebase_source : 5e7ebf7a59a5966b1af5c8a3165b53bb7bd42770
2014-10-28 15:04:03 -07:00
Nathan Froyd 55201694e6 Bug 1089832 - remove build/unix/abs2rel.pl; r=glandium 2014-10-27 16:02:50 -04:00
Mike Shal 2bf82236cc Bug 1084163 - Remove 'make check' from automation/build; r=glandium
'make check' is somewhat special in that we want to trigger testers
before it finishes. Since moving sendchange into mach is difficult and
'make check' may be going away in the future anyway, just pull it out
for now.

Also remove the MOZ_AUTOMATION_*_SENDCHANGE flags since we aren't using
them.
2014-10-23 11:30:17 -04:00
Carsten "Tomcat" Book e8315632eb Backed out changeset f353f95ad293 (bug 1084157) for ASAN Test Bustage on a CLOSED TREE 2014-10-22 15:52:03 +02:00
Ehsan Akhgari 7f28b2b06f Bug 1084157 - Make --enable-address-sanitizer pass the correct -fsanitize arguments to the toolchain; r=glandium 2014-10-22 08:30:05 -04:00
Mike Hommey 203b345279 Bug 1059255 - Stop building stdc++compat as a real library. r=mshal
Incidentally, this makes the build fail because stdc++compat.o then appears
twice on the libxul linkage command line. This, in turn, is because
widget/xremoteclient creates both a program and an intermediate library for
libxul. The Program() template adds stdc++compat to the directory data,
which ends up being added to libxul as well. The same kind of issue arises
when linking the gtest-enabled libxul.

While eventually we'll be able to avoid those problems, it's not the case
yet, so work around the issue by making expand-libs skip .desc files that
appear multiple times.
2014-09-11 12:19:28 +09:00
Mike Hommey 51f6cc88c1 Bug 1062219 - Don't build build/clang-plugin as an external directory. r=jcranmer 2014-09-04 17:44:01 +09:00
Mike Hommey ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Christian Holler 873ebc305a Bug 1051190 - Copy and package ASan dylib on OSX. r=ted
--HG--
extra : rebase_source : 1f89ecea3b088fa6816687750cbd49306fd1a1fa
2014-09-01 14:34:23 +02:00
Mike Hommey 1b6283507b Bug 1043289 - Don't declare SOURCES and USE_LIBS when there is nothing to build. r=mshal 2014-07-25 07:10:15 +09:00
Mike Hommey 1cbc85e62e Bug 1043084 - Fix elfhack test build failure with gold after bug 1036894. r=mshal 2014-07-25 07:08:34 +09:00
Mike Shal 7099264c72 Bug 978211 - various asan/mar/pretty/mach fixes; r=glandium
- Linux ASAN nightly builds do not do update packaging
 - Only set mar properties if the mar file was actually created
 - Unset MOZ_SIGN_CMD for pretty-* steps
2014-07-03 22:14:59 -04:00
Mike Hommey e24a143f0c Bug 1016641 - Add mozconfig magic for Gtk+3 builds. r=mshal 2014-06-24 07:28:32 +09:00
Mike Shal 2cd87fa675 Bug 978211 - enable MOZ_AUTOMATION_* flags in linux mozconfigs; r=glandium 2014-06-16 13:17:21 -04:00
Mike Hommey 31ad3d202a Bug 1025605 - Add stdc++-compat hack for std::__throw_out_of_range_fmt and __cxa_throw_bad_array_new_length. r=nfroyd 2014-06-19 09:06:14 +09:00
Robert O'Callahan 950332b02a Bug 1001320. Part 5: Use #pragma GCC visibility on B2G. r=glandium
--HG--
rename : config/gcc_hidden.h => config/gcc_hidden_dso_handle.h
2014-05-11 23:37:14 -07:00
Mike Hommey 63ea6f2df2 Bug 982014 - Fix what sections are copied from injection object after bug 932737. r=nfroyd 2014-04-04 14:56:36 +09:00
Christian Holler 18153c17f2 Bug 957865 - Adjust clang build script/patches for r200213. r=rail
--HG--
extra : rebase_source : 38ba07b51cf6fe5e6ed34f3f8d4dde07766c214f
2014-03-28 19:06:13 +01:00
Ehsan Akhgari 17f4a32d8b Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Ehsan Akhgari 667b4bc049 Bug 978594 - Part 3: Port some of the per-source flags to moz.build; r=glandium
--HG--
extra : rebase_source : fe4cd059eddda221af420e1517250772816d7ee8
2014-03-02 15:41:32 -05:00
Mike Hommey 80e79be833 Bug 462427 - Stop requiring CROSS_COMPILE being set. r=ted 2014-02-11 10:37:46 +09:00
Mike Hommey 241c0a5d19 Bug 965122 - Add gcc patch for PR55650, r=tbsaunde 2014-01-29 13:02:49 +09:00
Trevor Saunders 486d3b4416 bug 938510 - use gcc from tooltool for everything but b2g desktop and valgrind r=glandium 2014-01-30 16:16:19 -08:00
Mike Shal 7338071654 Bug 875013 - VPATH removals in build, roboextender, crashreporter; r=ted 2014-01-21 18:01:22 -05:00
Frank Wein 3831dd14f5 Bug 936790 - (gcc 4.5) Build error: "We don't want these libstdc++ symbols to be used" when building with --enable-stdcxx-compat and WebRTC, r=glandium 2013-12-25 13:42:40 +01:00
Mike Hommey 62d390485a Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Mike Hommey 881a7c1554 Bug 943728 - Replace double quotes with single quotes in Makefiles (or remove them when it makes sense). r=mshal 2013-12-03 06:34:21 +09:00
Mike Hommey 004e0ed1ac Bug 944558 - Refactor config/makefiles/debugmake.mk for more correctness, and remove old cruft. r=gps
Also remove use of print-depth-path.sh in UPDATE_TITLE.
2013-12-01 07:20:19 +09:00
Mike Hommey 8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey 682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Mike Hommey 0907679faf Bug 940250 - Fix elfhack -r after bug 822584. r=nfroyd 2013-11-21 17:27:30 +09:00
Trevor Saunders 21920c8e04 backout 6fd717549b5a bug 938510 because b2g desktop builds don't seem to pull tooltool packages 2013-11-20 21:39:05 -05:00
Trevor Saunders f1c71b3e58 bug 938510 - switch to gcc 4.7.3 and latest stable binutils from tooltool r=glandium 2013-11-20 21:04:25 -05:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Birunthan Mohanathas 1bde8d50d8 Bug 784739 - Switch from NULL to nullptr in build/; r=ehsan 2013-11-11 14:13:38 -05:00
Mike Hommey f932a1fe70 Bug 862770 - Fix --disable-compile-environment a little. r=gps
--HG--
rename : config/makefiles/target_libs.mk => config/makefiles/target_binaries.mk
rename : js/src/config/makefiles/target_libs.mk => js/src/config/makefiles/target_binaries.mk
2013-11-07 10:37:45 +09:00
Mike Hommey 3ec8e4f197 Bug 932737 - Change elfhack such that it doesn't require two injection objects. r=nfroyd 2013-11-02 08:47:24 +09:00
Mike Hommey 00a70f6f7d Bug 933120 - Move HOST_PROGRAM and HOST_SIMPLE_PROGRAMS to moz.build. r=gps 2013-11-02 08:44:11 +09:00
Trevor Saunders c59a010330 bug 913442 - rewrite build-gcc.py r=glandium DONTBUILD because NPOTB 2013-09-12 01:14:32 -04:00
Mike Hommey 84fe98b48f Bug 870406 part n - Move more CSRCS to moz.build. r=mshal 2013-11-01 10:30:45 +09:00
Mike Hommey db283ea9de Bug 932112 - Add stdc++-compat hack for std::__detail::_List_node_base::_M_reverse, necessary for webrtc update. r=nfroyd 2013-10-30 07:42:58 +09:00
Cykesiopka d2f6b7333c Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey d8daefaa34 Bug 664362 - Generate depfiles for host objects/programs/libraries. r=gps 2013-10-22 13:40:27 +09:00
Ehsan Akhgari b7d148db05 Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium 2013-10-17 00:36:13 -04:00
Phil Ringnalda b808ef7069 Back out ee100983f921 (bug 895047) for build bustage
CLOSED TREE
2013-10-16 21:51:55 -07:00
Ehsan Akhgari 5582e7b472 Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium 2013-10-17 00:36:13 -04:00
Nathan Froyd 036526a684 Bug 925330 - don't use HAVE_64BIT_OS when building elfhack; r=glandium 2013-10-10 09:31:29 -04:00
Ms2ger 95f3379d62 Bug 912438 - Part a: Move CSRCS to Makefile.in in build/unix/elfhack/inject; r=glandium 2013-10-03 09:10:01 +02:00
Benjamin Peterson d0f5dea659 Bug 922190 - Remove bundled copy of simplejson. r=gps
--HG--
extra : rebase_source : 5d33bafacd732e6bfb7acb6bb4d171eabb7d258a
2013-10-01 10:32:58 -04:00
Christian Holler 01aa013cea Bug 917242 - Symbolize ASan traces in automation. r=ted 2013-09-20 13:37:53 +02:00
Joey Armstrong a5a9fe258e bug 870406: move CSRCS to mozbuild - patch #4. r=mshal 2013-09-20 16:46:57 -04:00
Joey Armstrong d1be2c217c bug 888009: move HOST_CPPSRCS to mozbuild (batch #2) r=mshal 2013-09-12 13:32:27 -04:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Ms2ger 04a948975a Bug 906619 - Part a: Move unconditional CSRCS to moz.build; r=mshal 2013-08-22 08:56:02 +02:00
Nathan Froyd 8a9ab9e177 Bug 902104 - upgrade to GCC 4.7.3; r=gps 2013-08-06 12:39:11 -04:00
Mike Hommey 9aec57a82e Bug 899405 - Allow host and target compilers to depend on stdc++-compat independently. r=ted 2013-07-31 14:04:23 +09:00
Mike Hommey 8a3516b805 Bug 898998 - Turn BL into BLX when doing thumb call relocations and the target is ARM. r=nfroyd 2013-07-30 08:57:28 +09:00
Mike Shal 28c6bc5279 Bug 888016 - Support compilation in subdirectories without VPATH; r=gps 2013-07-02 17:40:17 -04:00
Christian Holler ce0f947827 Bug 898484 - Add --enable-stdcxx-compat to mozconfig.asan. r=bustage-fix 2013-07-26 19:43:12 +02:00
Mike Hommey 08b47d18bd Bug 892366 - Support R_ARM_CALL relocations in elfhack. r=nfroyd 2013-07-23 07:26:06 +09:00
Mike Hommey 6900414df5 Bug 895248 - Move --enable-stdcxx-compat in build/unix/mozconfig.linux. r=ted 2013-07-21 13:58:23 +09:00
Ryan VanderMeulen 3ab99c254f Merge inbound to m-c. 2013-07-12 13:29:35 -04:00
Rail Aliiev 8493cf922e Bug 886842 - Add clang trunk builds for ASan. r=froydnj 2013-07-12 13:14:57 -04:00
Ed Morley b4b2710596 Merge latest green inbound changeset and mozilla-central 2013-07-11 10:10:13 +01:00
Rail Aliiev ec12449cd0 Bug 886842 - Add clang trunk builds for ASan. r=bhearsum DONTBUILD 2013-07-10 15:35:57 -04:00
Gregory Szorc 19850b9b8e Bug 891632 - Port NO_DIST_INSTALL to moz.build; r=joey
Many of the moved variables are likely not needed. moz.build should one
day validate the sandbox's output and error if "useless" variables are
present.

--HG--
extra : rebase_source : 3abdea056c18d00ede8c15b37db60532eca58630
2013-07-10 12:08:21 -07:00
Mike Hommey f5294e4f6a Bug 892355 - Force enable elfhack with --enable-elf-hack. r=ted 2013-07-12 09:15:10 +09:00
Mike Hommey bad860423d Bug 892366 - Support R_ARM_JUMP24 relocations in elfhack. r=nfroyd 2013-07-12 09:14:20 +09:00
Rail Aliiev 5c1fe496e8 Bug 870173 - Upgrade to clang 3.3. r=ehsan DONTBUILD 2013-07-09 09:56:28 -04:00
Brian O'Keefe 11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Joey Armstrong dbbef415ed bug 872087: mozbuild HOST_LIBRARY_NAME conversion cleanup. r=gps 2013-06-19 09:19:25 -04:00
Joey Armstrong 722eab8a6b bug 872087: move HOST_LIBRARY to moz.build (file batch #1). r=mshal 2013-06-10 12:21:32 -04:00
Mike Hommey 566efaa73a Bug 873334 - Add -march=pentiumpro when building in x64 buildbot environments. r=ted 2013-05-28 09:42:58 +02:00
Mike Shal 5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Mike Hommey 9da0a2d33f Bug 859966 - Switch linux builds to gcc 4.7.2. r=gps 2013-05-17 08:21:45 +02:00
Ryan VanderMeulen aab85fbf26 Backed out changeset e40466e428dc (bug 853301) for breaking cross-compiles. 2013-05-08 08:27:00 -04:00
Norbert Lindenberg 66110995b2 Bug 853301 - Enable ECMAScript Internationalization API for desktop Firefox. r=gps, r=brendan, sr=asa 2013-05-06 16:45:25 -07:00
Mike Hommey beabd37d57 Bug 864262 - Allow to do 32-bits linux builds in x86-64 mock environments. r=ted 2013-04-24 19:34:48 +02:00
Nathan Froyd 82ad423a28 Bug 861909 - only add ARM support for clang and llvm on linux; r=glandium
DONTBUILD because NPOTB
2013-04-15 11:52:07 -04:00
Mike Hommey cb9f22d4b6 Bug 462463 - Remove mddepend.pl. r=ted 2013-04-14 10:14:31 +02:00
Mike Hommey 22ca629259 Bug 462463 - Add missing add_phony_targets.py file. r=me 2013-04-14 10:12:33 +02:00
Phil Ringnalda d2d374b265 Back out 390be7c3dd3a (bug 853301) and 029a6cc8ca0a (bug 724533) for b2g desktop Windows build bustage and Windows xpcshell orange
CLOSED TREE
2013-04-13 13:31:01 -07:00
Norbert Lindenberg dda00a2002 Bug 853301 - Enable ECMAScript Internationalization API for desktop Firefox. r=gps, r=brendan, sr=asa 2013-04-13 12:27:27 -04:00
Nathan Froyd eb2715f222 Bug 860860 - followup: fix json.dump call and be more explicit about object ordering; r=gps
It turns out the simple s/simplejson/json/ didn't work because
build_tooltool_manifest used item_sort_key to ensure that the objects
read in were written out in the same order.  This scheme was brittle,
since it only understand a couple of keys from the manifest file, and it
doesn't work with the stdlib json.

Instead, use object_pairs_hook=collections.OrderedDict with json.load,
which ensures that current objects get written out in the same order
they were read in *and* that any future keys will be handled
automagically.

DONTBUILD because NPOTB
2013-04-11 16:57:54 -04:00
Nathan Froyd e7d0400d09 Bug 860860 - use json instead of simplejson in build-clang.py; r=gps
DONTBUILD because NPOTB
2013-04-11 14:59:59 -04:00
Kyle Machulis 72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis 43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis 334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Hommey 8376bad5eb Bug 854914 - Allow clang to build in C++11 mode by working around http://llvm.org/bugs/show_bug.cgi?id=13530. r=ted 2013-03-27 07:51:14 +01:00
Joshua Cranmer c45fad25b0 Bug 852745 - Build clang with gcc 4.7 headers, r=rail. DONTBUILD
--HG--
extra : rebase_source : 33518aae835d12387a8fb7f1cdfe8c8e29f5bd2a
2013-03-19 15:38:00 -05:00
Mike Shal 7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Kyle Huey 62c6138093 Back out Bug 462463 for massively regressing pymake depend build speed. CLOSED TREE 2013-03-18 12:57:35 -07:00
Mike Hommey bbd9251209 Bug 851002 - Adjust Elf headers before adding filler segment in elfhack. r=nfroyd 2013-03-17 08:03:06 +01:00
Mike Hommey 3a35c07850 Bug 462463 - Stop using mddepend.pl. r=ted 2013-03-17 07:43:35 +01:00
Ehsan Akhgari c7a237f9cd Bug 849693 - Use the new -fsanitize=address flag in the asan mozconfig; r=decoder
DONTBUILD
2013-03-11 09:33:36 -04:00
Ted Mielczarek d5095cae67 bug 779291 - Breakpad Makefile changes. r=glandium 2013-03-05 09:41:26 -05:00
Rafael Ávila de Espíndola d8fc2f4f53 Bug 846922 - Read late write stacks on windows. r=BenWa. 2013-03-01 19:39:29 -05:00
Gregory Szorc c3f2ed9adf Bug 784841 - Part 18e: Convert /build, /config, and core build system; r=ted 2013-02-25 12:47:18 -08:00
L. David Baron 285416edcb Bug 832352, patch 1: Make sure all browser mozconfigs include build/mozconfig.common and that they all include build/mozconfig.common.override last. r=ted 2013-01-22 19:16:20 +00:00
Nicholas Nethercote aac86acc69 Bug 394311 - Stop building with -pedantic. r=ted,dbaron.
--HG--
rename : content/svg/content/nsISVGPoint.cpp => content/svg/content/src/DOMSVGPoint.cpp
rename : docshell/test/browser/browser_bug234628-9.js => docshell/test/browser/browser_bug134911.js
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1-ref.html => layout/reftests/css-calc/background-image-gradient-1-ref.html
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1.html => layout/reftests/css-calc/background-image-gradient-1.html
rename : layout/reftests/w3c-css/submitted/values3/reftest.list => layout/reftests/css-calc/reftest.list
rename : layout/reftests/text/auto-hyphenation-10-ref.html => layout/reftests/text/auto-hyphenation-10.html
rename : layout/reftests/text/auto-hyphenation-8-ref.html => layout/reftests/text/auto-hyphenation-8.html
rename : layout/reftests/text/auto-hyphenation-9-ref.html => layout/reftests/text/auto-hyphenation-9.html
extra : rebase_source : 012df725d55b031ccc03d9bfcf785056d95a2ebe
2013-01-20 14:12:42 -08:00
Mike Hommey 5f391d02b5 Bug 654087 - Don't error out on gold special treatment of PT_TLS segment memsize. r=nfroyd 2013-01-16 09:15:07 +01:00
Mike Hommey 82eee42d03 Bug 822584 - Workaround in elfhack to accomodate for breakpad not handling the memory mapping induced by the elfhack/bionic linker combination. r=nfroyd 2013-01-02 10:17:32 +01:00
Rafael Ávila de Espíndola 0a95146d7e Bug 823906 - Last clang update on the 3.2 branch. r=rail.
Update the build scripts.
2012-12-24 09:53:55 -05:00
Rafael Ávila de Espíndola ad41c01e95 Bug 822464 - Upgrade clang to 170377 in the 3.2 branch. r=rail.
Update the build script.

--HG--
extra : rebase_source : 473cc8ec76dcfa53eb2e521f4bd9e8db78835c51
2012-12-18 16:22:38 -05:00
Rafael Ávila de Espíndola bd1ab35755 Bug 820256 - Upgrade clang to 169730 in the 3.2 branch. r=rail.
Update the build scripts.
2012-12-11 21:44:15 -05:00
Mike Hommey 943f5b03eb Bug 816494 part 4 - Add a -r option to elfhack that re-merges the split PT_LOADs. r=nfroyd
Sections are positioned accordingly, which means the resulting ELF binary will
have a big gap full of zero between .rel.plt and .plt.
2012-12-10 10:33:08 +01:00
Mike Hommey be11e8215d Bug 816494 part 3 - Allocate Elf instance on stack in do_file(). r=nfroyd 2012-12-10 10:33:08 +01:00
Mike Hommey f237cd4109 Bug 816494 part 2 - Move the PT_LOAD splitting logic in elfhack.cpp. r=nfroyd
Also, section offsets are not adjusted until the split is done.
2012-12-10 10:33:08 +01:00
Mike Hommey dbc8938217 Bug 816494 part 1 - When inserting a section before or after another, also insert it in the segments containing that other. r=nfroyd 2012-12-10 10:33:08 +01:00
Rafael Ávila de Espíndola c37be66269 Bug 817710 - Upgrade clang to 169139 in the 3.2 branch. r=rail.
Update the build script.
2012-12-04 13:38:55 -05:00
Rafael Ávila de Espíndola aedb996845 Bug 815216 - Upgrade clang to 168596 in the 3.2 branch. r=rail.
Update the build script.

--HG--
extra : rebase_source : 9ed24736739a8abb775cce8ff90c456300098942
2012-11-29 09:49:15 -05:00
Rafael Ávila de Espíndola 78c8991119 Bug 813076 - Upgrade clang to 168304 in the 3.2 branch. r=rail.
Update the build script.
2012-11-20 10:51:56 -05:00
Rafael Ávila de Espíndola 776d77512a Bug 811081 - Switch the clang packages to the 3.2 release branch. r=rail.
build script changes.
2012-11-13 09:37:38 -05:00
Rafael Ávila de Espíndola 8fc3796b23 Bug 799572 - clang update broke NSS. r=rail. 2012-10-20 20:50:10 -04:00
Rafael Ávila de Espíndola be3dbae154 Bug 793109 - Stacks truncated near nsDocLoader::DoFireOnStateChange. r=rail.
Update the build script.

--HG--
extra : rebase_source : 490759f884a9576ab7307a4710b1af2cfab09db6
2012-10-09 21:58:27 -04:00
Rafael Ávila de Espíndola faec962c0a Bug 797525 - Upgrade clang to version >= r163716 to fix ASan issue 109. r=rail. 2012-10-06 08:28:39 -04:00
Rafael Ávila de Espíndola 0cc34b5b47 Bug 784691 - Upgrade clang to r162360. r=rail.
build the new version.

--HG--
extra : rebase_source : 8a743e450a40b68b9d49db591cb694083c0f1eeb
2012-10-04 22:09:48 -04:00