diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch | 37 | ||||
-rw-r--r-- | meta/recipes-support/libunwind/libunwind_git.bb | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch b/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch new file mode 100644 index 0000000000..79f63fd84e --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | If you: | ||
2 | |||
3 | TCLIBC=musl bitbake unwind | ||
4 | TCLIBC=musl bitbake gcc-runtime -c cleansstate | ||
5 | TCLIBC=musl bitbake gcc-runtime | ||
6 | |||
7 | you will see libstdc++ fail to build due to finding libunwind's header file. | ||
8 | |||
9 | Khem: "When we build any of gcc components they expect to use internal version | ||
10 | and that works with glibc based gcc since the search headers first look into gcc | ||
11 | headers, however with musl the gcc headers are searched after the standard | ||
12 | headers ( which is by design the right thing )." | ||
13 | |||
14 | This patch hacks around the issue by looking for a define used during gcc-runtime's | ||
15 | build and skipping to the internal header in that case. | ||
16 | |||
17 | [YOCTO #10129] | ||
18 | |||
19 | RP 2016/8/18 | ||
20 | |||
21 | Upstream-Status: Inappropriate [really need to fix gcc] | ||
22 | |||
23 | Index: git/include/unwind.h | ||
24 | =================================================================== | ||
25 | --- git.orig/include/unwind.h | ||
26 | +++ git/include/unwind.h | ||
27 | @@ -23,6 +23,10 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER L | ||
28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ | ||
30 | |||
31 | +#ifdef _GLIBCXX_SHARED | ||
32 | +#include_next <unwind.h> | ||
33 | +#endif | ||
34 | + | ||
35 | #ifndef _UNWIND_H | ||
36 | #define _UNWIND_H | ||
37 | |||
diff --git a/meta/recipes-support/libunwind/libunwind_git.bb b/meta/recipes-support/libunwind/libunwind_git.bb index 6d1d9fb76e..cd4cb89378 100644 --- a/meta/recipes-support/libunwind/libunwind_git.bb +++ b/meta/recipes-support/libunwind/libunwind_git.bb | |||
@@ -13,6 +13,7 @@ SRC_URI = "git://git.sv.gnu.org/libunwind.git \ | |||
13 | file://0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ | 13 | file://0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ |
14 | " | 14 | " |
15 | 15 | ||
16 | SRC_URI_append_libc-musl = " file://musl-header-conflict.patch" | ||
16 | EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests " | 17 | EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests " |
17 | 18 | ||
18 | # http://errors.yoctoproject.org/Errors/Details/20487/ | 19 | # http://errors.yoctoproject.org/Errors/Details/20487/ |