Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Issue 639113003: Add nacl-clang testing to SCons (Closed)

Created:
6 years, 2 months ago by Derek Schuff
Modified:
6 years, 2 months ago
CC:
native-client-reviews_googlegroups.com
Project:
nacl
Visibility:
Public.

Description

Add nacl-clang testing to SCons This CL adds a nacl_clang flag to SCons to use nacl-clang. It adds an implicit dependence on -lpthread to nexes because nacl-clang always links with it (because libc++ requires it). It's also enabled for PNaCl; if this ends up working out well for nacl-clang maybe we can remove the really ugly special-casing for pthread_private in pnacl-ld. It modifies or disables a few tests, so that everything now build with nacl-clang (or has a bug filed for why not). It also ifdefs out the .init and .fini sections from crti/crtn, because we do not use them with clang. R=jvoung@chromium.org, mcgrathr@chromium.org, ncbray@chromium.org BUG= https://code.google.com/p/nativeclient/issues/detail?id=3946 Committed: https://src.chromium.org/viewvc/native_client?view=rev&revision=13888

Patch Set 1 #

Total comments: 4

Patch Set 2 : review, add libc++ pthread link fix #

Total comments: 13

Patch Set 3 : review 2 #

Total comments: 6

Patch Set 4 : fix gdb path, fix libstdc++ #

Patch Set 5 : fix other libstdc++ test #

Total comments: 8

Patch Set 6 : ncbray comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+157 lines, -38 lines) Patch
M SConstruct View 1 2 3 4 5 7 chunks +28 lines, -4 lines 0 comments Download
M pnacl/support/clang_direct/crtbegin.c View 1 1 chunk +0 lines, -3 lines 0 comments Download
M site_scons/site_tools/naclsdk.py View 1 2 3 4 chunks +24 lines, -15 lines 0 comments Download
M src/trusted/validator/nacl.scons View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M src/untrusted/stubs/crti_x86_32.S View 2 chunks +17 lines, -1 line 0 comments Download
M src/untrusted/stubs/crti_x86_64.S View 2 chunks +17 lines, -0 lines 0 comments Download
M src/untrusted/stubs/crtn_x86_32.S View 2 chunks +5 lines, -1 line 0 comments Download
M src/untrusted/stubs/crtn_x86_64.S View 2 chunks +5 lines, -2 lines 0 comments Download
M tests/compiler_thread_suspension/nacl.scons View 1 chunk +1 line, -1 line 0 comments Download
M tests/exception_test/nacl.scons View 1 chunk +3 lines, -1 line 0 comments Download
M tests/fixedfeaturecpu/nacl.scons View 1 2 3 2 chunks +8 lines, -3 lines 0 comments Download
M tests/gdb/gdb_test_guest.c View 2 chunks +2 lines, -2 lines 0 comments Download
M tests/signal_handler_single_step/nacl.scons View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M tests/stubout_mode/nacl.scons View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M tests/threads/race_test.c View 1 chunk +1 line, -1 line 0 comments Download
M tests/toolchain/nacl.scons View 1 2 3 4 5 chunks +17 lines, -3 lines 0 comments Download
M tests/toolchain/synchronization_cpp11.cc View 1 2 chunks +15 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (2 generated)
Derek Schuff
6 years, 2 months ago (2014-10-08 18:58:54 UTC) #1
Derek Schuff
+mcgrathr
6 years, 2 months ago (2014-10-08 20:09:51 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/639113003/diff/1/tests/threads/race_test.c File tests/threads/race_test.c (right): https://codereview.chromium.org/639113003/diff/1/tests/threads/race_test.c#newcode53 tests/threads/race_test.c:53: foo = 0; Could just make this one case ...
6 years, 2 months ago (2014-10-08 22:40:23 UTC) #4
Derek Schuff
PTAL at the diff from pachset 1 in SConstruct. Most of the remaining test failures ...
6 years, 2 months ago (2014-10-09 16:55:42 UTC) #5
jvoung (off chromium)
https://codereview.chromium.org/639113003/diff/20001/SConstruct File SConstruct (right): https://codereview.chromium.org/639113003/diff/20001/SConstruct#newcode2974 SConstruct:2974: # stil get satisfied from libpthread instead of libpthread_private ...
6 years, 2 months ago (2014-10-09 17:35:01 UTC) #6
Derek Schuff
One more change added to disable regs_step_test for now. With these changes and the to-be-rolled ...
6 years, 2 months ago (2014-10-09 18:40:40 UTC) #7
jvoung (off chromium)
lgtm https://codereview.chromium.org/639113003/diff/20001/SConstruct File SConstruct (right): https://codereview.chromium.org/639113003/diff/20001/SConstruct#newcode3562 SConstruct:3562: # libc++) pthread. On 2014/10/09 18:40:40, Derek Schuff ...
6 years, 2 months ago (2014-10-09 19:05:02 UTC) #8
Derek Schuff
Roland, can you look at the crti/crtn files (and anything else you'd care to)?
6 years, 2 months ago (2014-10-09 21:19:50 UTC) #9
Roland McGrath
lgtm https://codereview.chromium.org/639113003/diff/320001/SConstruct File SConstruct (right): https://codereview.chromium.org/639113003/diff/320001/SConstruct#newcode2916 SConstruct:2916: using_nacl_libcxx = nacl_env.Bit('nacl_clang') Drop this variable. All it ...
6 years, 2 months ago (2014-10-09 22:01:37 UTC) #10
Derek Schuff
Jan: I went back to including pnacl and nacl-clang in using_nacl_libcxx and instead filtered lc++ ...
6 years, 2 months ago (2014-10-09 22:22:00 UTC) #11
jvoung (off chromium)
On 2014/10/09 22:22:00, Derek Schuff wrote: > Jan: I went back to including pnacl and ...
6 years, 2 months ago (2014-10-10 00:51:43 UTC) #12
Derek Schuff
On 2014/10/10 00:51:43, jvoung wrote: > On 2014/10/09 22:22:00, Derek Schuff wrote: > > Jan: ...
6 years, 2 months ago (2014-10-10 16:01:32 UTC) #13
jvoung (off chromium)
On 2014/10/10 16:01:32, Derek Schuff wrote: > On 2014/10/10 00:51:43, jvoung wrote: > > On ...
6 years, 2 months ago (2014-10-10 16:28:57 UTC) #14
Derek Schuff
ncbray, can-has review for src/trusted/validator/nacl.scons?
6 years, 2 months ago (2014-10-10 17:02:39 UTC) #16
Nick Bray (chromium)
LGTM https://codereview.chromium.org/639113003/diff/910001/SConstruct File SConstruct (right): https://codereview.chromium.org/639113003/diff/910001/SConstruct#newcode265 SConstruct:265: desc='Use native nacl-clang compiler') Bad description. Used when ...
6 years, 2 months ago (2014-10-10 19:53:25 UTC) #17
Derek Schuff
Committed patchset #6 (id:1060001) manually as 13888 (presubmit successful).
6 years, 2 months ago (2014-10-10 20:43:50 UTC) #18
Derek Schuff
6 years, 2 months ago (2014-10-10 20:56:24 UTC) #19
Message was sent while issue was closed.
https://codereview.chromium.org/639113003/diff/910001/SConstruct
File SConstruct (right):

https://codereview.chromium.org/639113003/diff/910001/SConstruct#newcode265
SConstruct:265: desc='Use native nacl-clang compiler')
On 2014/10/10 19:53:24, Nick Bray (chromium) wrote:
> Bad description.  Used when doing what?  Instead of what?  It's unclear to be
> how this affects the glibc build, etc.

Done.

https://codereview.chromium.org/639113003/diff/910001/SConstruct#newcode2965
SConstruct:2965: (['c++','pthread_private'] if using_nacl_libcxx else [])),
On 2014/10/10 19:53:24, Nick Bray (chromium) wrote:
> As a matter of curiosity, I'd like to talk about what's going on here in
person.

Acknowledged.

https://codereview.chromium.org/639113003/diff/910001/src/trusted/validator/n...
File src/trusted/validator/nacl.scons (right):

https://codereview.chromium.org/639113003/diff/910001/src/trusted/validator/n...
src/trusted/validator/nacl.scons:35: is_broken=env.Bit('bitcode') or
env.Bit('nacl_clang'))
On 2014/10/10 19:53:25, Nick Bray (chromium) wrote:
> Asking around, it may be possible to unhack this?  Pass in the compiler? 
"This
> would work fine with the other compiler." - Roland.

and in fact it did work when i changed the hardcoding. so yeah it can be
unhacked, but probably beyond the scope of this CL.

https://codereview.chromium.org/639113003/diff/910001/tests/fixedfeaturecpu/n...
File tests/fixedfeaturecpu/nacl.scons (right):

https://codereview.chromium.org/639113003/diff/910001/tests/fixedfeaturecpu/n...
tests/fixedfeaturecpu/nacl.scons:64: # are unknown because ncval is broken and
ncval_new doesn't support
On 2014/10/10 19:53:25, Nick Bray (chromium) wrote:
>
https://groups.google.com/forum/#!msg/native-client-discuss/7ORdpmZL0RI/p8GFB...

OK. but it doesn't help me in finding out the reason validation fails (i.e. what
is linked into the nexe that is not supported by the fixed feature mode)

Powered by Google App Engine
This is Rietveld 408576698