Update cross-compile static analysis OS X builds to clang 3.9

RESOLVED FIXED in Firefox 54

Status

RESOLVED FIXED
2 years ago
8 months ago

People

(Reporter: Ehsan, Unassigned)

Tracking

(Blocks: 1 bug)

unspecified
mozilla54
Dependency tree / graph

Firefox Tracking Flags

(firefox54 fixed)

Details

Attachments

(2 attachments)

(Reporter)

Description

2 years ago
Follow-up from bug 1331957.
(Reporter)

Comment 1

2 years ago
Ted, this bug will update us to use a newer ld on TaskCluster OS X builds.
(Reporter)

Comment 2

2 years ago
Created attachment 8834238 [details] [diff] [review]
Part 1: Add llvm-dsymutil to cctools

cctools-port doesn't include dsymutil.  Since llvm-dsymutil is a
drop-in replacement for dsymutil, let's use that here.
Attachment #8834238 - Flags: review?(nfroyd)
(Reporter)

Comment 3

2 years ago
Created attachment 8834239 [details] [diff] [review]
Part 2: Update cross-compile OS X builds to clang 3.9
Attachment #8834239 - Flags: review?(nfroyd)
(In reply to :Ehsan Akhgari from comment #1)
> Ted, this bug will update us to use a newer ld on TaskCluster OS X builds.

Excellent, thanks!

(In reply to :Ehsan Akhgari from comment #2)
> Created attachment 8834238 [details] [diff] [review]
> Part 1: Add llvm-dsymutil to cctools
> 
> cctools-port doesn't include dsymutil.  Since llvm-dsymutil is a
> drop-in replacement for dsymutil, let's use that here.

We're already using llvm-dsymutil out of the clang package:
https://dxr.mozilla.org/mozilla-central/rev/af8a2573d0f1e9cc6f2ba0ab67d7a702a197f177/build/macosx/cross-mozconfig.common#33

Is that not working with clang 3.9, or am I missing something?
Comment on attachment 8834238 [details] [diff] [review]
Part 1: Add llvm-dsymutil to cctools

Review of attachment 8834238 [details] [diff] [review]:
-----------------------------------------------------------------

Wow, is llvm-dsymutil that far along?  I hadn't realized it was actually useful yet.  Last time I looked, I think it was just |int main() { return 0; }|.
Attachment #8834238 - Flags: review?(nfroyd) → review+
Attachment #8834239 - Flags: review?(nfroyd) → review+
We've actually been using llvm-dsymutil even on our non-cross-compiled Mac builds for over a year now (bug 1215748).
(Reporter)

Comment 8

2 years ago
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #5)
> (In reply to :Ehsan Akhgari from comment #2)
> > Created attachment 8834238 [details] [diff] [review]
> > Part 1: Add llvm-dsymutil to cctools
> > 
> > cctools-port doesn't include dsymutil.  Since llvm-dsymutil is a
> > drop-in replacement for dsymutil, let's use that here.
> 
> We're already using llvm-dsymutil out of the clang package:
> https://dxr.mozilla.org/mozilla-central/rev/
> af8a2573d0f1e9cc6f2ba0ab67d7a702a197f177/build/macosx/cross-mozconfig.
> common#33
> 
> Is that not working with clang 3.9, or am I missing something?

That only works on our build system where we look for this variable.  clang also needs to find dsymutil as a toolchain tool in some cases, for example when you pass -g to a clang invocation that needs to invoke the linker, clang will run dsymutil on the output of the linker.

I ran into this in the jemalloc configure script, not sure where else in the build we were not using llvm-dsymutil.

Comment 9

2 years ago
Pushed by eakhgari@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5c2989b448e9
Part 1: Add llvm-dsymutil to cctools; r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/c16d9ee39ff4
Part 2: Update cross-compile OS X builds to clang 3.9; r=froydnj

Comment 10

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/5c2989b448e9
https://hg.mozilla.org/mozilla-central/rev/c16d9ee39ff4
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox54: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
(Reporter)

Updated

2 years ago
Blocks: 1332689

Updated

8 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.