Index: src/shared/srpc/nacl.scons |
diff --git a/src/shared/srpc/nacl.scons b/src/shared/srpc/nacl.scons |
index 05bfb0c6ea27b4e7288188f1f03fa0462a9e03c7..c56c3758f6d667917e2f21c0be8efe3b68bd3912 100644 |
--- a/src/shared/srpc/nacl.scons |
+++ b/src/shared/srpc/nacl.scons |
@@ -1,7 +1,7 @@ |
# -*- python -*- |
-# Copyright 2008 The Native Client Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can |
-# be found in the LICENSE file. |
+# Copyright (c) 2011 The Native Client Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
Import('env') |
@@ -9,6 +9,14 @@ Import('env') |
# TODO(robertm): get rid of this if possible |
env.Append(CCFLAGS=['-fno-strict-aliasing']) |
+# This library is linked into irt.nexe (see src/untrusted/irt/). |
+# All IRT code must avoid direct use of the TLS ABI register, which |
+# is reserved for user TLS. Instead, ensure all TLS accesses use a |
+# call to __nacl_read_tp, which the IRT code overrides to segregate |
+# IRT-private TLS from user TLS. |
+if not env.Bit('bitcode'): |
+ env.Append(CCFLAGS=['-mtls-use-call']) |
+ |
# NOTE: keep this sync'ed with build.scons |
trusted_untrusted_shared = [ |