From 49b21f0fe5fb93b30b94cc449429fd33de0652a7 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 18 Aug 2016 14:46:32 +0100
Subject: [PATCH] If you:

TCLIBC=musl bitbake unwind
TCLIBC=musl bitbake gcc-runtime -c cleansstate
TCLIBC=musl bitbake gcc-runtime

you will see libstdc++ fail to build due to finding libunwind's header file.

Khem: "When we build any of gcc components they expect to use internal version
and that works with glibc based gcc since the search headers first look into gcc
headers, however with musl the gcc headers are searched after the standard
headers ( which is by design the right thing )."

This patch hacks around the issue by looking for a define used during gcc-runtime's
build and skipping to the internal header in that case.

[YOCTO #10129]

RP 2016/8/18

Upstream-Status: Inappropriate [really need to fix gcc]

---
 include/unwind.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/unwind.h b/include/unwind.h
index 7cf128d..31c2871 100644
--- a/include/unwind.h
+++ b/include/unwind.h
@@ -23,6 +23,10 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
 
+#ifdef _GLIBCXX_SHARED
+#include_next <unwind.h>
+#endif
+
 #ifndef _UNWIND_H
 #define _UNWIND_H
 
