Gentoo Archives: gentoo-commits

From: Jory Pratt <anarchy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: dev-libs/elfutils/files/, dev-libs/elfutils/
Date: Wed, 21 Aug 2019 22:42:25
Message-Id: 1566427323.4b5e40fed4ed28c0abb3fc7d1c6cdeb98298b76c.anarchy@gentoo
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 +