Closed Bug 727436 Opened 14 years ago Closed 14 years ago

Include compiler-rt with clang on Mac/Linux slaves

Categories

(Release Engineering :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: decoder, Assigned: rail)

References

Details

(Whiteboard: [sg:want])

Attachments

(3 files, 8 obsolete files)

378 bytes, patch
rail
: review+
Details | Diff | Splinter Review
729 bytes, patch
rail
: review+
Details | Diff | Splinter Review
3.76 KB, patch
espindola
: review+
Details | Diff | Splinter Review
Right now, Clang 3.0 Trunk builds are already present on OSX and Linux slaves. In order to support address sanitizer in the future, we also need the compiler-rt to be installed there. The ASan build instructions describe this step during building LLVM/Clang: https://developer.mozilla.org/en/Building_Firefox_with_Address_Sanitizer#LLVM.2FClang Installing ASan separately should no longer be required and I hope that I can also get the Clang patch out of there and have that solved differently by upstream instead.
The attached patch updates clang, includes compiler rt and updates the configure options. *) Updating clang to get more relaxed warning for default labels in a switch stament. Should make it easier to switch on OS X where we already use -Werror in some directories. *) Include compiler-rt so that asan can use it. *) Update the configure options since the support for using a non-default libstdc++ has been simplified.
Attachment #597439 - Flags: review?(rail)
Forgot to mention. I was able to build firefox with it on OS X, stage2 of the 64 bit rpm is currently building and I have just started the 32 bit bootstrap.
Attachment #597439 - Flags: review?(rail) → review+
Attachment #597469 - Flags: review?(rail) → review+
Comment on attachment 597486 [details] [diff] [review] puppet manifest lgtm Once you are ready, you can land rpm/dmg patches (not this one). Then I'll grab this bug, generate binaries and deploy using this patch.
Attachment #597486 - Flags: review?(rail) → review+
I have so far been able to: * bootstrap on linux 32 bits * bootstrap on linux 64 bits * build firefox on linux 32 bits * build universal OS X * build 64 bit debug builds on OS X I have a 32 bit debug on OS X and a 64 bit build on linux running, but so far they look good. I will do a try run once the packages are installed.
Assignee: respindola → rail
Priority: P3 → P2
Assigning back to Rafael (there are some bugs in the current version, per IRC).
Assignee: rail → respindola
Priority: P2 → --
Yes, it is llvm.org/pr12018 which only shows up on 32 bit debug builds :-(
Comment on attachment 597517 [details] [diff] [review] pupet manifest that install only on 10.6 versions will be changed, removing r?
Attachment #597517 - Flags: review?(rail)
Attached patch update clang to 150886 on linux (obsolete) — Splinter Review
This revision has build firefox universal, 32 bit debug and 64 bit debug on OS X. I am currently building the 64 and 32 bit rpms.
Attachment #597439 - Attachment is obsolete: true
Attachment #599128 - Flags: review?(rail)
Both rpm bulids and 4 firefox builds opt/debug X 32/64 bits finished correctly, so I think this rev is good to go.
Attachment #599129 - Flags: review?(rail) → review+
Attachment #599128 - Flags: review?(rail) → review+
Assignee: respindola → rail
Attached patch remove cpuid.h (obsolete) — Splinter Review
Assignee: rail → respindola
Status: NEW → ASSIGNED
Attachment #599622 - Flags: review?(rail)
Attachment #599622 - Flags: review?(rail) → review+
Depends on: 729425
BTW, 150886 fails compiling on linux32 with the following error: COMPILE: clang_linux/full-x86_64/x86_64: /usr/src/redhat/SOURCES/llvm/projects/compiler-rt/lib/absvti2.c Assembler messages: Fatal error: No compiled in support for x86_64 clang: error: assembler command failed with exit code 1 (use -v to see invocation) make[5]: *** [/usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/tools/clang/runtime/compiler-rt/clang_linux/full-x86_64/x86_64/SubDir.lib/absvdi2.o] Error 1 make[5]: *** Waiting for unfinished jobs.... Assembler messages: Fatal error: No compiled in support for x86_64 clang: error: assembler command failed with exit code 1 (use -v to see invocation) make[5]: *** [/usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/tools/clang/runtime/compiler-rt/clang_linux/full-x86_64/x86_64/SubDir.lib/absvsi2.o] Error 1 Assembler messages: Fatal error: No compiled in support for x86_64 clang: error: assembler command failed with exit code 1 (use -v to see invocation) make[5]: *** [/usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/tools/clang/runtime/compiler-rt/clang_linux/full-x86_64/x86_64/SubDir.lib/absvti2.o] Error 1 make[5]: Leaving directory `/usr/src/redhat/SOURCES/compiler-rt' make[4]: *** [BuildRuntimeLibraries] Error 2 rm /usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/Release+Asserts/lib/clang/3.1/lib/linux/.dir make[4]: Leaving directory `/usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/tools/clang/runtime/compiler-rt' make[3]: *** [compiler-rt/.makeall] Error 2 make[3]: Leaving directory `/usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/tools/clang/runtime' make[2]: *** [all] Error 1 make[2]: Leaving directory `/usr/src/redhat/BUILD/clang-3.0-r150886.moz0/stage1/tools/clang' make[1]: *** [clang/.makeall] Error 2
(In reply to Rail Aliiev [:rail] from comment #21) > BTW, 150886 fails compiling on linux32 with the following error: > /usr/src/redhat/SOURCES/llvm/projects/compiler-rt/lib/absvti2.c > Assembler messages: > Fatal error: No compiled in support for x86_64 > clang: error: assembler command failed with exit code 1 (use -v to see > invocation) Looks like we are missing the 64 bit assembler on the bots and for some reason clang is not using the integrated one. I will try to reproduce the failure, but it worked for me the previous time. Can you try running make VERBOSE=1 to see what is the command line that is failing?
I am getting /usr/src/redhat/BUILD/clang-3.0-r151245.moz0/stage1/Release+Asserts/bin/clang -no-integrated-as -Wall -Werror -O3 -fomit-frame-pointer -m64 --sysroot=/usr/src/redhat/SOURCES/llvm/projects/compiler-rt/SDKs/linux -c -fPIC -o /usr/src/redhat/BUILD/clang-3.0-r151245.moz0/stage1/tools/clang/runtime/compiler-rt/clang_linux/full-x86_64/x86_64/SubDir.lib/absvti2.o /usr/src/redhat/SOURCES/llvm/projects/compiler-rt/lib/absvti2.c so we are using the system assembler, but it looks like the one I have supports 64 bits. It is: /usr/bin/as --version GNU assembler 2.17.50.0.6-14.el5 20061020 rpm -qf /usr/bin/as binutils-2.17.50.0.6-14.el5 Which version do you see in that bot?
I am going to do the normal bootstrap and firefox building tests. Can you try building this on a 32 bit bot? They have an assembler that is older than the one I got in my centos 5 vm :-(
Attachment #599128 - Attachment is obsolete: true
Attachment #600406 - Flags: review?(rail)
Attachment #599129 - Attachment is obsolete: true
Attachment #599622 - Attachment is obsolete: true
Attachment #600407 - Flags: review?(rail)
Attachment #600406 - Flags: review?(rail) → review+
Attachment #600407 - Flags: review?(rail) → review+
Assignee: respindola → rail
Attachment #600406 - Flags: checked-in+
Attachment #600407 - Flags: checked-in+
Attached patch puppet-manifestsSplinter Review
Attachment #599131 - Attachment is obsolete: true
Comment on attachment 600610 [details] [diff] [review] puppet-manifests Rafael, if you're happy with the current revision, I can deploy it early next week. BTW, linux32 build worked fine with the same version of assembler you use.
Attachment #600610 - Flags: review?(respindola)
(In reply to Rail Aliiev [:rail] from comment #29) > Comment on attachment 600610 [details] [diff] [review] > puppet-manifests > > Rafael, if you're happy with the current revision, I can deploy it early > next week. Yes, this version passed basic testing for me. > BTW, linux32 build worked fine with the same version of assembler you use. It should not be using the assembler anymore, so it should work with the old one too.
Attachment #600610 - Flags: review?(respindola) → review+
The package should be available on all build machines by tomorrow.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: