summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Rossi <nathan@nathanrossi.com>2017-07-18 16:36:29 +1000
committerNathan Rossi <nathan@nathanrossi.com>2017-08-20 00:34:28 +1000
commit038f1b148372baab51a5b41017271e69030b7bbf (patch)
tree0221cbcfffc4fe2dec44001f3f81c7df7519bff1
parent4afe9d6ca35ddea3be84e93f4a30933bfb034b4c (diff)
downloadmeta-xilinx-038f1b148372baab51a5b41017271e69030b7bbf.tar.gz
glibc: Remove 2.25 bbappend and patches
Remove the glibc 2.25 appends for MicroBlaze, glibc does not require any additional patches for MicroBlaze since 2.26. The pt-vfork issue was resolved in glibc 2.26. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
-rw-r--r--recipes-microblaze/glibc/files/MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch105
-rw-r--r--recipes-microblaze/glibc/glibc-initial_2.25.bbappend4
-rw-r--r--recipes-microblaze/glibc/glibc_2.25.bbappend4
3 files changed, 0 insertions, 113 deletions
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 ed37d634..00000000
--- a/recipes-microblaze/glibc/files/MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch
+++ /dev/null
@@ -1,105 +0,0 @@
1From 873fc4bf58d6cc8d579a65224350ce3adddc6c2a Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan@nathanrossi.com>
3Date: Wed, 23 Nov 2016 22:30:29 +1000
4Subject: [PATCH] MicroBlaze: fix up pt-vfork symbol definitions
5
6Due to the reuse of the alpha/pt-vfork.S implementation additional
7symbols are emitted for libpthread which are invalid due to the
8non-existence of a '__libc_vfork' symbol/implementation. A symbol is
9emitted which references __libc_vfork and is invalid which causes the
10linker to emit a corrupt symbol entry:
11
12 180: 00000000 0x24a91 NOTYPE LOCAL DEFAULT UND <corrupt>
13
14Depending on the internals of the linker this corrupt symbol is either a
15valid symbol as above or an completely invalid symbol that causes issues
16when linking against libpthread.so:
17
18 179: 0000564b 0x825fd688 <OS specific>: 11 <unknown>: 4 HIDDEN
19 [<other>: 54] UND <corrupt>
20
21In both cases this is the 'vfork@GLIBC_2.18' compat_symbol which is
22aliased as the local '__libc_vfork'. (in libpthread.so)
23
24 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND vfork@GLIBC_2.18
25
26Due to how MicroBlaze differs from other architectures, it is special in
27that it only implements '__vfork' and due to the weak_alias in vfork.S
28also defines 'vfork' for both libc and libpthread. No other symbols
29(e.g. '__vfork_compat') are part of the ABI.
30
31This change removes the compatible symbol generation provided by
32alpha/pt-vfork.S and sets up the 'vfork' and '__vfork' symbols to be
33provided in libpthread based on SHLIB_COMPAT. This avoids the generation
34of invalid symbols but maintains the expected libc and libpthread vfork
35ABIs.
36
37Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
38Upstream-Status: Pending
39---
40 sysdeps/unix/sysv/linux/microblaze/pt-vfork.S | 40 ++++++++++++++++++++++++++-
41 sysdeps/unix/sysv/linux/microblaze/vfork.S | 4 ++-
42 2 files changed, 42 insertions(+), 2 deletions(-)
43
44diff --git a/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
45index 65cc3823ac..82bc36eecc 100644
46--- a/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
47+++ b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
48@@ -1 +1,39 @@
49-#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S>
50+/* vfork ABI-compatibility entry points for libpthread.
51+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
52+ This file is part of the GNU C Library.
53+
54+ The GNU C Library is free software; you can redistribute it and/or
55+ modify it under the terms of the GNU Lesser General Public
56+ License as published by the Free Software Foundation; either
57+ version 2.1 of the License, or (at your option) any later version.
58+
59+ The GNU C Library is distributed in the hope that it will be useful,
60+ but WITHOUT ANY WARRANTY; without even the implied warranty of
61+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
62+ Lesser General Public License for more details.
63+
64+ You should have received a copy of the GNU Lesser General Public
65+ License along with the GNU C Library; if not, see
66+ <http://www.gnu.org/licenses/>. */
67+
68+#include <shlib-compat.h>
69+
70+/* libpthread used to have its own vfork implementation that differed
71+ from libc's only in having a pointless micro-optimization. There
72+ is no longer any use to having a separate copy in libpthread, but
73+ the historical ABI requires it. For static linking, there is no
74+ need to provide anything here--the libc version will be linked in.
75+ For shared library ABI compatibility, there must be __vfork and
76+ vfork symbols in libpthread.so. */
77+
78+#if (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
79+ || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
80+
81+#include <vfork.S>
82+
83+#endif
84+
85+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
86+weak_alias (__vfork, vfork)
87+#endif
88+
89diff --git a/sysdeps/unix/sysv/linux/microblaze/vfork.S b/sysdeps/unix/sysv/linux/microblaze/vfork.S
90index 9592cb4f28..b537f1ce34 100644
91--- a/sysdeps/unix/sysv/linux/microblaze/vfork.S
92+++ b/sysdeps/unix/sysv/linux/microblaze/vfork.S
93@@ -40,6 +40,8 @@ ENTRY (__vfork)
94 nop
95
96 PSEUDO_END (__vfork)
97-libc_hidden_def (__vfork)
98
99+#if IS_IN (libc)
100 weak_alias (__vfork, vfork)
101+libc_hidden_def (__vfork)
102+#endif
103--
1042.10.2
105
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 a4beb0b8..00000000
--- a/recipes-microblaze/glibc/glibc-initial_2.25.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
1
2FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3SRC_URI += "file://MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch"
4
diff --git a/recipes-microblaze/glibc/glibc_2.25.bbappend b/recipes-microblaze/glibc/glibc_2.25.bbappend
deleted file mode 100644
index a4beb0b8..00000000
--- a/recipes-microblaze/glibc/glibc_2.25.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
1
2FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3SRC_URI += "file://MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch"
4