Hi Rainer,

Please find the corrected patch attached.  I removed some eval
statements I added for debugging.

regards,
Venkat,

On 24 January 2015 at 13:23, Venkataramanan Kumar
<venkataramanan.ku...@linaro.org> wrote:
> Hi Rainer,
>
> I reused libgcc's "host_address" test and the patch passed normal
> bootstrap in x86_64.
>
> Can you please check if this is fine ?
>
> regards,
> Venkat.
>
> On 24 January 2015 at 12:53, Rainer Orth <r...@cebitec.uni-bielefeld.de> 
> wrote:
>> Hi Venkat,
>>
>>> Yes thanks I will work on fixing this. Let me know if I need to revert
>>> the patch meanwhile.
>>
>> I don't think this is urgent enough to justify reversion.
>>
>> Thanks.
>>         Rainer
>>
>> --
>> -----------------------------------------------------------------------------
>> Rainer Orth, Center for Biotechnology, Bielefeld University
Index: libsanitizer/ChangeLog
===================================================================
--- libsanitizer/ChangeLog      (revision 220077)
+++ libsanitizer/ChangeLog      (working copy)
@@ -1,5 +1,10 @@
 2015-01-25  Venkataramanan Kumar  <venkataramanan.ku...@linaro.org>
 
+       * configure.ac: Set host_address to 64 or 32.
+       * configure: Regenerate.
+
+2015-01-25  Venkataramanan Kumar  <venkataramanan.ku...@linaro.org>
+
        * configure.ac (TSAN_TARGET_DEPENDENT_OBJECTS): Define.
        * configure: Regenerate.
        * tsan/Makefile.am (EXTRA_libtsan_la_SOURCES): Define.
Index: libsanitizer/configure
===================================================================
--- libsanitizer/configure      (revision 220077)
+++ libsanitizer/configure      (working copy)
@@ -16363,12 +16363,29 @@
 
 fi
 
-case "${target}" in
- x86_64-*-linux-*) TSAN_TARGET_DEPENDENT_OBJECTS='tsan_rtl_amd64.lo' ;;
- *) TSAN_TARGET_DEPENDENT_OBJECTS='' ;;
-esac
+# Check 32bit or 64bit.  In the case of MIPS, this really determines the
+# word size rather than the address size.
+cat > conftest.c <<EOF
+#if defined(__x86_64__) || (!defined(__i386__) && defined(__LP64__)) \
+    || defined(__mips64)
+host_address=64
+#else
+host_address=32
+#endif
+EOF
+eval `${CC-cc} -E conftest.c | grep host_address=`
+rm -f conftest.c
 
+if test "${host_address}" = "64"; then
+   case "${target}" in
+   
x86_64-*-linux-*|i?86-*-linux-*)TSAN_TARGET_DEPENDENT_OBJECTS='tsan_rtl_amd64.lo'
 ;;
+   *) TSAN_TARGET_DEPENDENT_OBJECTS='' ;;
+   esac
+else
+  TSAN_TARGET_DEPENDENT_OBJECTS=''
+fi
 
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
Index: libsanitizer/configure.ac
===================================================================
--- libsanitizer/configure.ac   (revision 220077)
+++ libsanitizer/configure.ac   (working copy)
@@ -346,10 +346,27 @@
 ])
 fi
 
-case "${target}" in
- x86_64-*-linux-*) TSAN_TARGET_DEPENDENT_OBJECTS='tsan_rtl_amd64.lo' ;;
- *) TSAN_TARGET_DEPENDENT_OBJECTS='' ;;
-esac
+# Check 32bit or 64bit.  In the case of MIPS, this really determines the
+# word size rather than the address size.
+cat > conftest.c <<EOF
+#if defined(__x86_64__) || (!defined(__i386__) && defined(__LP64__)) \
+    || defined(__mips64)
+host_address=64
+#else
+host_address=32
+#endif
+EOF
+eval `${CC-cc} -E conftest.c | grep host_address=`
+rm -f conftest.c
+
+if test "${host_address}" = "64"; then
+   case "${target}" in
+   
x86_64-*-linux-*|i?86-*-linux-*)TSAN_TARGET_DEPENDENT_OBJECTS='tsan_rtl_amd64.lo'
 ;;
+   *) TSAN_TARGET_DEPENDENT_OBJECTS='' ;;
+   esac
+else
+  TSAN_TARGET_DEPENDENT_OBJECTS=''
+fi
 AC_SUBST([TSAN_TARGET_DEPENDENT_OBJECTS])
 
 AC_OUTPUT

Reply via email to