diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2012-12-12 17:09:03 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2012-12-12 17:09:03 +0800 |
commit | e42abc641966570528522d61ba625e926e979ac7 (patch) | |
tree | cae2241a1d73a7fc6474c514b9748aab1f91f9d4 /gcc-4.6/gcc/config/arm/linux-atomic-64bit.c | |
parent | 7609f724df8ca390935f63243fa72e1de39d00c6 (diff) | |
download | toolchain_gcc-e42abc641966570528522d61ba625e926e979ac7.tar.gz toolchain_gcc-e42abc641966570528522d61ba625e926e979ac7.tar.bz2 toolchain_gcc-e42abc641966570528522d61ba625e926e979ac7.zip |
Fix ARM GCC 4.6/4.7 fail to links code using 64-bit atomic built-in
For ARM w/o dmb a helper function is called for 64-bit atomic
built-in, which call __write when helper version is too old.
Change to call write instead for Android.
See http://code.google.com/p/android/issues/detail?id=41297
Change-Id: I98218576c5223628c0c76870623788f07675f6e5
Diffstat (limited to 'gcc-4.6/gcc/config/arm/linux-atomic-64bit.c')
-rw-r--r-- | gcc-4.6/gcc/config/arm/linux-atomic-64bit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc-4.6/gcc/config/arm/linux-atomic-64bit.c b/gcc-4.6/gcc/config/arm/linux-atomic-64bit.c index af94c7f4a..90e2ac0e3 100644 --- a/gcc-4.6/gcc/config/arm/linux-atomic-64bit.c +++ b/gcc-4.6/gcc/config/arm/linux-atomic-64bit.c @@ -56,7 +56,11 @@ static void __check_for_sync8_kernelhelper (void) for the user - I'm not sure I can rely on much else being available at this point, so do the same as generic-morestack.c write () and abort (). */ +#if !defined(__ANDROID__) __write (2 /* stderr. */, err, sizeof (err)); +#else + write (2 /* stderr. */, err, sizeof (err)); +#endif abort (); } }; |