Closed Bug 1337233 Opened 7 years ago Closed 7 years ago

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

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox54 fixed)

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: ehsan.akhgari, Unassigned)

References

Details

Attachments

(2 files)

Follow-up from bug 1331957.
Ted, this bug will update us to use a newer ld on TaskCluster OS X builds.
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)
(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).
(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.
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
https://hg.mozilla.org/mozilla-central/rev/5c2989b448e9
https://hg.mozilla.org/mozilla-central/rev/c16d9ee39ff4
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Blocks: st-an-3.9
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: