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)
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+
rail
:
checked-in+
|
Details | Diff | Splinter Review |
|
729 bytes,
patch
|
rail
:
review+
rail
:
checked-in+
|
Details | Diff | Splinter Review |
|
3.76 KB,
patch
|
espindola
:
review+
rail
:
checked-in+
|
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 #597469 -
Flags: review?(rail)
| Assignee | ||
Updated•14 years ago
|
Attachment #597439 -
Flags: review?(rail) → review+
| Assignee | ||
Updated•14 years ago
|
Attachment #597469 -
Flags: review?(rail) → review+
Attachment #597486 -
Flags: review?(rail)
| Assignee | ||
Comment 5•14 years ago
|
||
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+
Comment on attachment 597469 [details] [diff] [review]
update the clang we build on OS X
https://hg.mozilla.org/build/braindump/rev/461f5ebcc32a
Attachment #597469 -
Flags: checked-in+
Comment on attachment 597439 [details] [diff] [review]
Update clang and include compiler-rt
https://hg.mozilla.org/build/rpm-sources/rev/33186ef74ac7
Attachment #597439 -
Flags: checked-in+
Attachment #597486 -
Attachment is obsolete: true
Attachment #597517 -
Flags: review?(rail)
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 | ||
Updated•14 years ago
|
Assignee: respindola → rail
Priority: P3 → P2
| Assignee | ||
Comment 10•14 years ago
|
||
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 :-(
| Assignee | ||
Comment 12•14 years ago
|
||
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)
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)
Attachment #597469 -
Attachment is obsolete: true
Attachment #599129 -
Flags: review?
Attachment #599129 -
Flags: review? → review?(rail)
Attachment #597517 -
Attachment is obsolete: true
Attachment #599131 -
Flags: review?
Attachment #599131 -
Flags: review? → 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.
| Assignee | ||
Updated•14 years ago
|
Attachment #599129 -
Flags: review?(rail) → review+
| Assignee | ||
Updated•14 years ago
|
Attachment #599128 -
Flags: review?(rail) → review+
| Assignee | ||
Updated•14 years ago
|
Assignee: respindola → rail
Comment on attachment 599129 [details] [diff] [review]
update clang to 150886 on os x
https://hg.mozilla.org/build/braindump/rev/4b6c568c3582
Attachment #599129 -
Flags: checked-in+
Comment on attachment 599128 [details] [diff] [review]
update clang to 150886 on linux
https://hg.mozilla.org/build/rpm-sources/rev/2600c0025833
Attachment #599128 -
Flags: checked-in+
| Assignee | ||
Updated•14 years ago
|
Attachment #599622 -
Flags: review?(rail) → review+
Comment on attachment 599622 [details] [diff] [review]
remove cpuid.h
https://hg.mozilla.org/build/braindump/rev/cee4cdf16220
Attachment #599622 -
Flags: checked-in+
| Assignee | ||
Comment 21•14 years ago
|
||
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 #599131 -
Flags: review?(rail)
| Assignee | ||
Updated•14 years ago
|
Attachment #600406 -
Flags: review?(rail) → review+
| Assignee | ||
Updated•14 years ago
|
Attachment #600407 -
Flags: review?(rail) → review+
| Assignee | ||
Updated•14 years ago
|
Assignee: respindola → rail
| Assignee | ||
Comment 26•14 years ago
|
||
Comment on attachment 600406 [details] [diff] [review]
Update clang to 151367 on linux
http://hg.mozilla.org/build/rpm-sources/rev/a967e43c2317
Attachment #600406 -
Flags: checked-in+
| Assignee | ||
Comment 27•14 years ago
|
||
Comment on attachment 600407 [details] [diff] [review]
Update clang to 151367 on os x
http://hg.mozilla.org/build/braindump/rev/79db3c80df4d
Attachment #600407 -
Flags: checked-in+
| Assignee | ||
Comment 28•14 years ago
|
||
Attachment #599131 -
Attachment is obsolete: true
| Assignee | ||
Comment 29•14 years ago
|
||
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+
| Assignee | ||
Comment 31•14 years ago
|
||
Comment on attachment 600610 [details] [diff] [review]
puppet-manifests
http://hg.mozilla.org/build/puppet-manifests/rev/063a1aba7648
Attachment #600610 -
Flags: checked-in+
| Assignee | ||
Comment 32•14 years ago
|
||
The package should be available on all build machines by tomorrow.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Updated•13 years ago
|
Product: mozilla.org → Release Engineering
You need to log in
before you can comment on or make changes to this bug.
Description
•