|
Message-ID: <20130724232141.GA6531@brightrain.aerifal.cx> Date: Wed, 24 Jul 2013 19:21:41 -0400 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: C++ ABI compatibility and musl-gcc I've just committed the last of a series of changes that make it possible to load the glibc-built libstdc++.so.6 under musl. While it may look like a bit of ugliness, roughly half of the changes were needed anyway to lay the ground for future locale support; the long-term goal is to support customizable LC_TIME, LC_MONETARY, LC_COLLATE, and LC_MESSAGES, but I don't expect any of that to happen until after the 1.0 release. Anyway, back to musl-gcc. My hope was that supporting the glibc libstdc++ would make it possible to use musl-gcc to compile C++ code, which could in turn be useful for bootstrapping compilers written in C++ (gcc 4.8 or clang/LLVM). However, it seems the installed C++ headers are also full of glibc-header-specific assumptions, so using musl-gcc for C++ is not as easy as I'd hoped it might be. I''ve already spent a great deal of time and effort onthis C++ ABI topic and would rather focus on release prep and other issues for a while now. But perhaps someone interested in this topic could do some research and see if the idea of using musl-gcc for C++ can be salvaged. Here are some possible approaches: 1. Figuring out what's wrong with the headers and working around it. Or, in other words: <chris2> lets write a musl-fixincludes :P 2. Determining if the C++ headers that result from building a musl-targetted libstdc++ are clean and arch-agnostic, and if so, just packaging them up in a tarball that users could download and install. Whichever approach is taken, if we get this working there should be a doc on the wiki explaining what to do. This would include not only dealing with the header issue, but also things like copying libstdc++.so.6 into $(prefix)/lib or similar. By the way, merely running existing C++ apps linked against glibc IS possible under musl now, and it should work with either the original glibc libstdc++.so.6 or the (new, post-ABI-fixes) musl libstdc++.so.6. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.