diff options
Diffstat (limited to 'meta/recipes-devtools')
3 files changed, 129 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc index aa011fd03d..4adafd50fe 100644 --- a/meta/recipes-devtools/gcc/gcc-5.3.inc +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc @@ -85,6 +85,8 @@ SRC_URI = "\ file://0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch \ file://0054-support-ffile-prefix-map.patch \ file://0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \ + file://0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch \ + file://0057-unwind-fix-for-musl.patch \ " BACKPORTS = "" @@ -132,7 +134,6 @@ EXTRA_OECONF_INITIAL = "\ " EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " -EXTRA_OECONF_append_libc-musl = " gcc_cv_libc_provides_ssp=yes gcc_cv_target_dl_iterate_phdr=yes " EXTRA_OECONF_PATHS = "\ --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch b/meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch new file mode 100644 index 0000000000..97913420e0 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch @@ -0,0 +1,85 @@ +From 5c7bd853c8703f65904083778712ef625c3f3814 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 27 Mar 2016 20:31:50 -0700 +Subject: [PATCH 56/57] Enable libc provide ssp and + gcc_cv_target_dl_iterate_phdr for musl + + * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. + (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. + * configure: Regenerate. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Backport + + gcc/configure | 7 +++++++ + gcc/configure.ac | 7 +++++++ + 2 files changed, 14 insertions(+) + +diff --git a/gcc/configure b/gcc/configure +index fcb05e7..81a449c 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -27814,6 +27814,9 @@ if test "${gcc_cv_libc_provides_ssp+set}" = set; then : + else + gcc_cv_libc_provides_ssp=no + case "$target" in ++ *-*-musl*) ++ # All versions of musl provide stack protector ++ gcc_cv_libc_provides_ssp=yes;; + *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) + # glibc 2.4 and later provides __stack_chk_fail and + # either __stack_chk_guard, or TLS access to stack guard canary. +@@ -27846,6 +27849,7 @@ fi + # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now + # simply assert that glibc does provide this, which is true for all + # realistically usable GNU/Hurd configurations. ++ # All supported versions of musl provide it as well + gcc_cv_libc_provides_ssp=yes;; + *-*-darwin* | *-*-freebsd*) + ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail" +@@ -27942,6 +27946,9 @@ case "$target" in + gcc_cv_target_dl_iterate_phdr=no + fi + ;; ++ *-linux-musl*) ++ gcc_cv_target_dl_iterate_phdr=yes ++ ;; + esac + + if test x$gcc_cv_target_dl_iterate_phdr = xyes; then +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 923bc9a..b08e3dc 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -5291,6 +5291,9 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library, + gcc_cv_libc_provides_ssp, + [gcc_cv_libc_provides_ssp=no + case "$target" in ++ *-*-musl*) ++ # All versions of musl provide stack protector ++ gcc_cv_libc_provides_ssp=yes;; + *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) + # glibc 2.4 and later provides __stack_chk_fail and + # either __stack_chk_guard, or TLS access to stack guard canary. +@@ -5317,6 +5320,7 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library, + # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now + # simply assert that glibc does provide this, which is true for all + # realistically usable GNU/Hurd configurations. ++ # All supported versions of musl provide it as well + gcc_cv_libc_provides_ssp=yes;; + *-*-darwin* | *-*-freebsd*) + AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes], +@@ -5390,6 +5394,9 @@ case "$target" in + gcc_cv_target_dl_iterate_phdr=no + fi + ;; ++ *-linux-musl*) ++ gcc_cv_target_dl_iterate_phdr=yes ++ ;; + esac + GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) + if test x$gcc_cv_target_dl_iterate_phdr = xyes; then +-- +2.7.4 + diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch b/meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch new file mode 100644 index 0000000000..c193587bf9 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch @@ -0,0 +1,42 @@ +From c5c33bf881a2aea355310dd90873ed39bc272b3c Mon Sep 17 00:00:00 2001 +From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Wed, 22 Apr 2015 14:20:01 +0000 +Subject: [PATCH 57/57] unwind fix for musl + +On behalf of szabolcs.nagy@arm.com + +2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca> + Szabolcs Nagy <szabolcs.nagy@arm.com> + + * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on + Linux if target provides dl_iterate_phdr. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222328 138bc75d-0d04-0410-961f-82ee72b054a4 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Backport + + libgcc/unwind-dw2-fde-dip.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c +index e1e566b..137dced 100644 +--- a/libgcc/unwind-dw2-fde-dip.c ++++ b/libgcc/unwind-dw2-fde-dip.c +@@ -59,6 +59,12 @@ + + #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ + && defined(TARGET_DL_ITERATE_PHDR) \ ++ && defined(__linux__) ++# define USE_PT_GNU_EH_FRAME ++#endif ++ ++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ ++ && defined(TARGET_DL_ITERATE_PHDR) \ + && (defined(__DragonFly__) || defined(__FreeBSD__)) + # define ElfW __ElfN + # define USE_PT_GNU_EH_FRAME +-- +2.7.4 + |