diff options
author | Nathan Rossi <nathan@nathanrossi.com> | 2017-07-18 16:36:29 +1000 |
---|---|---|
committer | Nathan Rossi <nathan@nathanrossi.com> | 2017-08-20 00:34:28 +1000 |
commit | 038f1b148372baab51a5b41017271e69030b7bbf (patch) | |
tree | 0221cbcfffc4fe2dec44001f3f81c7df7519bff1 | |
parent | 4afe9d6ca35ddea3be84e93f4a30933bfb034b4c (diff) | |
download | meta-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>
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 @@ | |||
1 | From 873fc4bf58d6cc8d579a65224350ce3adddc6c2a Mon Sep 17 00:00:00 2001 | ||
2 | From: Nathan Rossi <nathan@nathanrossi.com> | ||
3 | Date: Wed, 23 Nov 2016 22:30:29 +1000 | ||
4 | Subject: [PATCH] MicroBlaze: fix up pt-vfork symbol definitions | ||
5 | |||
6 | Due to the reuse of the alpha/pt-vfork.S implementation additional | ||
7 | symbols are emitted for libpthread which are invalid due to the | ||
8 | non-existence of a '__libc_vfork' symbol/implementation. A symbol is | ||
9 | emitted which references __libc_vfork and is invalid which causes the | ||
10 | linker to emit a corrupt symbol entry: | ||
11 | |||
12 | 180: 00000000 0x24a91 NOTYPE LOCAL DEFAULT UND <corrupt> | ||
13 | |||
14 | Depending on the internals of the linker this corrupt symbol is either a | ||
15 | valid symbol as above or an completely invalid symbol that causes issues | ||
16 | when linking against libpthread.so: | ||
17 | |||
18 | 179: 0000564b 0x825fd688 <OS specific>: 11 <unknown>: 4 HIDDEN | ||
19 | [<other>: 54] UND <corrupt> | ||
20 | |||
21 | In both cases this is the 'vfork@GLIBC_2.18' compat_symbol which is | ||
22 | aliased as the local '__libc_vfork'. (in libpthread.so) | ||
23 | |||
24 | 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND vfork@GLIBC_2.18 | ||
25 | |||
26 | Due to how MicroBlaze differs from other architectures, it is special in | ||
27 | that it only implements '__vfork' and due to the weak_alias in vfork.S | ||
28 | also defines 'vfork' for both libc and libpthread. No other symbols | ||
29 | (e.g. '__vfork_compat') are part of the ABI. | ||
30 | |||
31 | This change removes the compatible symbol generation provided by | ||
32 | alpha/pt-vfork.S and sets up the 'vfork' and '__vfork' symbols to be | ||
33 | provided in libpthread based on SHLIB_COMPAT. This avoids the generation | ||
34 | of invalid symbols but maintains the expected libc and libpthread vfork | ||
35 | ABIs. | ||
36 | |||
37 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | ||
38 | Upstream-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 | |||
44 | diff --git a/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S | ||
45 | index 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 | + | ||
89 | diff --git a/sysdeps/unix/sysv/linux/microblaze/vfork.S b/sysdeps/unix/sysv/linux/microblaze/vfork.S | ||
90 | index 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 | -- | ||
104 | 2.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 | |||
2 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
3 | SRC_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 | |||
2 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
3 | SRC_URI += "file://MicroBlaze-fix-up-pt-vfork-symbol-definitions.patch" | ||
4 | |||