tools/elfutils: backport version 0.192 portability patches
These patches will be present in version 0.192 release. Include them before the update to support changes before updating and in order to have a more organized git history. Manually refreshed patch: - 110-objects-manifest.patch Add patch: - 095-src-unused-variable.patch - 096-lib-config_h.patch - 097-libcpu-config_h.patch - 098-libdw-maintainer-clean.patch - 099-remove-unlocked-stdio.patch Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Link: https://github.com/openwrt/openwrt/pull/16522 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
8f920d2f94
commit
c16ed51e06
|
@ -0,0 +1,29 @@
|
||||||
|
From ef8a4b841aaf26326b8961a651dbe915d54d23e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||||
|
Date: Tue, 19 Mar 2024 10:34:33 +0000
|
||||||
|
Subject: [PATCH] srcfiles: fix unused variable BUFFER_SIZE
|
||||||
|
|
||||||
|
The const variable BUFFER_SIZE is used only on the zip_files
|
||||||
|
function witch is only available with LIBARCHIVE.
|
||||||
|
|
||||||
|
| ../../elfutils-0.191/src/srcfiles.cxx:81:18: error: unused variable 'BUFFER_SIZE' [-Werror,-Wunused-const-variable]
|
||||||
|
| 81 | constexpr size_t BUFFER_SIZE = 8192;
|
||||||
|
| | ^~~~~~~~~~~
|
||||||
|
|
||||||
|
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
|
||||||
|
---
|
||||||
|
src/srcfiles.cxx | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
--- a/src/srcfiles.cxx
|
||||||
|
+++ b/src/srcfiles.cxx
|
||||||
|
@@ -78,7 +78,9 @@ ARGP_PROGRAM_VERSION_HOOK_DEF = print_ve
|
||||||
|
/* Bug report address. */
|
||||||
|
ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
|
||||||
|
|
||||||
|
+#ifdef HAVE_LIBARCHIVE
|
||||||
|
constexpr size_t BUFFER_SIZE = 8192;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Definitions of arguments for argp functions. */
|
||||||
|
static const struct argp_option options[] =
|
|
@ -0,0 +1,29 @@
|
||||||
|
From c981e61aa301d389f18df5fd279c1ca4d39d38a0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Pratt <mcpratt@pm.me>
|
||||||
|
Date: Thu, 10 Oct 2024 10:26:54 +0000
|
||||||
|
Subject: [PATCH] lib: Add missing config.h include to next_prime.c
|
||||||
|
|
||||||
|
This is the last remaining C source file as of this commit
|
||||||
|
without the standard conditional inclusion of config.h
|
||||||
|
as the very first header.
|
||||||
|
|
||||||
|
* lib/next_prime.c: add missing config.h header.
|
||||||
|
|
||||||
|
Signed-off-by: Michael Pratt <mcpratt@pm.me>
|
||||||
|
---
|
||||||
|
lib/next_prime.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
--- a/lib/next_prime.c
|
||||||
|
+++ b/lib/next_prime.c
|
||||||
|
@@ -27,6 +27,10 @@
|
||||||
|
the GNU Lesser General Public License along with this program. If
|
||||||
|
not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
+#ifdef HAVE_CONFIG_H
|
||||||
|
+# include <config.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
From 7f06ac2b3fc0077f29bcc68064ca8e91fa7cd080 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Pratt <mcpratt@pm.me>
|
||||||
|
Date: Thu, 10 Oct 2024 10:27:02 +0000
|
||||||
|
Subject: [PATCH] libcpu: Include config.h before standard headers in lexer
|
||||||
|
source
|
||||||
|
|
||||||
|
As part of the processing of flex, definitions and headers
|
||||||
|
are added to output source before any literal text or generated code.
|
||||||
|
|
||||||
|
This causes standard headers to come before config.h
|
||||||
|
unless config.h is included in a %top block instead
|
||||||
|
as specified in the flex manual, section 5.1 "Format of the Definitions".
|
||||||
|
|
||||||
|
The %top block is non-POSIX, so using it reinforces
|
||||||
|
the requirement of "flex" over a standardized "lex" even more.
|
||||||
|
|
||||||
|
* libcpu/i386_lex.l (%top): add flex %top block
|
||||||
|
and move config.h header inclusion to it.
|
||||||
|
|
||||||
|
Signed-off-by: Michael Pratt <mcpratt@pm.me>
|
||||||
|
---
|
||||||
|
libcpu/i386_lex.l | 10 ++++++----
|
||||||
|
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
--- a/libcpu/i386_lex.l
|
||||||
|
+++ b/libcpu/i386_lex.l
|
||||||
|
@@ -1,3 +1,9 @@
|
||||||
|
+%top{
|
||||||
|
+#ifdef HAVE_CONFIG_H
|
||||||
|
+# include <config.h>
|
||||||
|
+#endif
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
%{
|
||||||
|
/* Copyright (C) 2004, 2005, 2007, 2008 Red Hat, Inc.
|
||||||
|
Written by Ulrich Drepper <drepper@redhat.com>, 2004.
|
||||||
|
@@ -26,10 +32,6 @@
|
||||||
|
the GNU Lesser General Public License along with this program. If
|
||||||
|
not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
-#ifdef HAVE_CONFIG_H
|
||||||
|
-# include <config.h>
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#include <libeu.h>
|
|
@ -0,0 +1,43 @@
|
||||||
|
From b68f34725229b08380a1612899b0537f8f597dad Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Pratt <mcpratt@pm.me>
|
||||||
|
Date: Thu, 10 Oct 2024 10:27:09 +0000
|
||||||
|
Subject: [PATCH] libdw: Let clean targets be unconditional
|
||||||
|
|
||||||
|
The automake rule "maintainer-clean-generic"
|
||||||
|
is always available and never conditional,
|
||||||
|
so let the variable that uses it be define
|
||||||
|
non-conditionally.
|
||||||
|
|
||||||
|
If one actually wants conditional cleaning
|
||||||
|
they should write a custom rule and set it
|
||||||
|
as a dependency of a "*clean-local" automake rule.
|
||||||
|
|
||||||
|
There is no need to do conditional cleaning here,
|
||||||
|
so move the MAINTAINERCLEANFILES variable definition
|
||||||
|
to the end of the Makefile.am file as it is
|
||||||
|
in the rest of the project.
|
||||||
|
|
||||||
|
* libdw/Makefile.am: move MAINTAINERCLEANFILES
|
||||||
|
variable to the end of the file
|
||||||
|
as a non-conditional definition.
|
||||||
|
|
||||||
|
Signed-off-by: Michael Pratt <mcpratt@pm.me>
|
||||||
|
---
|
||||||
|
libdw/Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/libdw/Makefile.am
|
||||||
|
+++ b/libdw/Makefile.am
|
||||||
|
@@ -97,7 +97,6 @@ libdw_a_SOURCES = dwarf_begin.c dwarf_be
|
||||||
|
|
||||||
|
if MAINTAINER_MODE
|
||||||
|
BUILT_SOURCES = $(srcdir)/known-dwarf.h
|
||||||
|
-MAINTAINERCLEANFILES = $(srcdir)/known-dwarf.h
|
||||||
|
$(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h
|
||||||
|
gawk -f $^ > $@.new
|
||||||
|
mv -f $@.new $@
|
||||||
|
@@ -154,3 +153,4 @@ noinst_HEADERS = libdwP.h memory-access.
|
||||||
|
EXTRA_DIST = libdw.map
|
||||||
|
|
||||||
|
MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so libdw.so.$(VERSION)
|
||||||
|
+MAINTAINERCLEANFILES = $(srcdir)/known-dwarf.h
|
|
@ -0,0 +1,687 @@
|
||||||
|
From 12d58cf3e30dee91ed7aadb6475a15c6e74cc88b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Pratt <mcpratt@pm.me>
|
||||||
|
Date: Wed, 16 Oct 2024 19:53:52 +0000
|
||||||
|
Subject: [PATCH] Remove usage of "unlocked" variant of stdio print functions
|
||||||
|
|
||||||
|
These "unlocked" Linux Standard Base variants of standard functions
|
||||||
|
are not available on some systems that are still capable
|
||||||
|
of building Linux and ELFs.
|
||||||
|
|
||||||
|
The difference is negligible for simple printing to stdout.
|
||||||
|
|
||||||
|
POSIX also states for the similar putc_unlocked():
|
||||||
|
|
||||||
|
These functions can safely be used in a multi-threaded program
|
||||||
|
if and only if they are called while the invoking thread owns
|
||||||
|
the (FILE *) object, as is the case after a successful call
|
||||||
|
to the flockfile() or ftrylockfile() functions.
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
These unlocked versions can be safely used
|
||||||
|
only within explicitly locked program regions,
|
||||||
|
using exported locking primitives.
|
||||||
|
|
||||||
|
and these precautions were never done.
|
||||||
|
|
||||||
|
Use the standard forms of these print functions.
|
||||||
|
|
||||||
|
There is inconsistent use of fputc_unlocked() with putc_unlocked(),
|
||||||
|
so consistently use the safer fputc() instead.
|
||||||
|
|
||||||
|
Signed-off-by: Michael Pratt <mcpratt@pm.me>
|
||||||
|
---
|
||||||
|
libasm/asm_align.c | 4 +-
|
||||||
|
libcpu/i386_parse.y | 4 +-
|
||||||
|
libebl/eblobjnote.c | 4 +-
|
||||||
|
src/nm.c | 20 +++++-----
|
||||||
|
src/objdump.c | 24 ++++++------
|
||||||
|
src/readelf.c | 90 ++++++++++++++++++++++-----------------------
|
||||||
|
src/size.c | 8 ++--
|
||||||
|
src/strings.c | 20 +++++-----
|
||||||
|
tests/showptable.c | 8 ++--
|
||||||
|
9 files changed, 91 insertions(+), 91 deletions(-)
|
||||||
|
|
||||||
|
--- a/libasm/asm_align.c
|
||||||
|
+++ b/libasm/asm_align.c
|
||||||
|
@@ -60,13 +60,13 @@ asm_align (AsmScn_t *asmscn, GElf_Word v
|
||||||
|
fprintf (asmscn->ctx->out.file, "%02hhx\n", asmscn->pattern->bytes[0]);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- fputc_unlocked ('"', asmscn->ctx->out.file);
|
||||||
|
+ fputc ('"', asmscn->ctx->out.file);
|
||||||
|
|
||||||
|
for (size_t cnt = 0; cnt < asmscn->pattern->len; ++cnt)
|
||||||
|
fprintf (asmscn->ctx->out.file, "\\x%02hhx",
|
||||||
|
asmscn->pattern->bytes[cnt]);
|
||||||
|
|
||||||
|
- fputs_unlocked ("\"\n", asmscn->ctx->out.file);
|
||||||
|
+ fputs ("\"\n", asmscn->ctx->out.file);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
--- a/libcpu/i386_parse.y
|
||||||
|
+++ b/libcpu/i386_parse.y
|
||||||
|
@@ -1158,7 +1158,7 @@ instrtable_out (void)
|
||||||
|
EMIT_SUFFIX (w1);
|
||||||
|
EMIT_SUFFIX (W1);
|
||||||
|
|
||||||
|
- fputc_unlocked ('\n', outfile);
|
||||||
|
+ fputc ('\n', outfile);
|
||||||
|
|
||||||
|
for (int i = 0; i < 3; ++i)
|
||||||
|
{
|
||||||
|
@@ -1333,7 +1333,7 @@ instrtable_out (void)
|
||||||
|
b = b->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
- fputc_unlocked ('\n', outfile);
|
||||||
|
+ fputc ('\n', outfile);
|
||||||
|
}
|
||||||
|
fputs ("};\n", outfile);
|
||||||
|
}
|
||||||
|
--- a/libebl/eblobjnote.c
|
||||||
|
+++ b/libebl/eblobjnote.c
|
||||||
|
@@ -643,10 +643,10 @@ ebl_object_note (Ebl *ebl, uint32_t name
|
||||||
|
for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
|
||||||
|
{
|
||||||
|
if (cnt > 1)
|
||||||
|
- putchar_unlocked ('.');
|
||||||
|
+ putchar ('.');
|
||||||
|
printf ("%" PRIu32, buf[cnt]);
|
||||||
|
}
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
if (descsz / 4 > FIXED_TAG_BYTES)
|
||||||
|
free (buf);
|
||||||
|
--- a/src/nm.c
|
||||||
|
+++ b/src/nm.c
|
||||||
|
@@ -439,7 +439,7 @@ handle_ar (int fd, Elf *elf, const char
|
||||||
|
Elf_Arhdr *arhdr = NULL;
|
||||||
|
size_t arhdr_off = 0; /* Note: 0 is no valid offset. */
|
||||||
|
|
||||||
|
- fputs_unlocked (_("\nArchive index:\n"), stdout);
|
||||||
|
+ fputs (_("\nArchive index:\n"), stdout);
|
||||||
|
|
||||||
|
while (arsym->as_off != 0)
|
||||||
|
{
|
||||||
|
@@ -825,8 +825,8 @@ show_symbols_sysv (Ebl *ebl, GElf_Word s
|
||||||
|
/* If we have to precede the line with the file name. */
|
||||||
|
if (print_file_name)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (fullname, stdout);
|
||||||
|
- putchar_unlocked (':');
|
||||||
|
+ fputs (fullname, stdout);
|
||||||
|
+ putchar (':');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Convert the address. */
|
||||||
|
@@ -972,8 +972,8 @@ show_symbols_bsd (Elf *elf, const GElf_E
|
||||||
|
/* If we have to precede the line with the file name. */
|
||||||
|
if (print_file_name)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (fullname, stdout);
|
||||||
|
- putchar_unlocked (':');
|
||||||
|
+ fputs (fullname, stdout);
|
||||||
|
+ putchar (':');
|
||||||
|
}
|
||||||
|
|
||||||
|
bool is_tls = GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_TLS;
|
||||||
|
@@ -1046,8 +1046,8 @@ show_symbols_bsd (Elf *elf, const GElf_E
|
||||||
|
}
|
||||||
|
|
||||||
|
if (color_mode)
|
||||||
|
- fputs_unlocked (color_off, stdout);
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ fputs (color_off, stdout);
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef USE_DEMANGLE
|
||||||
|
@@ -1104,9 +1104,9 @@ show_symbols_posix (Elf *elf, const GElf
|
||||||
|
/* If we have to precede the line with the file name. */
|
||||||
|
if (print_file_name)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (fullname, stdout);
|
||||||
|
- putchar_unlocked (':');
|
||||||
|
- putchar_unlocked (' ');
|
||||||
|
+ fputs (fullname, stdout);
|
||||||
|
+ putchar (':');
|
||||||
|
+ putchar (' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
printf ("%s %c%s", symstr,
|
||||||
|
--- a/src/objdump.c
|
||||||
|
+++ b/src/objdump.c
|
||||||
|
@@ -580,12 +580,12 @@ show_full_content (Ebl *ebl, const char
|
||||||
|
printf ("%02hhx%02hhx%02hhx%02hhx ",
|
||||||
|
cp[inner], cp[inner + 1], cp[inner + 2],
|
||||||
|
cp[inner + 3]);
|
||||||
|
- fputc_unlocked (' ', stdout);
|
||||||
|
+ fputc (' ', stdout);
|
||||||
|
|
||||||
|
for (size_t inner = 0; inner < 16; ++inner)
|
||||||
|
- fputc_unlocked (isascii (cp[inner]) && isprint (cp[inner])
|
||||||
|
+ fputc (isascii (cp[inner]) && isprint (cp[inner])
|
||||||
|
? cp[inner] : '.', stdout);
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf (" %04zx ", cnt);
|
||||||
|
@@ -601,14 +601,14 @@ show_full_content (Ebl *ebl, const char
|
||||||
|
|
||||||
|
for (inner = 2 * (16 - inner) + (16 - inner + 3) / 4 + 1; inner > 0;
|
||||||
|
--inner)
|
||||||
|
- fputc_unlocked (' ', stdout);
|
||||||
|
+ fputc (' ', stdout);
|
||||||
|
|
||||||
|
for (inner = 0; inner < remaining; ++inner)
|
||||||
|
- fputc_unlocked (isascii (cp[inner]) && isprint (cp[inner])
|
||||||
|
+ fputc (isascii (cp[inner]) && isprint (cp[inner])
|
||||||
|
? cp[inner] : '.', stdout);
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -640,12 +640,12 @@ disasm_output (char *buf, size_t buflen,
|
||||||
|
printf ("%8" PRIx64 ": ", (uint64_t) info->addr);
|
||||||
|
|
||||||
|
if (info->bytes_color != NULL)
|
||||||
|
- fputs_unlocked (info->bytes_color, stdout);
|
||||||
|
+ fputs (info->bytes_color, stdout);
|
||||||
|
size_t cnt;
|
||||||
|
for (cnt = 0; cnt < (size_t) MIN (info->cur - info->last_end, 8); ++cnt)
|
||||||
|
printf (" %02" PRIx8, info->last_end[cnt]);
|
||||||
|
if (info->bytes_color != NULL)
|
||||||
|
- fputs_unlocked (color_off, stdout);
|
||||||
|
+ fputs (color_off, stdout);
|
||||||
|
|
||||||
|
printf ("%*s %.*s\n",
|
||||||
|
(int) (8 - cnt) * 3 + 1, "", (int) buflen, buf);
|
||||||
|
@@ -663,12 +663,12 @@ disasm_output (char *buf, size_t buflen,
|
||||||
|
printf ("%8" PRIx64 ": ", (uint64_t) info->addr);
|
||||||
|
|
||||||
|
if (info->bytes_color != NULL)
|
||||||
|
- fputs_unlocked (info->bytes_color, stdout);
|
||||||
|
+ fputs (info->bytes_color, stdout);
|
||||||
|
for (; cnt < (size_t) (info->cur - info->last_end); ++cnt)
|
||||||
|
printf (" %02" PRIx8, info->last_end[cnt]);
|
||||||
|
if (info->bytes_color != NULL)
|
||||||
|
- fputs_unlocked (color_off, stdout);
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ fputs (color_off, stdout);
|
||||||
|
+ putchar ('\n');
|
||||||
|
info->addr += info->cur - info->last_end - 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- a/src/readelf.c
|
||||||
|
+++ b/src/readelf.c
|
||||||
|
@@ -1127,7 +1127,7 @@ print_file_type (unsigned short int e_ty
|
||||||
|
static void
|
||||||
|
print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (_("ELF Header:\n Magic: "), stdout);
|
||||||
|
+ fputs (_("ELF Header:\n Magic: "), stdout);
|
||||||
|
for (size_t cnt = 0; cnt < EI_NIDENT; ++cnt)
|
||||||
|
printf (" %02hhx", ehdr->e_ident[cnt]);
|
||||||
|
|
||||||
|
@@ -1154,7 +1154,7 @@ print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
printf (_(" ABI Version: %hhd\n"),
|
||||||
|
ehdr->e_ident[EI_ABIVERSION]);
|
||||||
|
|
||||||
|
- fputs_unlocked (_(" Type: "), stdout);
|
||||||
|
+ fputs (_(" Type: "), stdout);
|
||||||
|
print_file_type (ehdr->e_type);
|
||||||
|
|
||||||
|
const char *machine = dwelf_elf_e_machine_string (ehdr->e_machine);
|
||||||
|
@@ -1196,9 +1196,9 @@ print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
printf (_(" (%" PRIu32 " in [0].sh_info)"),
|
||||||
|
(uint32_t) shdr->sh_info);
|
||||||
|
else
|
||||||
|
- fputs_unlocked (_(" ([0] not available)"), stdout);
|
||||||
|
+ fputs (_(" ([0] not available)"), stdout);
|
||||||
|
}
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
|
||||||
|
printf (_(" Size of section header entries: %" PRId16 " %s\n"),
|
||||||
|
ehdr->e_shentsize, _("(bytes)"));
|
||||||
|
@@ -1213,9 +1213,9 @@ print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
printf (_(" (%" PRIu32 " in [0].sh_size)"),
|
||||||
|
(uint32_t) shdr->sh_size);
|
||||||
|
else
|
||||||
|
- fputs_unlocked (_(" ([0] not available)"), stdout);
|
||||||
|
+ fputs (_(" ([0] not available)"), stdout);
|
||||||
|
}
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
|
||||||
|
if (unlikely (ehdr->e_shstrndx == SHN_XINDEX))
|
||||||
|
{
|
||||||
|
@@ -1406,7 +1406,7 @@ There are %zd section headers, starting
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1552,22 +1552,22 @@ print_phdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
&& shdr->sh_addr >= relro_from
|
||||||
|
&& shdr->sh_addr + shdr->sh_size <= relro_to)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (" [RELRO:", stdout);
|
||||||
|
+ fputs (" [RELRO:", stdout);
|
||||||
|
in_relro = true;
|
||||||
|
}
|
||||||
|
else if (has_relro && in_relro && shdr->sh_addr >= relro_to)
|
||||||
|
{
|
||||||
|
- fputs_unlocked ("]", stdout);
|
||||||
|
+ fputs ("]", stdout);
|
||||||
|
in_relro = false;
|
||||||
|
}
|
||||||
|
else if (has_relro && in_relro
|
||||||
|
&& shdr->sh_addr + shdr->sh_size > relro_to)
|
||||||
|
- fputs_unlocked ("] <RELRO:", stdout);
|
||||||
|
+ fputs ("] <RELRO:", stdout);
|
||||||
|
else if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_W) == 0)
|
||||||
|
{
|
||||||
|
if (!in_ro)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (" [RO:", stdout);
|
||||||
|
+ fputs (" [RO:", stdout);
|
||||||
|
in_ro = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1592,12 +1592,12 @@ print_phdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
{
|
||||||
|
if ((phdr2->p_flags & PF_W) == 0 && !in_ro)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (" [RO:", stdout);
|
||||||
|
+ fputs (" [RO:", stdout);
|
||||||
|
in_ro = true;
|
||||||
|
}
|
||||||
|
else if ((phdr2->p_flags & PF_W) != 0 && in_ro)
|
||||||
|
{
|
||||||
|
- fputs_unlocked ("]", stdout);
|
||||||
|
+ fputs ("]", stdout);
|
||||||
|
in_ro = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1610,16 +1610,16 @@ print_phdr (Ebl *ebl, GElf_Ehdr *ehdr)
|
||||||
|
if (has_relro && in_relro
|
||||||
|
&& shdr->sh_addr + shdr->sh_size > relro_to)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (">", stdout);
|
||||||
|
+ fputs (">", stdout);
|
||||||
|
in_relro = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (in_relro || in_ro)
|
||||||
|
- fputs_unlocked ("]", stdout);
|
||||||
|
+ fputs ("]", stdout);
|
||||||
|
|
||||||
|
/* Finish the line. */
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1788,8 +1788,8 @@ print_flags (int class, GElf_Xword d_val
|
||||||
|
if (d_val & flags[cnt].mask)
|
||||||
|
{
|
||||||
|
if (!first)
|
||||||
|
- putchar_unlocked (' ');
|
||||||
|
- fputs_unlocked (flags[cnt].str, stdout);
|
||||||
|
+ putchar (' ');
|
||||||
|
+ fputs (flags[cnt].str, stdout);
|
||||||
|
d_val &= ~flags[cnt].mask;
|
||||||
|
first = false;
|
||||||
|
}
|
||||||
|
@@ -1797,11 +1797,11 @@ print_flags (int class, GElf_Xword d_val
|
||||||
|
if (d_val != 0)
|
||||||
|
{
|
||||||
|
if (!first)
|
||||||
|
- putchar_unlocked (' ');
|
||||||
|
+ putchar (' ');
|
||||||
|
printf ("%#0*" PRIx64, class == ELFCLASS32 ? 10 : 18, d_val);
|
||||||
|
}
|
||||||
|
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1909,7 +1909,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||||
|
phdr->p_offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
- fputs_unlocked (_(" Type Value\n"), stdout);
|
||||||
|
+ fputs (_(" Type Value\n"), stdout);
|
||||||
|
|
||||||
|
/* if --use-dynamic option is enabled,
|
||||||
|
use the string table to get the related library info. */
|
||||||
|
@@ -1953,7 +1953,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||||
|
case DT_BIND_NOW:
|
||||||
|
case DT_TEXTREL:
|
||||||
|
/* No further output. */
|
||||||
|
- fputc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DT_NEEDED:
|
||||||
|
@@ -2147,7 +2147,7 @@ handle_relocs_rel (Ebl *ebl, GElf_Ehdr *
|
||||||
|
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
|
||||||
|
shdr->sh_offset,
|
||||||
|
nentries);
|
||||||
|
- fputs_unlocked (class == ELFCLASS32
|
||||||
|
+ fputs (class == ELFCLASS32
|
||||||
|
? _("\
|
||||||
|
Offset Type Value Name\n")
|
||||||
|
: _("\
|
||||||
|
@@ -2384,7 +2384,7 @@ handle_relocs_rela (Ebl *ebl, GElf_Ehdr
|
||||||
|
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
|
||||||
|
shdr->sh_offset,
|
||||||
|
nentries);
|
||||||
|
- fputs_unlocked (class == ELFCLASS32
|
||||||
|
+ fputs (class == ELFCLASS32
|
||||||
|
? _("\
|
||||||
|
Offset Type Value Addend Name\n")
|
||||||
|
: _("\
|
||||||
|
@@ -2891,7 +2891,7 @@ process_symtab (Ebl *ebl, unsigned int n
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2973,7 +2973,7 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||||
|
(unsigned int) shdr->sh_link,
|
||||||
|
elf_strptr (ebl->elf, shstrndx, glink->sh_name));
|
||||||
|
|
||||||
|
- fputs_unlocked (class == ELFCLASS32
|
||||||
|
+ fputs (class == ELFCLASS32
|
||||||
|
? _("\
|
||||||
|
Num: Value Size Type Bind Vis Ndx Name\n")
|
||||||
|
: _("\
|
||||||
|
@@ -3649,12 +3649,12 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||||
|
{
|
||||||
|
ssize_t n;
|
||||||
|
case 0:
|
||||||
|
- fputs_unlocked (_(" 0 *local* "),
|
||||||
|
+ fputs (_(" 0 *local* "),
|
||||||
|
stdout);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
- fputs_unlocked (_(" 1 *global* "),
|
||||||
|
+ fputs (_(" 1 *global* "),
|
||||||
|
stdout);
|
||||||
|
break;
|
||||||
|
|
||||||
|
@@ -3671,7 +3671,7 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -3718,7 +3718,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||||
|
uint64_t success = 0;
|
||||||
|
|
||||||
|
/* xgettext:no-c-format */
|
||||||
|
- fputs_unlocked (_("\
|
||||||
|
+ fputs (_("\
|
||||||
|
Length Number % of total Coverage\n"), stdout);
|
||||||
|
printf (_(" 0 %6" PRIu32 " %5.1f%%\n"),
|
||||||
|
counts[0], (counts[0] * 100.0) / nbucket);
|
||||||
|
@@ -4140,7 +4140,7 @@ print_attributes (Ebl *ebl, const GElf_E
|
||||||
|
if (unlikely (*p++ != 'A'))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- fputs_unlocked (_(" Owner Size\n"), stdout);
|
||||||
|
+ fputs (_(" Owner Size\n"), stdout);
|
||||||
|
|
||||||
|
/* Loop over the sections. */
|
||||||
|
while (left (data, p) >= 4)
|
||||||
|
@@ -7233,7 +7233,7 @@ print_encoding_base (const char *pfx, un
|
||||||
|
if (w & 0x70)
|
||||||
|
{
|
||||||
|
if (w != fde_encoding)
|
||||||
|
- fputc_unlocked (' ', stdout);
|
||||||
|
+ fputc (' ', stdout);
|
||||||
|
|
||||||
|
w = print_relinfo (w);
|
||||||
|
}
|
||||||
|
@@ -9772,7 +9772,7 @@ print_debug_line_section (Dwfl_Module *d
|
||||||
|
{
|
||||||
|
get_uleb128 (u128, linep, lineendp);
|
||||||
|
if (n != standard_opcode_lengths[opcode])
|
||||||
|
- putc_unlocked (',', stdout);
|
||||||
|
+ fputc (',', stdout);
|
||||||
|
printf (" %u", u128);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -10525,7 +10525,7 @@ print_debug_macinfo_section (Dwfl_Module
|
||||||
|
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
|
||||||
|
elf_ndxscn (scn), section_name (ebl, shdr),
|
||||||
|
(uint64_t) shdr->sh_offset);
|
||||||
|
- putc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
|
||||||
|
/* There is no function in libdw to iterate over the raw content of
|
||||||
|
the section but it is easy enough to do. */
|
||||||
|
@@ -10687,7 +10687,7 @@ print_debug_macro_section (Dwfl_Module *
|
||||||
|
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
|
||||||
|
elf_ndxscn (scn), section_name (ebl, shdr),
|
||||||
|
(uint64_t) shdr->sh_offset);
|
||||||
|
- putc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
|
||||||
|
/* Get the source file information for all CUs. Uses same
|
||||||
|
datastructure as macinfo. But uses offset field to directly
|
||||||
|
@@ -10840,15 +10840,15 @@ print_debug_macro_section (Dwfl_Module *
|
||||||
|
goto invalid_data;
|
||||||
|
args--;
|
||||||
|
if (args > 0)
|
||||||
|
- putchar_unlocked (',');
|
||||||
|
+ putchar (',');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf (_(" no arguments."));
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
|
||||||
|
int level = 1;
|
||||||
|
if (readp + 1 > readendp)
|
||||||
|
@@ -11025,14 +11025,14 @@ print_debug_macro_section (Dwfl_Module *
|
||||||
|
if (args > 0)
|
||||||
|
printf (", ");
|
||||||
|
}
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (readp + 1 > readendp)
|
||||||
|
goto invalid_data;
|
||||||
|
opcode = *readp++;
|
||||||
|
if (opcode == 0)
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -11368,7 +11368,7 @@ print_debug_frame_hdr_section (Dwfl_Modu
|
||||||
|
/* +4 because of the 4 byte header of the section. */
|
||||||
|
(uint64_t) shdr->sh_offset + 4 + eh_frame_ptr);
|
||||||
|
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t fde_count = 0;
|
||||||
|
@@ -11546,7 +11546,7 @@ print_debug_exception_table (Dwfl_Module
|
||||||
|
else if (ar_disp != 0)
|
||||||
|
puts (" -> ???");
|
||||||
|
else
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
++u;
|
||||||
|
}
|
||||||
|
while (readp < action_table_end);
|
||||||
|
@@ -13200,19 +13200,19 @@ handle_core_note (Ebl *ebl, const GElf_N
|
||||||
|
nregloc == 0 ? nhdr->n_descsz : 0,
|
||||||
|
items, nitems);
|
||||||
|
if (colno != 0)
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
|
||||||
|
colno = handle_core_registers (ebl, ebl->elf, desc + regs_offset,
|
||||||
|
reglocs, nregloc);
|
||||||
|
if (colno != 0)
|
||||||
|
- putchar_unlocked ('\n');
|
||||||
|
+ putchar ('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
handle_notes_data (Ebl *ebl, const GElf_Ehdr *ehdr,
|
||||||
|
GElf_Off start, Elf_Data *data)
|
||||||
|
{
|
||||||
|
- fputs_unlocked (_(" Owner Data size Type\n"), stdout);
|
||||||
|
+ fputs (_(" Owner Data size Type\n"), stdout);
|
||||||
|
|
||||||
|
if (data == NULL)
|
||||||
|
goto bad_note;
|
||||||
|
--- a/src/size.c
|
||||||
|
+++ b/src/size.c
|
||||||
|
@@ -411,7 +411,7 @@ show_sysv (Elf *elf, const char *prefix,
|
||||||
|
maxlen = MAX (maxlen, (int) strlen (name));
|
||||||
|
}
|
||||||
|
|
||||||
|
- fputs_unlocked (fname, stdout);
|
||||||
|
+ fputs (fname, stdout);
|
||||||
|
if (prefix != NULL)
|
||||||
|
printf (_(" (ex %s)"), prefix);
|
||||||
|
printf (":\n%-*s %*s %*s\n",
|
||||||
|
@@ -483,7 +483,7 @@ show_sysv_one_line (Elf *elf)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (! first)
|
||||||
|
- fputs_unlocked (" + ", stdout);
|
||||||
|
+ fputs (" + ", stdout);
|
||||||
|
first = false;
|
||||||
|
|
||||||
|
printf ((radix == radix_hex ? "%" PRIx64 "(%s)"
|
||||||
|
@@ -555,7 +555,7 @@ show_bsd (Elf *elf, const char *prefix,
|
||||||
|
fname);
|
||||||
|
if (prefix != NULL)
|
||||||
|
printf (_(" (ex %s)"), prefix);
|
||||||
|
- fputs_unlocked ("\n", stdout);
|
||||||
|
+ fputs ("\n", stdout);
|
||||||
|
|
||||||
|
total_textsize += textsize;
|
||||||
|
total_datasize += datasize;
|
||||||
|
@@ -607,7 +607,7 @@ show_segments (Elf *elf, const char *ful
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (! first)
|
||||||
|
- fputs_unlocked (" + ", stdout);
|
||||||
|
+ fputs (" + ", stdout);
|
||||||
|
first = false;
|
||||||
|
|
||||||
|
printf (radix == radix_hex ? "%" PRIx64 "(%c%c%c)"
|
||||||
|
--- a/src/strings.c
|
||||||
|
+++ b/src/strings.c
|
||||||
|
@@ -345,8 +345,8 @@ process_chunk_mb (const char *fname, con
|
||||||
|
/* We found a match. */
|
||||||
|
if (unlikely (fname != NULL))
|
||||||
|
{
|
||||||
|
- fputs_unlocked (fname, stdout);
|
||||||
|
- fputs_unlocked (": ", stdout);
|
||||||
|
+ fputs (fname, stdout);
|
||||||
|
+ fputs (": ", stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (unlikely (radix != radix_none))
|
||||||
|
@@ -357,7 +357,7 @@ process_chunk_mb (const char *fname, con
|
||||||
|
|
||||||
|
if (unlikely (*unprinted != NULL))
|
||||||
|
{
|
||||||
|
- fputs_unlocked (*unprinted, stdout);
|
||||||
|
+ fputs (*unprinted, stdout);
|
||||||
|
free (*unprinted);
|
||||||
|
*unprinted = NULL;
|
||||||
|
}
|
||||||
|
@@ -366,8 +366,8 @@ process_chunk_mb (const char *fname, con
|
||||||
|
assume the file data is encoded in UCS-2/UTF-16 or
|
||||||
|
UCS-4/UTF-32 respectively we could convert the string.
|
||||||
|
But there is no such guarantee. */
|
||||||
|
- fwrite_unlocked (start, 1, buf - start, stdout);
|
||||||
|
- putc_unlocked ('\n', stdout);
|
||||||
|
+ fwrite (start, 1, buf - start, stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
start = ++buf;
|
||||||
|
@@ -413,8 +413,8 @@ process_chunk (const char *fname, const
|
||||||
|
/* We found a match. */
|
||||||
|
if (likely (fname != NULL))
|
||||||
|
{
|
||||||
|
- fputs_unlocked (fname, stdout);
|
||||||
|
- fputs_unlocked (": ", stdout);
|
||||||
|
+ fputs (fname, stdout);
|
||||||
|
+ fputs (": ", stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (likely (radix != radix_none))
|
||||||
|
@@ -425,12 +425,12 @@ process_chunk (const char *fname, const
|
||||||
|
|
||||||
|
if (unlikely (*unprinted != NULL))
|
||||||
|
{
|
||||||
|
- fputs_unlocked (*unprinted, stdout);
|
||||||
|
+ fputs (*unprinted, stdout);
|
||||||
|
free (*unprinted);
|
||||||
|
*unprinted = NULL;
|
||||||
|
}
|
||||||
|
- fwrite_unlocked (start, 1, buf - start, stdout);
|
||||||
|
- putc_unlocked ('\n', stdout);
|
||||||
|
+ fwrite (start, 1, buf - start, stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
start = ++buf;
|
||||||
|
--- a/tests/showptable.c
|
||||||
|
+++ b/tests/showptable.c
|
||||||
|
@@ -111,11 +111,11 @@ main (int argc, char *argv[])
|
||||||
|
(unsigned long long int) phdr->p_memsz,
|
||||||
|
(unsigned long long int) phdr->p_align);
|
||||||
|
|
||||||
|
- putc_unlocked ((phdr->p_flags & PF_X) ? 'X' : ' ', stdout);
|
||||||
|
- putc_unlocked ((phdr->p_flags & PF_W) ? 'W' : ' ', stdout);
|
||||||
|
- putc_unlocked ((phdr->p_flags & PF_R) ? 'R' : ' ', stdout);
|
||||||
|
+ fputc ((phdr->p_flags & PF_X) ? 'X' : ' ', stdout);
|
||||||
|
+ fputc ((phdr->p_flags & PF_W) ? 'W' : ' ', stdout);
|
||||||
|
+ fputc ((phdr->p_flags & PF_R) ? 'R' : ' ', stdout);
|
||||||
|
|
||||||
|
- putc_unlocked ('\n', stdout);
|
||||||
|
+ fputc ('\n', stdout);
|
||||||
|
|
||||||
|
if (phdr->p_type == PT_INTERP)
|
||||||
|
{
|
|
@ -235,16 +235,6 @@
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
|
|
||||||
Requires.private: zlib @LIBZSTD@
|
Requires.private: zlib @LIBZSTD@
|
||||||
--- a/lib/next_prime.c
|
|
||||||
+++ b/lib/next_prime.c
|
|
||||||
@@ -27,6 +27,7 @@
|
|
||||||
the GNU Lesser General Public License along with this program. If
|
|
||||||
not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
+#include <config.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
|
|
||||||
--- a/libebl/eblopenbackend.c
|
--- a/libebl/eblopenbackend.c
|
||||||
+++ b/libebl/eblopenbackend.c
|
+++ b/libebl/eblopenbackend.c
|
||||||
@@ -200,8 +200,6 @@ static bool default_object_note (const c
|
@@ -200,8 +200,6 @@ static bool default_object_note (const c
|
||||||
|
@ -276,15 +266,3 @@
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
default_check_special_symbol (Elf *elf __attribute__ ((unused)),
|
default_check_special_symbol (Elf *elf __attribute__ ((unused)),
|
||||||
--- a/src/srcfiles.cxx
|
|
||||||
+++ b/src/srcfiles.cxx
|
|
||||||
@@ -78,7 +78,9 @@ ARGP_PROGRAM_VERSION_HOOK_DEF = print_ve
|
|
||||||
/* Bug report address. */
|
|
||||||
ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
|
|
||||||
|
|
||||||
+#ifdef HAVE_LIBARCHIVE
|
|
||||||
constexpr size_t BUFFER_SIZE = 8192;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Definitions of arguments for argp functions. */
|
|
||||||
static const struct argp_option options[] =
|
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
include_HEADERS = dwarf.h
|
include_HEADERS = dwarf.h
|
||||||
pkginclude_HEADERS = libdw.h known-dwarf.h
|
pkginclude_HEADERS = libdw.h known-dwarf.h
|
||||||
@@ -121,11 +123,13 @@ libdw.so: $(srcdir)/libdw.map $(libdw_so
|
@@ -120,11 +122,13 @@ libdw.so: $(srcdir)/libdw.map $(libdw_so
|
||||||
@$(textrel_check)
|
@$(textrel_check)
|
||||||
$(AM_V_at)ln -fs $@ $@.$(VERSION)
|
$(AM_V_at)ln -fs $@ $@.$(VERSION)
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
|
|
||||||
uninstall: uninstall-am
|
uninstall: uninstall-am
|
||||||
rm -f $(DESTDIR)$(libdir)/libdw-$(PACKAGE_VERSION).so
|
rm -f $(DESTDIR)$(libdir)/libdw-$(PACKAGE_VERSION).so
|
||||||
@@ -148,6 +152,10 @@ libdw_a_LIBADD += $(addprefix ../backend
|
@@ -147,6 +151,10 @@ libdw_a_LIBADD += $(addprefix ../backend
|
||||||
libcpu_objects = $(shell $(AR) t ../libcpu/libcpu.a)
|
libcpu_objects = $(shell $(AR) t ../libcpu/libcpu.a)
|
||||||
libdw_a_LIBADD += $(addprefix ../libcpu/,$(libcpu_objects))
|
libdw_a_LIBADD += $(addprefix ../libcpu/,$(libcpu_objects))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/libdw/Makefile.am
|
--- a/libdw/Makefile.am
|
||||||
+++ b/libdw/Makefile.am
|
+++ b/libdw/Makefile.am
|
||||||
@@ -137,19 +137,19 @@ uninstall: uninstall-am
|
@@ -136,19 +136,19 @@ uninstall: uninstall-am
|
||||||
rm -f $(DESTDIR)$(libdir)/libdw.so
|
rm -f $(DESTDIR)$(libdir)/libdw.so
|
||||||
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
|
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
libdw_a_LIBADD += $(addprefix ../libcpu/,$(libcpu_objects))
|
libdw_a_LIBADD += $(addprefix ../libcpu/,$(libcpu_objects))
|
||||||
|
|
||||||
if !BUILD_SHARED
|
if !BUILD_SHARED
|
||||||
@@ -161,4 +161,9 @@ noinst_HEADERS = libdwP.h memory-access.
|
@@ -160,5 +160,10 @@ noinst_HEADERS = libdwP.h memory-access.
|
||||||
|
|
||||||
EXTRA_DIST = libdw.map
|
EXTRA_DIST = libdw.map
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@
|
||||||
+ echo $^ > $@
|
+ echo $^ > $@
|
||||||
+
|
+
|
||||||
+MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) $(EXTRA_libdw_a_DEPENDENCIES) libdw.so libdw.so.$(VERSION)
|
+MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) $(EXTRA_libdw_a_DEPENDENCIES) libdw.so libdw.so.$(VERSION)
|
||||||
|
MAINTAINERCLEANFILES = $(srcdir)/known-dwarf.h
|
||||||
--- a/libdwfl/Makefile.am
|
--- a/libdwfl/Makefile.am
|
||||||
+++ b/libdwfl/Makefile.am
|
+++ b/libdwfl/Makefile.am
|
||||||
@@ -93,4 +93,10 @@ am_libdwfl_pic_a_OBJECTS = $(libdwfl_a_S
|
@@ -93,4 +93,10 @@ am_libdwfl_pic_a_OBJECTS = $(libdwfl_a_S
|
||||||
|
|
Loading…
Reference in New Issue