[meta-xilinx] [PATCH 1/4] recipes-microblaze/glibc: Remove glibc patches
Alistair Francis
alistair.francis at xilinx.com
Fri Aug 18 10:11:44 PDT 2017
On Fri, Aug 18, 2017 at 9:29 AM, Alistair Francis
<alistair.francis at xilinx.com> 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 <alistair.francis at xilinx.com>
> ---
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.
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 <nathan at nathanrossi.com>
> -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 at GLIBC_2.18' compat_symbol which is
> -aliased as the local '__libc_vfork'. (in libpthread.so)
> -
> - 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND vfork at 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 <nathan at nathanrossi.com>
> -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
> meta-xilinx at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-xilinx
More information about the meta-xilinx
mailing list