1 |
commit: 4b5e40fed4ed28c0abb3fc7d1c6cdeb98298b76c |
2 |
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Aug 21 22:42:03 2019 +0000 |
4 |
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Aug 21 22:42:03 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=4b5e40fe |
7 |
|
8 |
dev-libs/elfutils: 0.177 update, 0.176 sync with changes from tree |
9 |
|
10 |
Package-Manager: Portage-2.3.72, Repoman-2.3.17 |
11 |
RepoMan-Options: --force |
12 |
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org> |
13 |
|
14 |
dev-libs/elfutils/Manifest | 4 +- |
15 |
dev-libs/elfutils/elfutils-0.170-r1.ebuild | 78 ---- |
16 |
dev-libs/elfutils/elfutils-0.172.ebuild | 78 ---- |
17 |
...utils-0.176.ebuild => elfutils-0.176-r1.ebuild} | 4 +- |
18 |
...elfutils-0.173.ebuild => elfutils-0.177.ebuild} | 22 +- |
19 |
.../elfutils/files/elfutils-0.169-musl-libs.patch | 110 ------ |
20 |
.../files/elfutils-0.170-musl-obstack-fts.patch | 102 ----- |
21 |
.../elfutils/files/elfutils-0.170-musl-utils.patch | 125 ------- |
22 |
.../elfutils/files/elfutils-0.171-musl-libs.patch | 86 ----- |
23 |
.../elfutils/files/elfutils-0.171-musl-utils.patch | 134 ------- |
24 |
.../elfutils/files/elfutils-0.173-reorder.patch | 37 ++ |
25 |
.../files/elfutils-0.177-disable-large.patch | 14 + |
26 |
.../files/elfutils-0.177-portability-fixes.patch | 416 +++++++++++++++++++++ |
27 |
13 files changed, 481 insertions(+), 729 deletions(-) |
28 |
|
29 |
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest |
30 |
index 37dfc30..1e9d789 100644 |
31 |
--- a/dev-libs/elfutils/Manifest |
32 |
+++ b/dev-libs/elfutils/Manifest |
33 |
@@ -1,4 +1,2 @@ |
34 |
-DIST elfutils-0.170.tar.bz2 8358001 BLAKE2B 03ea3ba7d3feaac43065312c475f4a3cd9083a6c56c9982fa00c0ed02b28440f6a37bbeca4be18db13749647ea1c8a6f00dae7efcb1c70235110e60ad7d56d06 SHA512 aca0b5e271138eaf86e36505ffb101181207b151e833e6cd7c18986ac50678542a5ecd2250f8dd6923ca497142f197c8b08fd225e4130b16b6203c24013d6d28 |
35 |
-DIST elfutils-0.172.tar.bz2 8601066 BLAKE2B 7d4cb9944bfc258ba46312e8a4dde491f9d8fb4fa27837f6df0993107256f76e79ce02ea5872475a70ff9ebe9093e39bddf1c807be2af4bf0f6f5429f446a1ce SHA512 b2f491e976ef3067fe33ad22b3ef1952c47557571747899e94aee601bfeb95e8e1a91daad80a7950bee7feb42192769663db32eb65734ea5ffbc0b87cdad76b2 |
36 |
-DIST elfutils-0.173.tar.bz2 8684782 BLAKE2B c5905bb864059bdfb2699a0681a0ec576b6b8da444b0641e8184f58735084588910930bcca14583db6be75b24a0e374413911ded5ba2ca893798404fbe7374eb SHA512 7f38e4ce2098b685f15030bf01f0a66a74aa32fbfcead0304c1d0e0a929b348a72f99e685cd4605465f4337393382112f64b8847e6c2f7cc1a57a4fd03d03eb3 |
37 |
DIST elfutils-0.176.tar.bz2 8646075 BLAKE2B 7f23d59b7f5d74946fea928a7fada7764c1f96a5eefefc4a3a382090eb7cad07c80419218300d853ccbef8f4e2288eb443ff06b3e64bf4511d9fa7aa84f5b794 SHA512 7f032913be363a43229ded85d495dcf7542b3c85974aaaba0d984228dc9ac1721da3dc388d3fa02325a80940161db7e9ad2c9e4521a424ad8a7d050c0902915b |
38 |
+DIST elfutils-0.177.tar.bz2 8852413 BLAKE2B 03f432342651f7646d73b7847325bd14b722ce34d85df01b1ad072b916af9b9da2d0d119cd24e952073bd584ec76b027ba9b6c7d45fb057372b3e700b1f5741a SHA512 2779987463a22ed220759e25a09c9a1eb84c0f36db37675136e59aa55c7f8f90b7a7d34ffc4e6a4291d7fa73692a1bd1a303a74270b11d1623b4f9868d19498f |
39 |
|
40 |
diff --git a/dev-libs/elfutils/elfutils-0.170-r1.ebuild b/dev-libs/elfutils/elfutils-0.170-r1.ebuild |
41 |
deleted file mode 100644 |
42 |
index 732ee27..0000000 |
43 |
--- a/dev-libs/elfutils/elfutils-0.170-r1.ebuild |
44 |
+++ /dev/null |
45 |
@@ -1,78 +0,0 @@ |
46 |
-# Copyright 1999-2018 Gentoo Foundation |
47 |
-# Distributed under the terms of the GNU General Public License v2 |
48 |
- |
49 |
-EAPI=6 |
50 |
- |
51 |
-inherit autotools eutils flag-o-matic multilib-minimal |
52 |
- |
53 |
-DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" |
54 |
-HOMEPAGE="http://elfutils.org/" |
55 |
-SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" |
56 |
- |
57 |
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" |
58 |
-SLOT="0" |
59 |
-KEYWORDS="amd64 arm arm64 ia64 ~mips ppc sh sparc x86" |
60 |
-IUSE="bzip2 lzma nls static-libs test +threads +utils" |
61 |
- |
62 |
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] |
63 |
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) |
64 |
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) |
65 |
- !dev-libs/libelf" |
66 |
-DEPEND="${RDEPEND} |
67 |
- nls? ( sys-devel/gettext ) |
68 |
- >=sys-devel/flex-2.5.4a |
69 |
- sys-devel/m4 |
70 |
- elibc_musl? ( |
71 |
- sys-libs/argp-standalone |
72 |
- sys-libs/fts-standalone |
73 |
- sys-libs/obstack-standalone |
74 |
- )" |
75 |
- |
76 |
-PATCHES=("${FILESDIR}"/${PN}-0.118-PaX-support.patch) |
77 |
- |
78 |
-src_prepare() { |
79 |
- default |
80 |
- # Add MUSL patches |
81 |
- epatch "${FILESDIR}"/${P}-musl-obstack-fts.patch |
82 |
- epatch "${FILESDIR}"/${PN}-0.169-musl-libs.patch |
83 |
- epatch "${FILESDIR}"/${P}-musl-utils.patch |
84 |
- |
85 |
- eautoreconf |
86 |
- |
87 |
- if ! use static-libs; then |
88 |
- sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die |
89 |
- fi |
90 |
- sed -i 's:-Werror::' */Makefile.in || die |
91 |
-} |
92 |
- |
93 |
-src_configure() { |
94 |
- use test && append-flags -g #407135 |
95 |
- multilib-minimal_src_configure |
96 |
-} |
97 |
- |
98 |
-multilib_src_configure() { |
99 |
- ECONF_SOURCE="${S}" econf \ |
100 |
- $(use_enable nls) \ |
101 |
- $(use_enable threads thread-safety) \ |
102 |
- --program-prefix="eu-" \ |
103 |
- --with-zlib \ |
104 |
- --disable-symbol-versioning \ |
105 |
- $(use_with bzip2 bzlib) \ |
106 |
- $(use_with lzma) |
107 |
-} |
108 |
- |
109 |
-multilib_src_test() { |
110 |
- env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ |
111 |
- LC_ALL="C" \ |
112 |
- emake check |
113 |
-} |
114 |
- |
115 |
-multilib_src_install_all() { |
116 |
- einstalldocs |
117 |
- dodoc NOTES |
118 |
- # These build quick, and are needed for most tests, so don't |
119 |
- # disable their building when the USE flag is disabled. |
120 |
- if ! use utils; then |
121 |
- rm -rf "${ED}"/usr/bin || die |
122 |
- fi |
123 |
-} |
124 |
|
125 |
diff --git a/dev-libs/elfutils/elfutils-0.172.ebuild b/dev-libs/elfutils/elfutils-0.172.ebuild |
126 |
deleted file mode 100644 |
127 |
index 01620ca..0000000 |
128 |
--- a/dev-libs/elfutils/elfutils-0.172.ebuild |
129 |
+++ /dev/null |
130 |
@@ -1,78 +0,0 @@ |
131 |
-# Copyright 1999-2018 Gentoo Foundation |
132 |
-# Distributed under the terms of the GNU General Public License v2 |
133 |
- |
134 |
-EAPI=6 |
135 |
- |
136 |
-inherit autotools eutils flag-o-matic multilib-minimal |
137 |
- |
138 |
-DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" |
139 |
-HOMEPAGE="http://elfutils.org/" |
140 |
-SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" |
141 |
- |
142 |
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" |
143 |
-SLOT="0" |
144 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~sh ~sparc ~x86" |
145 |
-IUSE="bzip2 lzma nls static-libs test +threads +utils" |
146 |
- |
147 |
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] |
148 |
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) |
149 |
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) |
150 |
- !dev-libs/libelf" |
151 |
-DEPEND="${RDEPEND} |
152 |
- nls? ( sys-devel/gettext ) |
153 |
- >=sys-devel/flex-2.5.4a |
154 |
- sys-devel/m4 |
155 |
- elibc_musl? ( |
156 |
- sys-libs/argp-standalone |
157 |
- sys-libs/fts-standalone |
158 |
- sys-libs/obstack-standalone |
159 |
- )" |
160 |
- |
161 |
-PATCHES=("${FILESDIR}"/${PN}-0.118-PaX-support.patch) |
162 |
- |
163 |
-src_prepare() { |
164 |
- default |
165 |
- # Add MUSL patches |
166 |
- epatch "${FILESDIR}"/${PN}-0.170-musl-obstack-fts.patch |
167 |
- epatch "${FILESDIR}"/${PN}-0.171-musl-libs.patch |
168 |
- epatch "${FILESDIR}"/${PN}-0.171-musl-utils.patch |
169 |
- |
170 |
- eautoreconf |
171 |
- |
172 |
- if ! use static-libs; then |
173 |
- sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die |
174 |
- fi |
175 |
- sed -i 's:-Werror::' */Makefile.in || die |
176 |
-} |
177 |
- |
178 |
-src_configure() { |
179 |
- use test && append-flags -g #407135 |
180 |
- multilib-minimal_src_configure |
181 |
-} |
182 |
- |
183 |
-multilib_src_configure() { |
184 |
- ECONF_SOURCE="${S}" econf \ |
185 |
- $(use_enable nls) \ |
186 |
- $(use_enable threads thread-safety) \ |
187 |
- --program-prefix="eu-" \ |
188 |
- --with-zlib \ |
189 |
- --disable-symbol-versioning \ |
190 |
- $(use_with bzip2 bzlib) \ |
191 |
- $(use_with lzma) |
192 |
-} |
193 |
- |
194 |
-multilib_src_test() { |
195 |
- env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ |
196 |
- LC_ALL="C" \ |
197 |
- emake check |
198 |
-} |
199 |
- |
200 |
-multilib_src_install_all() { |
201 |
- einstalldocs |
202 |
- dodoc NOTES |
203 |
- # These build quick, and are needed for most tests, so don't |
204 |
- # disable their building when the USE flag is disabled. |
205 |
- if ! use utils; then |
206 |
- rm -rf "${ED}"/usr/bin || die |
207 |
- fi |
208 |
-} |
209 |
|
210 |
diff --git a/dev-libs/elfutils/elfutils-0.176.ebuild b/dev-libs/elfutils/elfutils-0.176-r1.ebuild |
211 |
similarity index 92% |
212 |
rename from dev-libs/elfutils/elfutils-0.176.ebuild |
213 |
rename to dev-libs/elfutils/elfutils-0.176-r1.ebuild |
214 |
index e80e341..7d8ad79 100644 |
215 |
--- a/dev-libs/elfutils/elfutils-0.176.ebuild |
216 |
+++ b/dev-libs/elfutils/elfutils-0.176-r1.ebuild |
217 |
@@ -11,7 +11,7 @@ SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" |
218 |
|
219 |
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" |
220 |
SLOT="0" |
221 |
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" |
222 |
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-linux ~x86-linux" |
223 |
IUSE="bzip2 lzma nls static-libs test +threads +utils" |
224 |
|
225 |
RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] |
226 |
@@ -21,7 +21,6 @@ RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] |
227 |
DEPEND="${RDEPEND} |
228 |
nls? ( sys-devel/gettext ) |
229 |
>=sys-devel/flex-2.5.4a |
230 |
- sys-devel/m4 |
231 |
elibc_musl? ( |
232 |
sys-libs/argp-standalone |
233 |
sys-libs/fts-standalone |
234 |
@@ -31,6 +30,7 @@ DEPEND="${RDEPEND} |
235 |
PATCHES=( |
236 |
"${FILESDIR}"/${PN}-0.118-PaX-support.patch |
237 |
"${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch |
238 |
+ "${FILESDIR}"/${PN}-0.173-reorder.patch |
239 |
"${FILESDIR}"/${PN}-0.176-portability-fixes.patch |
240 |
) |
241 |
|
242 |
|
243 |
diff --git a/dev-libs/elfutils/elfutils-0.173.ebuild b/dev-libs/elfutils/elfutils-0.177.ebuild |
244 |
similarity index 77% |
245 |
rename from dev-libs/elfutils/elfutils-0.173.ebuild |
246 |
rename to dev-libs/elfutils/elfutils-0.177.ebuild |
247 |
index 97189fc..72a5084 100644 |
248 |
--- a/dev-libs/elfutils/elfutils-0.173.ebuild |
249 |
+++ b/dev-libs/elfutils/elfutils-0.177.ebuild |
250 |
@@ -1,9 +1,9 @@ |
251 |
-# Copyright 1999-2018 Gentoo Foundation |
252 |
+# Copyright 1999-2019 Gentoo Authors |
253 |
# Distributed under the terms of the GNU General Public License v2 |
254 |
|
255 |
-EAPI=6 |
256 |
+EAPI=7 |
257 |
|
258 |
-inherit autotools eutils flag-o-matic multilib-minimal |
259 |
+inherit autotools flag-o-matic multilib-minimal |
260 |
|
261 |
DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" |
262 |
HOMEPAGE="http://elfutils.org/" |
263 |
@@ -11,7 +11,7 @@ SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" |
264 |
|
265 |
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" |
266 |
SLOT="0" |
267 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~sh ~sparc ~x86" |
268 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" |
269 |
IUSE="bzip2 lzma nls static-libs test +threads +utils" |
270 |
|
271 |
RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] |
272 |
@@ -21,27 +21,28 @@ RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] |
273 |
DEPEND="${RDEPEND} |
274 |
nls? ( sys-devel/gettext ) |
275 |
>=sys-devel/flex-2.5.4a |
276 |
- sys-devel/m4 |
277 |
elibc_musl? ( |
278 |
sys-libs/argp-standalone |
279 |
sys-libs/fts-standalone |
280 |
sys-libs/obstack-standalone |
281 |
)" |
282 |
|
283 |
-PATCHES=("${FILESDIR}"/${PN}-0.118-PaX-support.patch) |
284 |
+PATCHES=( |
285 |
+ "${FILESDIR}"/${PN}-0.118-PaX-support.patch |
286 |
+ "${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch |
287 |
+ "${FILESDIR}"/${PN}-0.177-disable-large.patch |
288 |
+ "${FILESDIR}"/${PN}-0.177-portability-fixes.patch |
289 |
+) |
290 |
|
291 |
src_prepare() { |
292 |
default |
293 |
- # Add MUSL patches |
294 |
- epatch "${FILESDIR}"/${PN}-0.170-musl-obstack-fts.patch |
295 |
- epatch "${FILESDIR}"/${PN}-0.171-musl-libs.patch |
296 |
- epatch "${FILESDIR}"/${PN}-0.171-musl-utils.patch |
297 |
|
298 |
eautoreconf |
299 |
|
300 |
if ! use static-libs; then |
301 |
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die |
302 |
fi |
303 |
+ # https://sourceware.org/PR23914 |
304 |
sed -i 's:-Werror::' */Makefile.in || die |
305 |
} |
306 |
|
307 |
@@ -56,7 +57,6 @@ multilib_src_configure() { |
308 |
$(use_enable threads thread-safety) \ |
309 |
--program-prefix="eu-" \ |
310 |
--with-zlib \ |
311 |
- --disable-symbol-versioning \ |
312 |
$(use_with bzip2 bzlib) \ |
313 |
$(use_with lzma) |
314 |
} |
315 |
|
316 |
diff --git a/dev-libs/elfutils/files/elfutils-0.169-musl-libs.patch b/dev-libs/elfutils/files/elfutils-0.169-musl-libs.patch |
317 |
deleted file mode 100644 |
318 |
index 0fcf72d..0000000 |
319 |
--- a/dev-libs/elfutils/files/elfutils-0.169-musl-libs.patch |
320 |
+++ /dev/null |
321 |
@@ -1,110 +0,0 @@ |
322 |
-diff -Naur elfutils-0.169.orig/lib/error.h elfutils-0.169/lib/error.h |
323 |
---- elfutils-0.169.orig/lib/error.h 1969-12-31 16:00:00.000000000 -0800 |
324 |
-+++ elfutils-0.169/lib/error.h 2017-05-22 11:46:56.303656762 -0700 |
325 |
-@@ -0,0 +1,27 @@ |
326 |
-+#ifndef _ERROR_H_ |
327 |
-+#define _ERROR_H_ |
328 |
-+ |
329 |
-+#include <stdarg.h> |
330 |
-+#include <stdio.h> |
331 |
-+#include <stdlib.h> |
332 |
-+#include <string.h> |
333 |
-+#include <errno.h> |
334 |
-+ |
335 |
-+static unsigned int error_message_count = 0; |
336 |
-+ |
337 |
-+static inline void error(int status, int errnum, const char* format, ...) |
338 |
-+{ |
339 |
-+ va_list ap; |
340 |
-+ fprintf(stderr, "%s: ", program_invocation_name); |
341 |
-+ va_start(ap, format); |
342 |
-+ vfprintf(stderr, format, ap); |
343 |
-+ va_end(ap); |
344 |
-+ if (errnum) |
345 |
-+ fprintf(stderr, ": %s", strerror(errnum)); |
346 |
-+ fprintf(stderr, "\n"); |
347 |
-+ error_message_count++; |
348 |
-+ if (status) |
349 |
-+ exit(status); |
350 |
-+} |
351 |
-+ |
352 |
-+#endif /* _ERROR_H_ */ |
353 |
-diff -Naur elfutils-0.169.orig/lib/fixedsizehash.h elfutils-0.169/lib/fixedsizehash.h |
354 |
---- elfutils-0.169.orig/lib/fixedsizehash.h 2017-05-22 11:45:32.228023470 -0700 |
355 |
-+++ elfutils-0.169/lib/fixedsizehash.h 2017-05-22 11:47:08.380737748 -0700 |
356 |
-@@ -30,7 +30,6 @@ |
357 |
- #include <errno.h> |
358 |
- #include <stdlib.h> |
359 |
- #include <string.h> |
360 |
--#include <sys/cdefs.h> |
361 |
- |
362 |
- #include <system.h> |
363 |
- |
364 |
-diff -Naur elfutils-0.169.orig/libdwfl/dwfl_build_id_find_elf.c elfutils-0.169/libdwfl/dwfl_build_id_find_elf.c |
365 |
---- elfutils-0.169.orig/libdwfl/dwfl_build_id_find_elf.c 2017-05-22 11:45:32.397025345 -0700 |
366 |
-+++ elfutils-0.169/libdwfl/dwfl_build_id_find_elf.c 2017-05-22 11:48:25.398377146 -0700 |
367 |
-@@ -99,7 +99,7 @@ |
368 |
- { |
369 |
- if (*file_name != NULL) |
370 |
- free (*file_name); |
371 |
-- *file_name = canonicalize_file_name (name); |
372 |
-+ *file_name = realpath (name, NULL); |
373 |
- if (*file_name == NULL) |
374 |
- { |
375 |
- *file_name = name; |
376 |
-diff -Naur elfutils-0.169.orig/libdwfl/dwfl_error.c elfutils-0.169/libdwfl/dwfl_error.c |
377 |
---- elfutils-0.169.orig/libdwfl/dwfl_error.c 2017-05-22 11:45:32.391025278 -0700 |
378 |
-+++ elfutils-0.169/libdwfl/dwfl_error.c 2017-05-22 11:48:49.678619010 -0700 |
379 |
-@@ -154,7 +154,16 @@ |
380 |
- switch (error &~ 0xffff) |
381 |
- { |
382 |
- case OTHER_ERROR (ERRNO): |
383 |
-+#if defined(__GLIBC__) |
384 |
- return strerror_r (error & 0xffff, "bad", 0); |
385 |
-+#else |
386 |
-+ { |
387 |
-+ static __thread char buf[128] = ""; |
388 |
-+ if (strerror_r (error & 0xffff, buf, sizeof(buf)) == 0) |
389 |
-+ return buf; |
390 |
-+ } |
391 |
-+ return "strerror_r() failed"; |
392 |
-+#endif |
393 |
- case OTHER_ERROR (LIBELF): |
394 |
- return elf_errmsg (error & 0xffff); |
395 |
- case OTHER_ERROR (LIBDW): |
396 |
-diff -Naur elfutils-0.169.orig/libdwfl/find-debuginfo.c elfutils-0.169/libdwfl/find-debuginfo.c |
397 |
---- elfutils-0.169.orig/libdwfl/find-debuginfo.c 2017-05-22 11:45:32.393025301 -0700 |
398 |
-+++ elfutils-0.169/libdwfl/find-debuginfo.c 2017-05-22 11:49:16.492886117 -0700 |
399 |
-@@ -389,7 +389,7 @@ |
400 |
- /* If FILE_NAME is a symlink, the debug file might be associated |
401 |
- with the symlink target name instead. */ |
402 |
- |
403 |
-- char *canon = canonicalize_file_name (file_name); |
404 |
-+ char *canon = realpath (file_name, NULL); |
405 |
- if (canon != NULL && strcmp (file_name, canon)) |
406 |
- fd = find_debuginfo_in_path (mod, canon, |
407 |
- debuglink_file, debuglink_crc, |
408 |
-diff -Naur elfutils-0.169.orig/libelf/elf.h elfutils-0.169/libelf/elf.h |
409 |
---- elfutils-0.169.orig/libelf/elf.h 2017-05-22 11:45:32.267023903 -0700 |
410 |
-+++ elfutils-0.169/libelf/elf.h 2017-05-22 11:50:20.851532624 -0700 |
411 |
-@@ -21,7 +21,9 @@ |
412 |
- |
413 |
- #include <features.h> |
414 |
- |
415 |
--__BEGIN_DECLS |
416 |
-+#ifdef __cplusplus |
417 |
-+extern "C" { |
418 |
-+#endif |
419 |
- |
420 |
- /* Standard ELF types. */ |
421 |
- |
422 |
-@@ -3683,6 +3685,8 @@ |
423 |
- #define R_BPF_NONE 0 /* No reloc */ |
424 |
- #define R_BPF_MAP_FD 1 /* Map fd to pointer */ |
425 |
- |
426 |
--__END_DECLS |
427 |
-+#ifdef __cplusplus |
428 |
-+} |
429 |
-+#endif |
430 |
- |
431 |
- #endif /* elf.h */ |
432 |
|
433 |
diff --git a/dev-libs/elfutils/files/elfutils-0.170-musl-obstack-fts.patch b/dev-libs/elfutils/files/elfutils-0.170-musl-obstack-fts.patch |
434 |
deleted file mode 100644 |
435 |
index e2ba29a..0000000 |
436 |
--- a/dev-libs/elfutils/files/elfutils-0.170-musl-obstack-fts.patch |
437 |
+++ /dev/null |
438 |
@@ -1,102 +0,0 @@ |
439 |
-diff -Naur elfutils-0.170.orig/configure.ac elfutils-0.170/configure.ac |
440 |
---- elfutils-0.170.orig/configure.ac 2017-08-08 12:51:02.675540308 -0700 |
441 |
-+++ elfutils-0.170/configure.ac 2017-08-08 13:00:47.322520736 -0700 |
442 |
-@@ -385,6 +385,60 @@ |
443 |
- fi |
444 |
- AC_SUBST([argp_LDADD]) |
445 |
- |
446 |
-+dnl Check if we have fts available from our libc |
447 |
-+AC_LINK_IFELSE( |
448 |
-+ [AC_LANG_PROGRAM( |
449 |
-+ [#if !defined(__x86_64__) |
450 |
-+ #undef _FILE_OFFSET_BITS |
451 |
-+ #define _FILE_OFFSET_BITS 32 |
452 |
-+ #endif |
453 |
-+ #include <fts.h>], |
454 |
-+ [FTS* fts = 0; return fts_close(fts); return 0;] |
455 |
-+ )], |
456 |
-+ [libc_has_fts="true"], |
457 |
-+ [libc_has_fts="false"] |
458 |
-+) |
459 |
-+ |
460 |
-+dnl If our libc doesn't provide fts, then test for libfts |
461 |
-+if test "$libc_has_fts" = "false" ; then |
462 |
-+ AC_MSG_WARN("libc does not have fts") |
463 |
-+ AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"]) |
464 |
-+ |
465 |
-+ if test "$have_fts" = "false"; then |
466 |
-+ AC_MSG_ERROR("no libfts found") |
467 |
-+ else |
468 |
-+ fts_LDADD="-lfts" |
469 |
-+ fi |
470 |
-+else |
471 |
-+ fts_LDADD="" |
472 |
-+fi |
473 |
-+AC_SUBST([fts_LDADD]) |
474 |
-+ |
475 |
-+dnl Check if we have obstack available from our libc |
476 |
-+AC_LINK_IFELSE( |
477 |
-+ [AC_LANG_PROGRAM( |
478 |
-+ [#include <obstack.h>], |
479 |
-+ [_obstack_begin(0, 0, 0, NULL, NULL); return 0;] |
480 |
-+ )], |
481 |
-+ [libc_has_obstack="true"], |
482 |
-+ [libc_has_obstack="false"] |
483 |
-+) |
484 |
-+ |
485 |
-+dnl If our libc doesn't provide obstack, then test for libobstack |
486 |
-+if test "$libc_has_obstack" = "false" ; then |
487 |
-+ AC_MSG_WARN("libc does not have obstack") |
488 |
-+ AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], [have_obstack="false"]) |
489 |
-+ |
490 |
-+ if test "$have_obstack" = "false"; then |
491 |
-+ AC_MSG_ERROR("no libobstack found") |
492 |
-+ else |
493 |
-+ obstack_LDADD="-lobstack" |
494 |
-+ fi |
495 |
-+else |
496 |
-+ obstack_LDADD="" |
497 |
-+fi |
498 |
-+AC_SUBST([obstack_LDADD]) |
499 |
-+ |
500 |
- dnl The directories with content. |
501 |
- |
502 |
- dnl Documentation. |
503 |
-diff -Naur elfutils-0.170.orig/libdw/Makefile.am elfutils-0.170/libdw/Makefile.am |
504 |
---- elfutils-0.170.orig/libdw/Makefile.am 2017-08-08 12:51:02.725540814 -0700 |
505 |
-+++ elfutils-0.170/libdw/Makefile.am 2017-08-08 13:01:23.933848087 -0700 |
506 |
-@@ -105,7 +105,7 @@ |
507 |
- libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ |
508 |
- ../libdwfl/libdwfl_pic.a ../libebl/libebl.a |
509 |
- libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so |
510 |
--libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) |
511 |
-+libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(zip_LIBS) |
512 |
- libdw_so_SOURCES = |
513 |
- libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) |
514 |
- # The rpath is necessary for libebl because its $ORIGIN use will |
515 |
-diff -Naur elfutils-0.170.orig/src/Makefile.am elfutils-0.170/src/Makefile.am |
516 |
---- elfutils-0.170.orig/src/Makefile.am 2017-08-08 12:51:02.768541249 -0700 |
517 |
-+++ elfutils-0.170/src/Makefile.am 2017-08-08 13:02:47.304579123 -0700 |
518 |
-@@ -68,8 +68,8 @@ |
519 |
- unstrip_no_Wstack_usage = yes |
520 |
- |
521 |
- readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
522 |
--nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ |
523 |
-- $(demanglelib) |
524 |
-+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) \ |
525 |
-+ $(obstack_LDADD) -ldl $(demanglelib) |
526 |
- size_LDADD = $(libelf) $(libeu) $(argp_LDADD) |
527 |
- strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl |
528 |
- elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
529 |
-@@ -77,9 +77,9 @@ |
530 |
- addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib) |
531 |
- elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
532 |
- objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
533 |
--ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) |
534 |
-+ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD) |
535 |
- strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) |
536 |
--ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) |
537 |
-+ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD) |
538 |
- unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl |
539 |
- stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) |
540 |
- elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) |
541 |
|
542 |
diff --git a/dev-libs/elfutils/files/elfutils-0.170-musl-utils.patch b/dev-libs/elfutils/files/elfutils-0.170-musl-utils.patch |
543 |
deleted file mode 100644 |
544 |
index 5e00561..0000000 |
545 |
--- a/dev-libs/elfutils/files/elfutils-0.170-musl-utils.patch |
546 |
+++ /dev/null |
547 |
@@ -1,125 +0,0 @@ |
548 |
-diff -Naur elfutils-0.170.orig/src/arlib.h elfutils-0.170/src/arlib.h |
549 |
---- elfutils-0.170.orig/src/arlib.h 2017-08-08 13:18:49.812978045 -0700 |
550 |
-+++ elfutils-0.170/src/arlib.h 2017-08-08 13:19:51.749654704 -0700 |
551 |
-@@ -29,6 +29,12 @@ |
552 |
- #include <stdint.h> |
553 |
- #include <sys/types.h> |
554 |
- |
555 |
-+#if !defined(ALLPERMS) |
556 |
-+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
557 |
-+#endif |
558 |
-+#if !defined(DEFFILEMODE) |
559 |
-+# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ |
560 |
-+#endif |
561 |
- |
562 |
- /* State of -D/-U flags. */ |
563 |
- extern bool arlib_deterministic_output; |
564 |
-diff -Naur elfutils-0.170.orig/src/elfcompress.c elfutils-0.170/src/elfcompress.c |
565 |
---- elfutils-0.170.orig/src/elfcompress.c 2017-08-08 13:18:49.810978023 -0700 |
566 |
-+++ elfutils-0.170/src/elfcompress.c 2017-08-08 13:19:51.752654737 -0700 |
567 |
-@@ -37,6 +37,13 @@ |
568 |
- #include "libeu.h" |
569 |
- #include "printversion.h" |
570 |
- |
571 |
-+#if !defined(ALLPERMS) |
572 |
-+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
573 |
-+#endif |
574 |
-+#if !defined(FNM_EXTMATCH) |
575 |
-+# define FNM_EXTMATCH ( 1 << 5) |
576 |
-+#endif |
577 |
-+ |
578 |
- /* Name and version of program. */ |
579 |
- ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
580 |
- |
581 |
-diff -Naur elfutils-0.170.orig/src/readelf.c elfutils-0.170/src/readelf.c |
582 |
---- elfutils-0.170.orig/src/readelf.c 2017-08-08 13:18:49.811978034 -0700 |
583 |
-+++ elfutils-0.170/src/readelf.c 2017-08-08 13:19:51.760654824 -0700 |
584 |
-@@ -4517,10 +4517,11 @@ |
585 |
- return base; |
586 |
- } |
587 |
- |
588 |
-+static const char *listptr_name; |
589 |
-+ |
590 |
- static int |
591 |
--compare_listptr (const void *a, const void *b, void *arg) |
592 |
-+compare_listptr (const void *a, const void *b) |
593 |
- { |
594 |
-- const char *name = arg; |
595 |
- struct listptr *p1 = (void *) a; |
596 |
- struct listptr *p2 = (void *) b; |
597 |
- |
598 |
-@@ -4536,21 +4537,21 @@ |
599 |
- p1->warned = p2->warned = true; |
600 |
- error (0, 0, |
601 |
- gettext ("%s %#" PRIx64 " used with different address sizes"), |
602 |
-- name, (uint64_t) p1->offset); |
603 |
-+ listptr_name, (uint64_t) p1->offset); |
604 |
- } |
605 |
- if (p1->dwarf64 != p2->dwarf64) |
606 |
- { |
607 |
- p1->warned = p2->warned = true; |
608 |
- error (0, 0, |
609 |
- gettext ("%s %#" PRIx64 " used with different offset sizes"), |
610 |
-- name, (uint64_t) p1->offset); |
611 |
-+ listptr_name, (uint64_t) p1->offset); |
612 |
- } |
613 |
- if (listptr_base (p1) != listptr_base (p2)) |
614 |
- { |
615 |
- p1->warned = p2->warned = true; |
616 |
- error (0, 0, |
617 |
- gettext ("%s %#" PRIx64 " used with different base addresses"), |
618 |
-- name, (uint64_t) p1->offset); |
619 |
-+ listptr_name, (uint64_t) p1->offset); |
620 |
- } |
621 |
- } |
622 |
- |
623 |
-@@ -4616,8 +4617,11 @@ |
624 |
- sort_listptr (struct listptr_table *table, const char *name) |
625 |
- { |
626 |
- if (table->n > 0) |
627 |
-- qsort_r (table->table, table->n, sizeof table->table[0], |
628 |
-- &compare_listptr, (void *) name); |
629 |
-+ { |
630 |
-+ listptr_name = name; |
631 |
-+ qsort (table->table, table->n, sizeof table->table[0], |
632 |
-+ &compare_listptr); |
633 |
-+ } |
634 |
- } |
635 |
- |
636 |
- static bool |
637 |
-diff -Naur elfutils-0.170.orig/src/strip.c elfutils-0.170/src/strip.c |
638 |
---- elfutils-0.170.orig/src/strip.c 2017-08-08 13:18:49.812978045 -0700 |
639 |
-+++ elfutils-0.170/src/strip.c 2017-08-08 13:20:17.107931743 -0700 |
640 |
-@@ -47,6 +47,13 @@ |
641 |
- #include <system.h> |
642 |
- #include <printversion.h> |
643 |
- |
644 |
-+#if !defined(ACCESSPERMS) |
645 |
-+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ |
646 |
-+#endif |
647 |
-+#if !defined(FNM_EXTMATCH) |
648 |
-+# define FNM_EXTMATCH ( 1 << 5) |
649 |
-+#endif |
650 |
-+ |
651 |
- typedef uint8_t GElf_Byte; |
652 |
- |
653 |
- /* Name and version of program. */ |
654 |
-diff -Naur elfutils-0.170.orig/src/unstrip.c elfutils-0.170/src/unstrip.c |
655 |
---- elfutils-0.170.orig/src/unstrip.c 2017-08-08 13:18:49.812978045 -0700 |
656 |
-+++ elfutils-0.170/src/unstrip.c 2017-08-08 13:19:51.765654879 -0700 |
657 |
-@@ -56,6 +56,15 @@ |
658 |
- # define _(str) gettext (str) |
659 |
- #endif |
660 |
- |
661 |
-+#ifndef strndupa |
662 |
-+#define strndupa(s, n) \ |
663 |
-+ ({const char *__in = (s); \ |
664 |
-+ size_t __len = strnlen (__in, (n)) + 1; \ |
665 |
-+ char *__out = (char *) alloca (__len); \ |
666 |
-+ __out[__len-1] = '\0'; \ |
667 |
-+ (char *) memcpy (__out, __in, __len-1);}) |
668 |
-+#endif |
669 |
-+ |
670 |
- /* Name and version of program. */ |
671 |
- ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
672 |
- |
673 |
|
674 |
diff --git a/dev-libs/elfutils/files/elfutils-0.171-musl-libs.patch b/dev-libs/elfutils/files/elfutils-0.171-musl-libs.patch |
675 |
deleted file mode 100644 |
676 |
index 80a5adb..0000000 |
677 |
--- a/dev-libs/elfutils/files/elfutils-0.171-musl-libs.patch |
678 |
+++ /dev/null |
679 |
@@ -1,86 +0,0 @@ |
680 |
-diff -Naur elfutils-0.171.orig/lib/error.h elfutils-0.171/lib/error.h |
681 |
---- elfutils-0.171.orig/lib/error.h 1969-12-31 16:00:00.000000000 -0800 |
682 |
-+++ elfutils-0.171/lib/error.h 2018-06-11 10:11:15.910181114 -0700 |
683 |
-@@ -0,0 +1,27 @@ |
684 |
-+#ifndef _ERROR_H_ |
685 |
-+#define _ERROR_H_ |
686 |
-+ |
687 |
-+#include <stdarg.h> |
688 |
-+#include <stdio.h> |
689 |
-+#include <stdlib.h> |
690 |
-+#include <string.h> |
691 |
-+#include <errno.h> |
692 |
-+ |
693 |
-+static unsigned int error_message_count = 0; |
694 |
-+ |
695 |
-+static inline void error(int status, int errnum, const char* format, ...) |
696 |
-+{ |
697 |
-+ va_list ap; |
698 |
-+ fprintf(stderr, "%s: ", program_invocation_name); |
699 |
-+ va_start(ap, format); |
700 |
-+ vfprintf(stderr, format, ap); |
701 |
-+ va_end(ap); |
702 |
-+ if (errnum) |
703 |
-+ fprintf(stderr, ": %s", strerror(errnum)); |
704 |
-+ fprintf(stderr, "\n"); |
705 |
-+ error_message_count++; |
706 |
-+ if (status) |
707 |
-+ exit(status); |
708 |
-+} |
709 |
-+ |
710 |
-+#endif /* _ERROR_H_ */ |
711 |
-diff -Naur elfutils-0.171.orig/lib/fixedsizehash.h elfutils-0.171/lib/fixedsizehash.h |
712 |
---- elfutils-0.171.orig/lib/fixedsizehash.h 2018-06-11 10:11:02.222181359 -0700 |
713 |
-+++ elfutils-0.171/lib/fixedsizehash.h 2018-06-11 10:11:15.913181114 -0700 |
714 |
-@@ -30,7 +30,6 @@ |
715 |
- #include <errno.h> |
716 |
- #include <stdlib.h> |
717 |
- #include <string.h> |
718 |
--#include <sys/cdefs.h> |
719 |
- |
720 |
- #include <system.h> |
721 |
- |
722 |
-diff -Naur elfutils-0.171.orig/libdwfl/dwfl_error.c elfutils-0.171/libdwfl/dwfl_error.c |
723 |
---- elfutils-0.171.orig/libdwfl/dwfl_error.c 2018-06-11 10:11:02.245181359 -0700 |
724 |
-+++ elfutils-0.171/libdwfl/dwfl_error.c 2018-06-11 10:11:18.020181076 -0700 |
725 |
-@@ -154,7 +154,16 @@ |
726 |
- switch (error &~ 0xffff) |
727 |
- { |
728 |
- case OTHER_ERROR (ERRNO): |
729 |
-+#if defined(__GLIBC__) |
730 |
- return strerror_r (error & 0xffff, "bad", 0); |
731 |
-+#else |
732 |
-+ { |
733 |
-+ static __thread char buf[128] = ""; |
734 |
-+ if (strerror_r (error & 0xffff, buf, sizeof(buf)) == 0) |
735 |
-+ return buf; |
736 |
-+ } |
737 |
-+ return "strerror_r() failed"; |
738 |
-+#endif |
739 |
- case OTHER_ERROR (LIBELF): |
740 |
- return elf_errmsg (error & 0xffff); |
741 |
- case OTHER_ERROR (LIBDW): |
742 |
-diff -Naur elfutils-0.171.orig/libelf/elf.h elfutils-0.171/libelf/elf.h |
743 |
---- elfutils-0.171.orig/libelf/elf.h 2018-06-11 10:11:02.225181359 -0700 |
744 |
-+++ elfutils-0.171/libelf/elf.h 2018-06-11 10:11:19.036181058 -0700 |
745 |
-@@ -21,7 +21,9 @@ |
746 |
- |
747 |
- #include <features.h> |
748 |
- |
749 |
--__BEGIN_DECLS |
750 |
-+#ifdef __cplusplus |
751 |
-+extern "C" { |
752 |
-+#endif |
753 |
- |
754 |
- /* Standard ELF types. */ |
755 |
- |
756 |
-@@ -3912,6 +3914,8 @@ |
757 |
- #define R_METAG_TLS_LE_HI16 60 |
758 |
- #define R_METAG_TLS_LE_LO16 61 |
759 |
- |
760 |
--__END_DECLS |
761 |
-+#ifdef __cplusplus |
762 |
-+} |
763 |
-+#endif |
764 |
- |
765 |
- #endif /* elf.h */ |
766 |
|
767 |
diff --git a/dev-libs/elfutils/files/elfutils-0.171-musl-utils.patch b/dev-libs/elfutils/files/elfutils-0.171-musl-utils.patch |
768 |
deleted file mode 100644 |
769 |
index a6b9684..0000000 |
770 |
--- a/dev-libs/elfutils/files/elfutils-0.171-musl-utils.patch |
771 |
+++ /dev/null |
772 |
@@ -1,134 +0,0 @@ |
773 |
-diff -Naur elfutils-0.171.orig/src/arlib.h elfutils-0.171/src/arlib.h |
774 |
---- elfutils-0.171.orig/src/arlib.h 2018-06-11 10:11:02.221181359 -0700 |
775 |
-+++ elfutils-0.171/src/arlib.h 2018-06-11 10:21:30.810170102 -0700 |
776 |
-@@ -29,6 +29,12 @@ |
777 |
- #include <stdint.h> |
778 |
- #include <sys/types.h> |
779 |
- |
780 |
-+#if !defined(ALLPERMS) |
781 |
-+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
782 |
-+#endif |
783 |
-+#if !defined(DEFFILEMODE) |
784 |
-+# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ |
785 |
-+#endif |
786 |
- |
787 |
- /* State of -D/-U flags. */ |
788 |
- extern bool arlib_deterministic_output; |
789 |
-diff -Naur elfutils-0.171.orig/src/elfcompress.c elfutils-0.171/src/elfcompress.c |
790 |
---- elfutils-0.171.orig/src/elfcompress.c 2018-06-11 10:11:02.221181359 -0700 |
791 |
-+++ elfutils-0.171/src/elfcompress.c 2018-06-11 10:21:30.813170102 -0700 |
792 |
-@@ -37,6 +37,13 @@ |
793 |
- #include "libeu.h" |
794 |
- #include "printversion.h" |
795 |
- |
796 |
-+#if !defined(ALLPERMS) |
797 |
-+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
798 |
-+#endif |
799 |
-+#if !defined(FNM_EXTMATCH) |
800 |
-+# define FNM_EXTMATCH ( 1 << 5) |
801 |
-+#endif |
802 |
-+ |
803 |
- /* Name and version of program. */ |
804 |
- ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
805 |
- |
806 |
-diff -Naur elfutils-0.171.orig/src/readelf.c elfutils-0.171/src/readelf.c |
807 |
---- elfutils-0.171.orig/src/readelf.c 2018-06-11 10:11:02.221181359 -0700 |
808 |
-+++ elfutils-0.171/src/readelf.c 2018-06-11 10:21:43.630169873 -0700 |
809 |
-@@ -4771,10 +4771,11 @@ |
810 |
- return cudie_base (&cu); |
811 |
- } |
812 |
- |
813 |
-+static const char *listptr_name; |
814 |
-+ |
815 |
- static int |
816 |
--compare_listptr (const void *a, const void *b, void *arg) |
817 |
-+compare_listptr (const void *a, const void *b) |
818 |
- { |
819 |
-- const char *name = arg; |
820 |
- struct listptr *p1 = (void *) a; |
821 |
- struct listptr *p2 = (void *) b; |
822 |
- |
823 |
-@@ -4790,21 +4791,21 @@ |
824 |
- p1->warned = p2->warned = true; |
825 |
- error (0, 0, |
826 |
- gettext ("%s %#" PRIx64 " used with different address sizes"), |
827 |
-- name, (uint64_t) p1->offset); |
828 |
-+ listptr_name, (uint64_t) p1->offset); |
829 |
- } |
830 |
- if (p1->dwarf64 != p2->dwarf64) |
831 |
- { |
832 |
- p1->warned = p2->warned = true; |
833 |
- error (0, 0, |
834 |
- gettext ("%s %#" PRIx64 " used with different offset sizes"), |
835 |
-- name, (uint64_t) p1->offset); |
836 |
-+ listptr_name, (uint64_t) p1->offset); |
837 |
- } |
838 |
- if (listptr_base (p1) != listptr_base (p2)) |
839 |
- { |
840 |
- p1->warned = p2->warned = true; |
841 |
- error (0, 0, |
842 |
- gettext ("%s %#" PRIx64 " used with different base addresses"), |
843 |
-- name, (uint64_t) p1->offset); |
844 |
-+ listptr_name, (uint64_t) p1->offset); |
845 |
- } |
846 |
- if (p1->attr != p2 ->attr) |
847 |
- { |
848 |
-@@ -4812,7 +4813,7 @@ |
849 |
- error (0, 0, |
850 |
- gettext ("%s %#" PRIx64 |
851 |
- " used with different attribute %s and %s"), |
852 |
-- name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), |
853 |
-+ listptr_name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), |
854 |
- dwarf_attr_name (p2->attr)); |
855 |
- } |
856 |
- } |
857 |
-@@ -4884,8 +4885,11 @@ |
858 |
- sort_listptr (struct listptr_table *table, const char *name) |
859 |
- { |
860 |
- if (table->n > 0) |
861 |
-- qsort_r (table->table, table->n, sizeof table->table[0], |
862 |
-- &compare_listptr, (void *) name); |
863 |
-+ { |
864 |
-+ listptr_name = name; |
865 |
-+ qsort (table->table, table->n, sizeof table->table[0], |
866 |
-+ &compare_listptr); |
867 |
-+ } |
868 |
- } |
869 |
- |
870 |
- static bool |
871 |
-diff -Naur elfutils-0.171.orig/src/strip.c elfutils-0.171/src/strip.c |
872 |
---- elfutils-0.171.orig/src/strip.c 2018-06-11 10:11:02.221181359 -0700 |
873 |
-+++ elfutils-0.171/src/strip.c 2018-06-11 10:21:30.818170102 -0700 |
874 |
-@@ -47,6 +47,13 @@ |
875 |
- #include <system.h> |
876 |
- #include <printversion.h> |
877 |
- |
878 |
-+#if !defined(ACCESSPERMS) |
879 |
-+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ |
880 |
-+#endif |
881 |
-+#if !defined(FNM_EXTMATCH) |
882 |
-+# define FNM_EXTMATCH ( 1 << 5) |
883 |
-+#endif |
884 |
-+ |
885 |
- typedef uint8_t GElf_Byte; |
886 |
- |
887 |
- /* Name and version of program. */ |
888 |
-diff -Naur elfutils-0.171.orig/src/unstrip.c elfutils-0.171/src/unstrip.c |
889 |
---- elfutils-0.171.orig/src/unstrip.c 2018-06-11 10:11:02.221181359 -0700 |
890 |
-+++ elfutils-0.171/src/unstrip.c 2018-06-11 10:21:30.819170102 -0700 |
891 |
-@@ -56,6 +56,15 @@ |
892 |
- # define _(str) gettext (str) |
893 |
- #endif |
894 |
- |
895 |
-+#ifndef strndupa |
896 |
-+#define strndupa(s, n) \ |
897 |
-+ ({const char *__in = (s); \ |
898 |
-+ size_t __len = strnlen (__in, (n)) + 1; \ |
899 |
-+ char *__out = (char *) alloca (__len); \ |
900 |
-+ __out[__len-1] = '\0'; \ |
901 |
-+ (char *) memcpy (__out, __in, __len-1);}) |
902 |
-+#endif |
903 |
-+ |
904 |
- /* Name and version of program. */ |
905 |
- ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
906 |
- |
907 |
|
908 |
diff --git a/dev-libs/elfutils/files/elfutils-0.173-reorder.patch b/dev-libs/elfutils/files/elfutils-0.173-reorder.patch |
909 |
new file mode 100644 |
910 |
index 0000000..fd3dede |
911 |
--- /dev/null |
912 |
+++ b/dev-libs/elfutils/files/elfutils-0.173-reorder.patch |
913 |
@@ -0,0 +1,37 @@ |
914 |
+https://bugs.gentoo.org/666954 |
915 |
+https://github.com/rpm-software-management/rpm/issues/423 |
916 |
+https://sourceware.org/ml/elfutils-devel/2019-q2/msg00077.html |
917 |
+ |
918 |
+From: Mark Wielaard <mark at klomp dot org> |
919 |
+Subject: [PATCH] libelf: Mark shdr_flags dirty if offset or size changes during update. |
920 |
+Date: Mon, 13 May 2019 00:13:42 +0200 |
921 |
+Message-Id: <20190512221342.23383-1-mark@×××××.org> |
922 |
+ |
923 |
+We forgot to mark the shdr_flags dirty when only the sh_size or |
924 |
+sh_offset changed during elf_update (). This meant that if there were |
925 |
+no other shdr changes we only wrote out the section data, but didn't |
926 |
+write out the shdr table to the file. |
927 |
+ |
928 |
+Signed-off-by: Mark Wielaard <mark@×××××.org> |
929 |
+--- |
930 |
+ libelf/elf32_updatenull.c | 5 +- |
931 |
+ |
932 |
+--- a/libelf/elf32_updatenull.c |
933 |
++++ b/libelf/elf32_updatenull.c |
934 |
+@@ -366,12 +366,15 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum) |
935 |
+ } |
936 |
+ |
937 |
+ /* See whether the section size is correct. */ |
938 |
++ int size_changed = 0; |
939 |
+ update_if_changed (shdr->sh_size, (GElf_Word) offset, |
940 |
+- changed); |
941 |
++ size_changed); |
942 |
++ changed |= size_changed; |
943 |
+ |
944 |
+ if (shdr->sh_type != SHT_NOBITS) |
945 |
+ size += offset; |
946 |
+ |
947 |
++ scn->shdr_flags |= (offset_changed | size_changed); |
948 |
+ scn->flags |= changed; |
949 |
+ } |
950 |
+ |
951 |
|
952 |
diff --git a/dev-libs/elfutils/files/elfutils-0.177-disable-large.patch b/dev-libs/elfutils/files/elfutils-0.177-disable-large.patch |
953 |
new file mode 100644 |
954 |
index 0000000..7829585 |
955 |
--- /dev/null |
956 |
+++ b/dev-libs/elfutils/files/elfutils-0.177-disable-large.patch |
957 |
@@ -0,0 +1,14 @@ |
958 |
+getconf does not disable test on 64-kernel with CFLAGS=-m32 |
959 |
+--- a/tests/run-large-elf-file.sh |
960 |
++++ b/tests/run-large-elf-file.sh |
961 |
+@@ -19,6 +19,10 @@ |
962 |
+ |
963 |
+ # Only run on 64bit systems, 32bit systems don't support > 4GB |
964 |
+ # ELF files. |
965 |
++ |
966 |
++# this detection fails for 64-bit systems with -m32 |
967 |
++exit 77 |
968 |
++ |
969 |
+ long_bit=$(getconf LONG_BIT) |
970 |
+ echo "long_bit: $long_bit" |
971 |
+ if test $long_bit -ne 64; then |
972 |
|
973 |
diff --git a/dev-libs/elfutils/files/elfutils-0.177-portability-fixes.patch b/dev-libs/elfutils/files/elfutils-0.177-portability-fixes.patch |
974 |
new file mode 100644 |
975 |
index 0000000..e903c62 |
976 |
--- /dev/null |
977 |
+++ b/dev-libs/elfutils/files/elfutils-0.177-portability-fixes.patch |
978 |
@@ -0,0 +1,416 @@ |
979 |
+From 5da3662ec16c0df64bbf8ffcf7e1d09c0782714c Mon Sep 17 00:00:00 2001 |
980 |
+From: Jory Pratt <anarchy@g.o> |
981 |
+Date: Wed, 21 Aug 2019 17:02:59 -0500 |
982 |
+Subject: [PATCH] Portability fixes for musl |
983 |
+ |
984 |
+--- |
985 |
+ configure.ac | 56 ++++++++++++++++++++++++++++++++++++++++++++ |
986 |
+ lib/error.h | 27 +++++++++++++++++++++ |
987 |
+ lib/fixedsizehash.h | 1 - |
988 |
+ libdw/Makefile.am | 2 +- |
989 |
+ libdwfl/dwfl_error.c | 9 +++++++ |
990 |
+ libelf/elf.h | 11 +++++++++ |
991 |
+ src/Makefile.am | 30 ++++++++++++------------ |
992 |
+ src/arlib.h | 10 ++++++++ |
993 |
+ src/elfcompress.c | 8 +++++++ |
994 |
+ src/error.h | 27 +++++++++++++++++++++ |
995 |
+ src/readelf.c | 21 ++++++++++------- |
996 |
+ src/strip.c | 8 +++++++ |
997 |
+ src/unstrip.c | 9 +++++++ |
998 |
+ 13 files changed, 193 insertions(+), 26 deletions(-) |
999 |
+ create mode 100644 lib/error.h |
1000 |
+ create mode 100644 src/error.h |
1001 |
+ |
1002 |
+diff --git a/configure.ac b/configure.ac |
1003 |
+index c443fa3..1e54c54 100644 |
1004 |
+--- a/configure.ac |
1005 |
++++ b/configure.ac |
1006 |
+@@ -494,6 +494,62 @@ else |
1007 |
+ fi |
1008 |
+ AC_SUBST([argp_LDADD]) |
1009 |
+ |
1010 |
++dnl Check if we have fts available from our libc |
1011 |
++AC_LINK_IFELSE( |
1012 |
++ [AC_LANG_PROGRAM( |
1013 |
++ [#if !defined(__x86_64__) |
1014 |
++ #undef _FILE_OFFSET_BITS |
1015 |
++ #define _FILE_OFFSET_BITS 32 |
1016 |
++ #endif |
1017 |
++ #include <fts.h>], |
1018 |
++ [FTS* fts = 0; return fts_close(fts); return 0;] |
1019 |
++ )], |
1020 |
++ [libc_has_fts="true"], |
1021 |
++ [libc_has_fts="false"] |
1022 |
++) |
1023 |
++ |
1024 |
++dnl If our libc doesn't provide fts, then test for libfts |
1025 |
++if test "$libc_has_fts" = "false" ; then |
1026 |
++ AC_MSG_WARN("libc does not have fts") |
1027 |
++ AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"]) |
1028 |
++ |
1029 |
++ if test "$have_fts" = "false"; then |
1030 |
++ AC_MSG_ERROR("no libfts found") |
1031 |
++ else |
1032 |
++ fts_LDADD="-lfts" |
1033 |
++ fi |
1034 |
++else |
1035 |
++ fts_LDADD="" |
1036 |
++fi |
1037 |
++AC_SUBST([fts_LDADD]) |
1038 |
++ |
1039 |
++dnl Check if we have obstack available from our libc |
1040 |
++AC_LINK_IFELSE( |
1041 |
++ [AC_LANG_PROGRAM( |
1042 |
++ [#include <obstack.h>], |
1043 |
++ [_obstack_begin(0, 0, 0, NULL, NULL); return 0;] |
1044 |
++ )], |
1045 |
++ [libc_has_obstack="true"], |
1046 |
++ [libc_has_obstack="false"] |
1047 |
++) |
1048 |
++ |
1049 |
++dnl If our libc doesn't provide obstack, then test for libobstack |
1050 |
++if test "$libc_has_obstack" = "false" ; then |
1051 |
++ AC_MSG_WARN("libc does not have obstack") |
1052 |
++ AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], [have_obstack="false"]) |
1053 |
++ |
1054 |
++ if test "$have_obstack" = "false"; then |
1055 |
++ AC_MSG_ERROR("no libobstack found") |
1056 |
++ else |
1057 |
++ obstack_LDADD="-lobstack" |
1058 |
++ fi |
1059 |
++else |
1060 |
++ obstack_LDADD="" |
1061 |
++fi |
1062 |
++AC_SUBST([obstack_LDADD]) |
1063 |
++ |
1064 |
++dnl The directories with content. |
1065 |
++ |
1066 |
+ dnl The directories with content. |
1067 |
+ |
1068 |
+ dnl Documentation. |
1069 |
+diff --git a/lib/error.h b/lib/error.h |
1070 |
+new file mode 100644 |
1071 |
+index 0000000..ef06827 |
1072 |
+--- /dev/null |
1073 |
++++ b/lib/error.h |
1074 |
+@@ -0,0 +1,27 @@ |
1075 |
++#ifndef _ERROR_H_ |
1076 |
++#define _ERROR_H_ |
1077 |
++ |
1078 |
++#include <stdarg.h> |
1079 |
++#include <stdio.h> |
1080 |
++#include <stdlib.h> |
1081 |
++#include <string.h> |
1082 |
++#include <errno.h> |
1083 |
++ |
1084 |
++static unsigned int error_message_count = 0; |
1085 |
++ |
1086 |
++static inline void error(int status, int errnum, const char* format, ...) |
1087 |
++{ |
1088 |
++ va_list ap; |
1089 |
++ fprintf(stderr, "%s: ", program_invocation_name); |
1090 |
++ va_start(ap, format); |
1091 |
++ vfprintf(stderr, format, ap); |
1092 |
++ va_end(ap); |
1093 |
++ if (errnum) |
1094 |
++ fprintf(stderr, ": %s", strerror(errnum)); |
1095 |
++ fprintf(stderr, "\n"); |
1096 |
++ error_message_count++; |
1097 |
++ if (status) |
1098 |
++ exit(status); |
1099 |
++} |
1100 |
++ |
1101 |
++#endif /* _ERROR_H_ */ |
1102 |
+diff --git a/lib/fixedsizehash.h b/lib/fixedsizehash.h |
1103 |
+index dac2a5f..43016fc 100644 |
1104 |
+--- a/lib/fixedsizehash.h |
1105 |
++++ b/lib/fixedsizehash.h |
1106 |
+@@ -30,7 +30,6 @@ |
1107 |
+ #include <errno.h> |
1108 |
+ #include <stdlib.h> |
1109 |
+ #include <string.h> |
1110 |
+-#include <sys/cdefs.h> |
1111 |
+ |
1112 |
+ #include <system.h> |
1113 |
+ |
1114 |
+diff --git a/libdw/Makefile.am b/libdw/Makefile.am |
1115 |
+index 7a3d532..646fbd0 100644 |
1116 |
+--- a/libdw/Makefile.am |
1117 |
++++ b/libdw/Makefile.am |
1118 |
+@@ -108,7 +108,7 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) |
1119 |
+ libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ |
1120 |
+ ../libdwfl/libdwfl_pic.a ../libebl/libebl.a |
1121 |
+ libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so |
1122 |
+-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) |
1123 |
++libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) $(zip_LIBS) |
1124 |
+ libdw_so_SOURCES = |
1125 |
+ libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) |
1126 |
+ # The rpath is necessary for libebl because its $ORIGIN use will |
1127 |
+diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c |
1128 |
+index 7bcf61c..ff25ebb 100644 |
1129 |
+--- a/libdwfl/dwfl_error.c |
1130 |
++++ b/libdwfl/dwfl_error.c |
1131 |
+@@ -154,7 +154,16 @@ dwfl_errmsg (int error) |
1132 |
+ switch (error &~ 0xffff) |
1133 |
+ { |
1134 |
+ case OTHER_ERROR (ERRNO): |
1135 |
++#if defined(__GLIBC__) |
1136 |
+ return strerror_r (error & 0xffff, "bad", 0); |
1137 |
++#else |
1138 |
++ { |
1139 |
++ static __thread char buf[128] = ""; |
1140 |
++ if (0 == strerror_r(error & 0xffff, buf, sizeof(buf))) |
1141 |
++ return buf; |
1142 |
++ } |
1143 |
++ return "strerror_r() failed"; |
1144 |
++#endif |
1145 |
+ case OTHER_ERROR (LIBELF): |
1146 |
+ return elf_errmsg (error & 0xffff); |
1147 |
+ case OTHER_ERROR (LIBDW): |
1148 |
+diff --git a/libelf/elf.h b/libelf/elf.h |
1149 |
+index 01648bd..9ab66f1 100644 |
1150 |
+--- a/libelf/elf.h |
1151 |
++++ b/libelf/elf.h |
1152 |
+@@ -21,6 +21,17 @@ |
1153 |
+ |
1154 |
+ #include <features.h> |
1155 |
+ |
1156 |
++#if !defined(__GLIBC__) |
1157 |
++/* C++ needs to know that types and declarations are C, not C++. */ |
1158 |
++#ifdef __cplusplus |
1159 |
++# define __BEGIN_DECLS extern "C" { |
1160 |
++# define __END_DECLS } |
1161 |
++#else |
1162 |
++# define __BEGIN_DECLS |
1163 |
++# define __END_DECLS |
1164 |
++#endif |
1165 |
++#endif |
1166 |
++ |
1167 |
+ __BEGIN_DECLS |
1168 |
+ |
1169 |
+ /* Standard ELF types. */ |
1170 |
+diff --git a/src/Makefile.am b/src/Makefile.am |
1171 |
+index 69ac4db..9ab822e 100644 |
1172 |
+--- a/src/Makefile.am |
1173 |
++++ b/src/Makefile.am |
1174 |
+@@ -68,23 +68,23 @@ ranlib_no_Wstack_usage = yes |
1175 |
+ ar_no_Wstack_usage = yes |
1176 |
+ unstrip_no_Wstack_usage = yes |
1177 |
+ |
1178 |
+-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
1179 |
+-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ |
1180 |
++readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
1181 |
++nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl \ |
1182 |
+ $(demanglelib) |
1183 |
+-size_LDADD = $(libelf) $(libeu) $(argp_LDADD) |
1184 |
+-strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl |
1185 |
+-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
1186 |
+-findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) |
1187 |
+-addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib) |
1188 |
+-elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
1189 |
++size_LDADD = $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1190 |
++strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
1191 |
++elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
1192 |
++findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1193 |
++addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) $(demanglelib) |
1194 |
++elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
1195 |
+ objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
1196 |
+-ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) |
1197 |
+-strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) |
1198 |
+-ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) |
1199 |
+-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl |
1200 |
+-stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) |
1201 |
+-elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) |
1202 |
+-elfclassify_LDADD = $(libelf) $(libdw) $(libeu) $(argp_LDADD) |
1203 |
++ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1204 |
++strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1205 |
++ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1206 |
++unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
1207 |
++stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl $(demanglelib) |
1208 |
++elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1209 |
++elfclassify_LDADD = $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
1210 |
+ |
1211 |
+ installcheck-binPROGRAMS: $(bin_PROGRAMS) |
1212 |
+ bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ |
1213 |
+diff --git a/src/arlib.h b/src/arlib.h |
1214 |
+index e117166..c66a5c9 100644 |
1215 |
+--- a/src/arlib.h |
1216 |
++++ b/src/arlib.h |
1217 |
+@@ -29,6 +29,16 @@ |
1218 |
+ #include <stdint.h> |
1219 |
+ #include <sys/types.h> |
1220 |
+ |
1221 |
++#if !defined(ACCESSPERMS) |
1222 |
++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ |
1223 |
++#endif |
1224 |
++#if !defined(ALLPERMS) |
1225 |
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
1226 |
++#endif |
1227 |
++#if !defined(DEFFILEMODE) |
1228 |
++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ |
1229 |
++#endif |
1230 |
++ |
1231 |
+ |
1232 |
+ /* State of -D/-U flags. */ |
1233 |
+ extern bool arlib_deterministic_output; |
1234 |
+diff --git a/src/elfcompress.c b/src/elfcompress.c |
1235 |
+index 6ba6af4..f7d032b 100644 |
1236 |
+--- a/src/elfcompress.c |
1237 |
++++ b/src/elfcompress.c |
1238 |
+@@ -37,6 +37,14 @@ |
1239 |
+ #include "libeu.h" |
1240 |
+ #include "printversion.h" |
1241 |
+ |
1242 |
++#if !defined(FNM_EXTMATCH) |
1243 |
++# define FNM_EXTMATCH 0 |
1244 |
++#endif |
1245 |
++ |
1246 |
++#if !defined(ALLPERMS) |
1247 |
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
1248 |
++#endif |
1249 |
++ |
1250 |
+ /* Name and version of program. */ |
1251 |
+ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
1252 |
+ |
1253 |
+diff --git a/src/error.h b/src/error.h |
1254 |
+new file mode 100644 |
1255 |
+index 0000000..ef06827 |
1256 |
+--- /dev/null |
1257 |
++++ b/src/error.h |
1258 |
+@@ -0,0 +1,27 @@ |
1259 |
++#ifndef _ERROR_H_ |
1260 |
++#define _ERROR_H_ |
1261 |
++ |
1262 |
++#include <stdarg.h> |
1263 |
++#include <stdio.h> |
1264 |
++#include <stdlib.h> |
1265 |
++#include <string.h> |
1266 |
++#include <errno.h> |
1267 |
++ |
1268 |
++static unsigned int error_message_count = 0; |
1269 |
++ |
1270 |
++static inline void error(int status, int errnum, const char* format, ...) |
1271 |
++{ |
1272 |
++ va_list ap; |
1273 |
++ fprintf(stderr, "%s: ", program_invocation_name); |
1274 |
++ va_start(ap, format); |
1275 |
++ vfprintf(stderr, format, ap); |
1276 |
++ va_end(ap); |
1277 |
++ if (errnum) |
1278 |
++ fprintf(stderr, ": %s", strerror(errnum)); |
1279 |
++ fprintf(stderr, "\n"); |
1280 |
++ error_message_count++; |
1281 |
++ if (status) |
1282 |
++ exit(status); |
1283 |
++} |
1284 |
++ |
1285 |
++#endif /* _ERROR_H_ */ |
1286 |
+diff --git a/src/readelf.c b/src/readelf.c |
1287 |
+index 2084fb1..af72bce 100644 |
1288 |
+--- a/src/readelf.c |
1289 |
++++ b/src/readelf.c |
1290 |
+@@ -4813,10 +4813,11 @@ listptr_base (struct listptr *p) |
1291 |
+ return cudie_base (&cu); |
1292 |
+ } |
1293 |
+ |
1294 |
++static const char *listptr_name; |
1295 |
++ |
1296 |
+ static int |
1297 |
+-compare_listptr (const void *a, const void *b, void *arg) |
1298 |
++compare_listptr (const void *a, const void *b) |
1299 |
+ { |
1300 |
+- const char *name = arg; |
1301 |
+ struct listptr *p1 = (void *) a; |
1302 |
+ struct listptr *p2 = (void *) b; |
1303 |
+ |
1304 |
+@@ -4832,21 +4833,21 @@ compare_listptr (const void *a, const void *b, void *arg) |
1305 |
+ p1->warned = p2->warned = true; |
1306 |
+ error (0, 0, |
1307 |
+ gettext ("%s %#" PRIx64 " used with different address sizes"), |
1308 |
+- name, (uint64_t) p1->offset); |
1309 |
++ listptr_name, (uint64_t) p1->offset); |
1310 |
+ } |
1311 |
+ if (p1->dwarf64 != p2->dwarf64) |
1312 |
+ { |
1313 |
+ p1->warned = p2->warned = true; |
1314 |
+ error (0, 0, |
1315 |
+ gettext ("%s %#" PRIx64 " used with different offset sizes"), |
1316 |
+- name, (uint64_t) p1->offset); |
1317 |
++ listptr_name, (uint64_t) p1->offset); |
1318 |
+ } |
1319 |
+ if (listptr_base (p1) != listptr_base (p2)) |
1320 |
+ { |
1321 |
+ p1->warned = p2->warned = true; |
1322 |
+ error (0, 0, |
1323 |
+ gettext ("%s %#" PRIx64 " used with different base addresses"), |
1324 |
+- name, (uint64_t) p1->offset); |
1325 |
++ listptr_name, (uint64_t) p1->offset); |
1326 |
+ } |
1327 |
+ if (p1->attr != p2 ->attr) |
1328 |
+ { |
1329 |
+@@ -4854,7 +4855,7 @@ compare_listptr (const void *a, const void *b, void *arg) |
1330 |
+ error (0, 0, |
1331 |
+ gettext ("%s %#" PRIx64 |
1332 |
+ " used with different attribute %s and %s"), |
1333 |
+- name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), |
1334 |
++ listptr_name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), |
1335 |
+ dwarf_attr_name (p2->attr)); |
1336 |
+ } |
1337 |
+ } |
1338 |
+@@ -4925,9 +4926,11 @@ notice_listptr (enum section_e section, struct listptr_table *table, |
1339 |
+ static void |
1340 |
+ sort_listptr (struct listptr_table *table, const char *name) |
1341 |
+ { |
1342 |
+- if (table->n > 0) |
1343 |
+- qsort_r (table->table, table->n, sizeof table->table[0], |
1344 |
+- &compare_listptr, (void *) name); |
1345 |
++ if (table->n > 0) { |
1346 |
++ listptr_name = name; |
1347 |
++ qsort (table->table, table->n, sizeof table->table[0], |
1348 |
++ &compare_listptr); |
1349 |
++ } |
1350 |
+ } |
1351 |
+ |
1352 |
+ static bool |
1353 |
+diff --git a/src/strip.c b/src/strip.c |
1354 |
+index 48792a7..d2f0c60 100644 |
1355 |
+--- a/src/strip.c |
1356 |
++++ b/src/strip.c |
1357 |
+@@ -46,6 +46,14 @@ |
1358 |
+ #include <system.h> |
1359 |
+ #include <printversion.h> |
1360 |
+ |
1361 |
++#if !defined(FNM_EXTMATCH) |
1362 |
++# define FNM_EXTMATCH 0 |
1363 |
++#endif |
1364 |
++ |
1365 |
++#if !defined(ACCESSPERMS) |
1366 |
++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) |
1367 |
++#endif |
1368 |
++ |
1369 |
+ typedef uint8_t GElf_Byte; |
1370 |
+ |
1371 |
+ /* Name and version of program. */ |
1372 |
+diff --git a/src/unstrip.c b/src/unstrip.c |
1373 |
+index fc87832..aab7caf 100644 |
1374 |
+--- a/src/unstrip.c |
1375 |
++++ b/src/unstrip.c |
1376 |
+@@ -56,6 +56,15 @@ |
1377 |
+ # define _(str) gettext (str) |
1378 |
+ #endif |
1379 |
+ |
1380 |
++#ifndef strndupa |
1381 |
++#define strndupa(s, n) \ |
1382 |
++ (__extension__ ({const char *__in = (s); \ |
1383 |
++ size_t __len = strnlen (__in, (n)) + 1; \ |
1384 |
++ char *__out = (char *) alloca (__len); \ |
1385 |
++ __out[__len-1] = '\0'; \ |
1386 |
++ (char *) memcpy (__out, __in, __len-1);})) |
1387 |
++#endif |
1388 |
++ |
1389 |
+ /* Name and version of program. */ |
1390 |
+ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
1391 |
+ |
1392 |
+-- |
1393 |
+2.23.0 |
1394 |
+ |