This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/51646] Make libgfortran compile on Android
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 18 Apr 2012 12:36:18 +0000
- Subject: [Bug libfortran/51646] Make libgfortran compile on Android
- Auto-submitted: auto-generated
- References: <bug-51646-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51646
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-04-18 12:36:18 UTC ---
(In reply to comment #5)
> Another build problem at
> http://stackoverflow.com/questions/10202966/android-ndk-fortran-build-of-lapack-problems-with-unresolved-sincos
Judging from the line given at the stackoverflow posting, the problem is
related to:
COMPLEX_ASSIGN (v, cosf (b), sinf (b));
Thus, the middle-end should convert this into a sincosf - but only if it is
available. Given that the compilation is for arm-linux-androideabi, I assume
that gcc/config/linux.h applies, which has:
/* Whether we have sincos that follows the GNU extension. */
#undef TARGET_HAS_SINCOS
#define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC)
For Android/Bionic, one finds:
/bionic/libc/docs/CHANGES.TXT
...
Differences between Android 2.3 and Android 2.2:
...
- <math.h>: Added sincos(), sincosf() and sincosl() (GLibc compatibility).
Cf. http://source-android.frandroid.com/bionic/libc/docs/CHANGES.TXT
Hence, there are two options:
a) Using a newer Bionic
b) Manually patch gcc/config/linux.h to simply claim that no sincos is
available.
The latter is what is also suggested at
https://bugs.launchpad.net/linaro-android/+bug/908125