[cfe-dev] Clang should natively support fortran

Dimitry Andric via cfe-dev cfe-dev at lists.llvm.org
Thu Jun 23 02:19:33 PDT 2016


On 23 Jun 2016, at 00:15, Yuri via cfe-dev <cfe-dev at lists.llvm.org> wrote:
> 
> On 06/22/2016 14:40, Joerg Sonnenberger via cfe-dev wrote:
>> This is FUD. You can certainly mix compiled C++ between GCC and Clang as
>> long as you use a consistent STL implementation and avoid versions of
>> GCC that are no longer compatible with the Itanium ABI (aka using the
>> cxxabi crap).
> 
> 
> Sorry, my description wasn't accurate.
> 
> 
> The real problem is that clang-built executables link with the older version of libgcc_s.so (/lib/libgcc_s.so.1), and the current gcc supplies its own version, ex. /usr/local/lib/gcc48/libgcc_s.so These two libgcc_s.so are in conflict. The reason why FreeBSD base system has an older version has to do with the changed gcc license, which became incompatible. The reason clang-built executables link with /lib/libgcc_s.so.1 is that an "unwind" API is only implemented there.

This is a long standing problem with the FreeBSD gcc ports, which is completely orthogonal to any fortran issue.  The different versions of gcc all use different versions of their support libraries (of which libgcc is just one), and while these are usually backwards compatible, from gcc 4.3 onwards they are all under GPLv3.  Therefore we never imported them into the FreeBSD base system.

Right at this moment some different solutions for this problem are being discussed, such as patching up the different gcc version to automatically add appropriate RPATH entries to the right location for their support libraries.  But there are many ways of solving this, each with their own advantages and disadvantages; there is no consensus yet.


> I guess the real question is: what is the best replacement of an unwind API? Does clang/llvm supply it? Or what is the best solution of this problem?

Ed Maste is already working on import the LLVM version of libunwind, which is under the usual dual MIT/UIUC license.  But it is still an ongoing project.


> This problem has been in FreeBSD for a long while, with no solution in sight. It is related to clang, so I decided to ask here for an opinion.

I disagree: it has nothing to do with clang or llvm, and everything to do with the way the FreeBSD ports packaging of gcc versions has been done for years.  Please start discussing this on the FreeBSD ports mailing list instead.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160623/d573def9/attachment.sig>


More information about the cfe-dev mailing list