Closed Bug 1492663 Opened 2 years ago Closed 2 years ago

Upgrade Linux/Mac/Android builds to clang 7


(Firefox Build System :: Toolchains, enhancement)

Not set


(firefox65 fixed)

Tracking Status
firefox65 --- fixed


(Reporter: glandium, Assigned: glandium)




(1 file)

No description provided.
Depends on: 1491788
Depends on: 1492743
Depends on: 1493078
Depends on: 1493093
The cctools-port linker links against libraries from clang (for LTO),
which have different SONAMEs depending on the clang version. Which means
the linker needs to be used along the same version of clang it was built
against. Thus we also make it depend on linux64-clang-7.

But changing the dependency is not enough, cf. bug 1471905, so also
touch its build script, which it turns out, we need to do anyways
because llvm-dsymutil was renamed to dsymutil.

Relatedly, all toolchains that are built using cctools-port need to use
linux64-clang-7 too.

Building compiler-rt 7 with the OSX 10.11 SDK fails because of some
newer APIs being used in compiler-rt for xray, but this is not a feature
we use, so disable that.
No longer depends on: 1492743
Comment on attachment 9011757 [details]
Bug 1492663 - Upgrade most CI builds to clang 7

Nathan Froyd [:froydnj] has approved the revision.
Attachment #9011757 - Flags: review+
Pushed by
Upgrade most CI builds to clang 7 r=froydnj
Backed out changeset 7652cf6fa0e4 (bug 1492663) for static analysis bustage 


Failure push:

Failure log:

task 2018-09-30T06:42:59.642Z] 06:42:59     INFO -  DEBUG: | #10 0x00007f213ea73ead __libc_start_main /build/eglibc-ZYONVs/eglibc-2.13/csu/libc-start.c:276:0
[task 2018-09-30T06:42:59.643Z] 06:42:59     INFO -  DEBUG: | #11 0x00000000005d27dd _start (/builds/worker/workspace/build/src/clang/bin/clang+0x5d27dd)
[task 2018-09-30T06:42:59.643Z] 06:42:59     INFO -  ERROR: Command `/builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang -E /tmp/conftest.7BGnKn.c` failed with exit status 2.
[task 2018-09-30T06:42:59.672Z] 06:42:59     INFO -  *** Fix above errors and then restart with\
[task 2018-09-30T06:42:59.673Z] 06:42:59     INFO -                 "/usr/bin/make -f build"
[task 2018-09-30T06:42:59.673Z] 06:42:59     INFO - recipe for target 'configure' failed
[task 2018-09-30T06:42:59.674Z] 06:42:59     INFO -  make: *** [configure] Error 1
[task 2018-09-30T06:42:59.690Z] 06:42:59     INFO -  Error running mach:
[task 2018-09-30T06:42:59.691Z] 06:42:59     INFO -      ['--log-no-times', 'static-analysis', 'autotest', '--intree-tool']
[task 2018-09-30T06:42:59.692Z] 06:42:59     INFO -  The error occurred in the implementation of the invoked mach command.
[task 2018-09-30T06:42:59.693Z] 06:42:59     INFO -  This should never occur and is likely a bug in the implementation of that
[task 2018-09-30T06:42:59.694Z] 06:42:59     INFO -  command. Consider filing a bug for this issue.
[task 2018-09-30T06:42:59.695Z] 06:42:59     INFO -  If filing a bug, please include the full output of mach, including this error
[task 2018-09-30T06:42:59.696Z] 06:42:59     INFO -  message.
[task 2018-09-30T06:42:59.697Z] 06:42:59     INFO -  The details of the failure are as follows:
[task 2018-09-30T06:42:59.697Z] 06:42:59     INFO -  AttributeError: 'NoneType' object has no attribute 'substs'
[task 2018-09-30T06:42:59.697Z] 06:42:59     INFO -    File "/builds/worker/workspace/build/src/python/mozbuild/mozbuild/", line 1924, in autotest
[task 2018-09-30T06:42:59.697Z] 06:42:59     INFO -      "clang-tidy" + config.substs.get('BIN_SUFFIX', ''))
[task 2018-09-30T06:42:59.761Z] 06:42:59    ERROR - Return code: 1
[task 2018-09-30T06:42:59.762Z] 06:42:59  WARNING - setting return code to 2
[task 2018-09-30T06:42:59.762Z] 06:42:59    FATAL - 'mach static-analysis autotest --intree-tool' did not run successfully. Please check log for errors.
[task 2018-09-30T06:42:59.764Z] 06:42:59    FATAL - Running post_fatal callback...
[task 2018-09-30T06:42:59.764Z] 06:42:59    FATAL - Exiting -1
[task 2018-09-30T06:42:59.765Z] 06:42:59     INFO - [mozharness: 2018-09-30 06:42:59.764102Z] Finished static-analysis-autotest step (failed)
[task 2018-09-30T06:42:59.765Z] 06:42:59     INFO - Running post-run listener: _summarize
[task 2018-09-30T06:42:59.767Z] 06:42:59    ERROR - # TBPL FAILURE #
[task 2018-09-30T06:42:59.767Z] 06:42:59     INFO - [mozharness: 2018-09-30 06:42:59.765451Z] FxDesktopBuild summary:
[task 2018-09-30T06:42:59.768Z] 06:42:59    ERROR - # TBPL FAILURE #
Flags: needinfo?(mh+mozilla)
So what happened is that the clang-tidy toolchain unpacks to the clang directory, and replaces from clang, and clang crashes when using the from clang-tidy...
Flags: needinfo?(mh+mozilla)
Depends on: 1495641
Pushed by
Upgrade most CI builds to clang 7 r=froydnj
Backout by
Backout changeset 85ac938c7c46 to give time to toolchains to build without blocking other landings.
Pushed by
Upgrade most CI builds to clang 7 r=froydnj
Depends on: 1498072
Bug 1498072 addresses the reftest failures.
Flags: needinfo?(mh+mozilla)
Pushed by
Upgrade most CI builds to clang 7 r=froydnj
Blocks: 1501885
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Depends on: 1502021
Depends on: 1503503
Blocks: 1508547
You need to log in before you can comment on or make changes to this bug.