On 19 August 2017 at 03:11, Alistair Francis <[email protected]> wrote: > On Fri, Aug 18, 2017 at 9:29 AM, Alistair Francis > <[email protected]> wrote: >> The meta layer has moved to glibc 2.26 so these bbappends no longer >> apply. As these patches don't apply to glibc 2.26 and some other similar >> patches have been merged just remove these patches. >> >> Signed-off-by: Alistair Francis <[email protected]> >> --- > > Ah, my under the line was lost. > > I'm a little unsure about this one. Once this patch is applied I can't > boot the QEMU machines on QEMU. I'm not sure that is broken by this > though, or master just doesn't work as I can't build master without > this patch.
This change is expected, I've had it on my nrossi/next branch for a little while now (https://github.com/nathanrossi/meta-xilinx/commit/1f59c6ca4b8a00b7a4c93e781e4022d4bfd09206). I will add your signed off by on that commit (so as to keep the slightly more specific commit message info). Glibc 2.26 resolved the pt-vfork symbol issues. So no patches needed for glibc as of 2.26. As for broken linux boot (at least on the userspace side), that's a gcc issue, need to update the patches for 7.2. I'm working on that though. Thanks, Nathan > > Thanks, > Alistair > >> ...oBlaze-fix-up-pt-vfork-symbol-definitions.patch | 105 >> --------------------- >> .../glibc/glibc-initial_2.25.bbappend | 4 - >> recipes-microblaze/glibc/glibc_2.25.bbappend | 4 - >> 3 files changed, 113 deletions(-) >> delete mode 100644 >> recipes-microblaze/glibc/files/MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch >> delete mode 100644 recipes-microblaze/glibc/glibc-initial_2.25.bbappend >> delete mode 100644 recipes-microblaze/glibc/glibc_2.25.bbappend >> >> diff --git >> a/recipes-microblaze/glibc/files/MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch >> >> b/recipes-microblaze/glibc/files/MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch >> deleted file mode 100644 >> index ed37d63..0000000 >> --- >> a/recipes-microblaze/glibc/files/MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch >> +++ /dev/null >> @@ -1,105 +0,0 @@ >> -From 873fc4bf58d6cc8d579a65224350ce3adddc6c2a Mon Sep 17 00:00:00 2001 >> -From: Nathan Rossi <[email protected]> >> -Date: Wed, 23 Nov 2016 22:30:29 +1000 >> -Subject: [PATCH] MicroBlaze: fix up pt-vfork symbol definitions >> - >> -Due to the reuse of the alpha/pt-vfork.S implementation additional >> -symbols are emitted for libpthread which are invalid due to the >> -non-existence of a '__libc_vfork' symbol/implementation. A symbol is >> -emitted which references __libc_vfork and is invalid which causes the >> -linker to emit a corrupt symbol entry: >> - >> - 180: 00000000 0x24a91 NOTYPE LOCAL DEFAULT UND <corrupt> >> - >> -Depending on the internals of the linker this corrupt symbol is either a >> -valid symbol as above or an completely invalid symbol that causes issues >> -when linking against libpthread.so: >> - >> - 179: 0000564b 0x825fd688 <OS specific>: 11 <unknown>: 4 HIDDEN >> - [<other>: 54] UND <corrupt> >> - >> -In both cases this is the 'vfork@GLIBC_2.18' compat_symbol which is >> -aliased as the local '__libc_vfork'. (in libpthread.so) >> - >> - 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND vfork@GLIBC_2.18 >> - >> -Due to how MicroBlaze differs from other architectures, it is special in >> -that it only implements '__vfork' and due to the weak_alias in vfork.S >> -also defines 'vfork' for both libc and libpthread. No other symbols >> -(e.g. '__vfork_compat') are part of the ABI. >> - >> -This change removes the compatible symbol generation provided by >> -alpha/pt-vfork.S and sets up the 'vfork' and '__vfork' symbols to be >> -provided in libpthread based on SHLIB_COMPAT. This avoids the generation >> -of invalid symbols but maintains the expected libc and libpthread vfork >> -ABIs. >> - >> -Signed-off-by: Nathan Rossi <[email protected]> >> -Upstream-Status: Pending >> ---- >> - sysdeps/unix/sysv/linux/microblaze/pt-vfork.S | 40 >> ++++++++++++++++++++++++++- >> - sysdeps/unix/sysv/linux/microblaze/vfork.S | 4 ++- >> - 2 files changed, 42 insertions(+), 2 deletions(-) >> - >> -diff --git a/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S >> b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S >> -index 65cc3823ac..82bc36eecc 100644 >> ---- a/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S >> -+++ b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S >> -@@ -1 +1,39 @@ >> --#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S> >> -+/* vfork ABI-compatibility entry points for libpthread. >> -+ Copyright (C) 2014-2016 Free Software Foundation, Inc. >> -+ This file is part of the GNU C Library. >> -+ >> -+ The GNU C Library is free software; you can redistribute it and/or >> -+ modify it under the terms of the GNU Lesser General Public >> -+ License as published by the Free Software Foundation; either >> -+ version 2.1 of the License, or (at your option) any later version. >> -+ >> -+ The GNU C Library is distributed in the hope that it will be useful, >> -+ but WITHOUT ANY WARRANTY; without even the implied warranty of >> -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >> -+ Lesser General Public License for more details. >> -+ >> -+ You should have received a copy of the GNU Lesser General Public >> -+ License along with the GNU C Library; if not, see >> -+ <http://www.gnu.org/licenses/>. */ >> -+ >> -+#include <shlib-compat.h> >> -+ >> -+/* libpthread used to have its own vfork implementation that differed >> -+ from libc's only in having a pointless micro-optimization. There >> -+ is no longer any use to having a separate copy in libpthread, but >> -+ the historical ABI requires it. For static linking, there is no >> -+ need to provide anything here--the libc version will be linked in. >> -+ For shared library ABI compatibility, there must be __vfork and >> -+ vfork symbols in libpthread.so. */ >> -+ >> -+#if (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \ >> -+ || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)) >> -+ >> -+#include <vfork.S> >> -+ >> -+#endif >> -+ >> -+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) >> -+weak_alias (__vfork, vfork) >> -+#endif >> -+ >> -diff --git a/sysdeps/unix/sysv/linux/microblaze/vfork.S >> b/sysdeps/unix/sysv/linux/microblaze/vfork.S >> -index 9592cb4f28..b537f1ce34 100644 >> ---- a/sysdeps/unix/sysv/linux/microblaze/vfork.S >> -+++ b/sysdeps/unix/sysv/linux/microblaze/vfork.S >> -@@ -40,6 +40,8 @@ ENTRY (__vfork) >> - nop >> - >> - PSEUDO_END (__vfork) >> --libc_hidden_def (__vfork) >> - >> -+#if IS_IN (libc) >> - weak_alias (__vfork, vfork) >> -+libc_hidden_def (__vfork) >> -+#endif >> --- >> -2.10.2 >> - >> diff --git a/recipes-microblaze/glibc/glibc-initial_2.25.bbappend >> b/recipes-microblaze/glibc/glibc-initial_2.25.bbappend >> deleted file mode 100644 >> index a4beb0b..0000000 >> --- a/recipes-microblaze/glibc/glibc-initial_2.25.bbappend >> +++ /dev/null >> @@ -1,4 +0,0 @@ >> - >> -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" >> -SRC_URI += "file://MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch" >> - >> diff --git a/recipes-microblaze/glibc/glibc_2.25.bbappend >> b/recipes-microblaze/glibc/glibc_2.25.bbappend >> deleted file mode 100644 >> index a4beb0b..0000000 >> --- a/recipes-microblaze/glibc/glibc_2.25.bbappend >> +++ /dev/null >> @@ -1,4 +0,0 @@ >> - >> -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" >> -SRC_URI += "file://MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch" >> - >> -- >> 2.11.0 >> >> -- >> _______________________________________________ >> meta-xilinx mailing list >> [email protected] >> https://lists.yoctoproject.org/listinfo/meta-xilinx -- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
