瀏覽代碼

package/elfutils: bump to version 0.192

Patch 0001 is refreshed.

Patch 0003 is removed as it's upstream.

Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Thomas Bonnefille 7 月之前
父節點
當前提交
5eb734766b

+ 12 - 10
package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch

@@ -1,4 +1,4 @@
-From 73e4da5ca780196d23db8029dcd28f87a0402711 Mon Sep 17 00:00:00 2001
+From 571445ec4643865566d2c5a9e27d9b78b8b00107 Mon Sep 17 00:00:00 2001
 From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Date: Mon, 29 May 2017 23:03:48 +0300
 Subject: [PATCH] Add a --{enable,disable}-progs configure option
@@ -22,13 +22,15 @@ Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
 Signed-off-by: Peter Seiderer <ps.report@gmx.net>
 [Fabrice: don't error out if obstack is not found]
 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Rebased on 0.192]
+Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
 ---
  Makefile.am  | 6 +++++-
- configure.ac | 6 ++++++
- 2 files changed, 11 insertions(+), 1 deletion(-)
+ configure.ac | 8 +++++++-
+ 2 files changed, 12 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 9c47afa..edf8dfc 100644
+index 92130b57..00f5176b 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -26,8 +26,12 @@ AM_MAKEFLAGS = --no-print-directory
@@ -43,13 +45,13 @@ index 9c47afa..edf8dfc 100644
 -	  libasm debuginfod src po doc tests
 +	  libasm debuginfod $(PROGS_SUBDIR) po doc tests
  
- EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
- 	     COPYING COPYING-GPLV2 COPYING-LGPLV3
+ EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING SECURITY \
+ 	     COPYING COPYING-GPLV2 COPYING-LGPLV3 CONDUCT
 diff --git a/configure.ac b/configure.ac
-index d345495..0dd4b1e 100644
+index f191488f..87d91f8f 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -393,6 +393,12 @@ AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
+@@ -426,6 +426,12 @@ AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
  	       [tests_use_rpath=$enableval], [tests_use_rpath=no])
  AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes)
  
@@ -62,7 +64,7 @@ index d345495..0dd4b1e 100644
  dnl zlib is mandatory.
  save_LIBS="$LIBS"
  LIBS=
-@@ -579,7 +585,7 @@ saved_LIBS="$LIBS"
+@@ -670,7 +676,7 @@ saved_LIBS="$LIBS"
  AC_SEARCH_LIBS([_obstack_free], [obstack])
  LIBS="$saved_LIBS"
  case "$ac_cv_search__obstack_free" in
@@ -72,5 +74,5 @@ index d345495..0dd4b1e 100644
          *) obstack_LIBS= ;;
  esac
 -- 
-2.30.1
+2.47.1
 

+ 0 - 358
package/elfutils/0003-Add-helper-function-for-basename.patch

@@ -1,358 +0,0 @@
-From 2296679efa547104ea52bf60cdda19e07c8d1e26 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 10 Dec 2023 12:20:33 -0800
-Subject: [PATCH] Add helper function for basename
-
-musl does not provide GNU version of basename and lately have removed
-the definiton from string.h [1] which exposes this problem. It can be
-made to work by providing a local implementation of basename which
-implements the GNU basename behavior, this makes it work across C
-libraries which have POSIX implementation only.
-
-[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
-
-    * lib/system.h (xbasename): New static inline functions.
-    Poison basename.
-    * libdw/dwarf_getsrc_file.c (dwarf_getsrc_file): Use xbasename.
-    * libdwfl/core-file.c (dwfl_core_file_report): Likewise.
-    * libdwfl/dwfl_module_getsrc_file.c (dwfl_module_getsrc_file):
-    Likewise.
-    * libdwfl/dwfl_segment_report_module.c (dwfl_segment_report_module):
-    Likewise.
-    * libdwfl/find-debuginfo.c (find_debuginfo_in_path): Likewise.
-    * libdwfl/link_map.c (report_r_debug): Likewise.
-    * libdwfl/linux-kernel-modules.c (try_kernel_name): Likewise.
-    * src/addr2line.c (print_dwarf_function): Likewise.
-    (print_src): Likewise.
-    * src/ar.c (do_oper_insert): Likewise.
-    And cast away const in entry.key assignment.
-    * src/nm.c (show_symbols): Use xbasename.
-    * src/stack.c (module_callback): Likewise.
-    * src/strip.c (handle_elf): Likewise.
-    * tests/show-die-info.c: Include system.h.
-    (dwarf_tag_string): Use xbasename.
-    * tests/varlocs.c: Likewise.
-    * debuginfod/debuginfod.cxx: Move include system.h to the end.
-    (register_file_name): Rename basename to filename.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Mark Wielaard <mark@klomp.org>
-Upstream: https://sourceware.org/git/?p=elfutils.git;a=commit;h=a2194f6b305bf0d0b9dd49dccd0a5c21994c8eea
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- debuginfod/debuginfod.cxx            | 10 ++++++++--
- lib/system.h                         | 14 ++++++++++++++
- libdw/dwarf_getsrc_file.c            |  2 +-
- libdwfl/core-file.c                  |  2 +-
- libdwfl/dwfl_module_getsrc_file.c    |  2 +-
- libdwfl/dwfl_segment_report_module.c |  2 +-
- libdwfl/find-debuginfo.c             |  6 +++---
- libdwfl/link_map.c                   |  2 +-
- libdwfl/linux-kernel-modules.c       |  2 +-
- src/addr2line.c                      |  4 ++--
- src/ar.c                             |  4 ++--
- src/nm.c                             |  4 ++--
- src/stack.c                          |  2 +-
- src/strip.c                          |  2 +-
- tests/show-die-info.c                |  3 ++-
- tests/varlocs.c                      |  2 +-
- 16 files changed, 42 insertions(+), 21 deletions(-)
-
-diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
-index 99b1f2b9..3b69a621 100644
---- a/debuginfod/debuginfod.cxx
-+++ b/debuginfod/debuginfod.cxx
-@@ -44,10 +44,11 @@ extern "C" {
- }
- #endif
- 
-+#ifdef HAVE_EXECINFO_H
- extern "C" {
--#include "printversion.h"
--#include "system.h"
-+#include <execinfo.h>
- }
-+#endif
- 
- #include "debuginfod.h"
- #include <dwarf.h>
-@@ -127,6 +128,11 @@ using namespace std;
- #define tid() pthread_self()
- #endif
- 
-+extern "C" {
-+#include "printversion.h"
-+#include "system.h"
-+}
-+
- 
- inline bool
- string_endswith(const string& haystack, const string& needle)
-diff --git a/lib/system.h b/lib/system.h
-index 1c914efc..0db12d99 100644
---- a/lib/system.h
-+++ b/lib/system.h
-@@ -1,6 +1,7 @@
- /* Declarations for common convenience functions.
-    Copyright (C) 2006-2011 Red Hat, Inc.
-    Copyright (C) 2022 Mark J. Wielaard <mark@klomp.org>
-+   Copyright (C) 2023 Khem Raj.
-    This file is part of elfutils.
- 
-    This file is free software; you can redistribute it and/or modify
-@@ -211,4 +212,17 @@ extern char *__cxa_demangle (const char *mangled_name, char *output_buffer,
-   extern int never_defined_just_used_for_checking[(expr) ? 1 : -1]	\
-     __attribute__ ((unused))
- 
-+/* We really want a basename implementation that doesn't modify the
-+   input argument.  Normally you get that from string.h with _GNU_SOURCE
-+   define.  But some libc implementations don't define it and other
-+   define it, but provide an implementation that still modifies the
-+   argument.  So define our own and poison a bare basename symbol.  */
-+static inline const char *
-+xbasename(const char *s)
-+{
-+  const char *p = strrchr(s, '/');
-+  return p ? p+1 : s;
-+}
-+#pragma GCC poison basename
-+
- #endif /* system.h */
-diff --git a/libdw/dwarf_getsrc_file.c b/libdw/dwarf_getsrc_file.c
-index 5289c7da..03da431c 100644
---- a/libdw/dwarf_getsrc_file.c
-+++ b/libdw/dwarf_getsrc_file.c
-@@ -98,7 +98,7 @@ dwarf_getsrc_file (Dwarf *dbg, const char *fname, int lineno, int column,
- 	      /* Match the name with the name the user provided.  */
- 	      const char *fname2 = line->files->info[lastfile].name;
- 	      if (is_basename)
--		lastmatch = strcmp (basename (fname2), fname) == 0;
-+		lastmatch = strcmp (xbasename (fname2), fname) == 0;
- 	      else
- 		lastmatch = strcmp (fname2, fname) == 0;
- 	    }
-diff --git a/libdwfl/core-file.c b/libdwfl/core-file.c
-index 87c940cb..89527d23 100644
---- a/libdwfl/core-file.c
-+++ b/libdwfl/core-file.c
-@@ -595,7 +595,7 @@ dwfl_core_file_report (Dwfl *dwfl, Elf *elf, const char *executable)
-       if (! __libdwfl_dynamic_vaddr_get (module->elf, &file_dynamic_vaddr))
- 	continue;
-       Dwfl_Module *mod;
--      mod = __libdwfl_report_elf (dwfl, basename (module->name), module->name,
-+      mod = __libdwfl_report_elf (dwfl, xbasename (module->name), module->name,
- 				  module->fd, module->elf,
- 				  module->l_ld - file_dynamic_vaddr,
- 				  true, true);
-diff --git a/libdwfl/dwfl_module_getsrc_file.c b/libdwfl/dwfl_module_getsrc_file.c
-index 513af6b8..fc144225 100644
---- a/libdwfl/dwfl_module_getsrc_file.c
-+++ b/libdwfl/dwfl_module_getsrc_file.c
-@@ -103,7 +103,7 @@ dwfl_module_getsrc_file (Dwfl_Module *mod,
- 		{
- 		  /* Match the name with the name the user provided.  */
- 		  lastfile = file;
--		  lastmatch = !strcmp (is_basename ? basename (file) : file,
-+		  lastmatch = !strcmp (is_basename ? xbasename (file) : file,
- 				       fname);
- 		}
- 	    }
-diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c
-index 3ef62a7d..d0df7100 100644
---- a/libdwfl/dwfl_segment_report_module.c
-+++ b/libdwfl/dwfl_segment_report_module.c
-@@ -718,7 +718,7 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
- 	      bias += fixup;
- 	      if (module->name[0] != '\0')
- 		{
--		  name = basename (module->name);
-+		  name = xbasename (module->name);
- 		  name_is_final = true;
- 		}
- 	      break;
-diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
-index 7f7ab632..b358c774 100644
---- a/libdwfl/find-debuginfo.c
-+++ b/libdwfl/find-debuginfo.c
-@@ -164,7 +164,7 @@ find_debuginfo_in_path (Dwfl_Module *mod, const char *file_name,
- {
-   bool cancheck = debuglink_crc != (GElf_Word) 0;
- 
--  const char *file_basename = file_name == NULL ? NULL : basename (file_name);
-+  const char *file_basename = file_name == NULL ? NULL : xbasename (file_name);
-   char *localname = NULL;
- 
-   /* We invent a debuglink .debug name if NULL, but then want to try the
-@@ -278,7 +278,7 @@ find_debuginfo_in_path (Dwfl_Module *mod, const char *file_name,
- 	  else
- 	    {
- 	      subdir = NULL;
--	      file = basename (debuglink_file);
-+	      file = xbasename (debuglink_file);
- 	    }
- 	  try_file_basename = debuglink_null;
- 	  break;
-@@ -306,7 +306,7 @@ find_debuginfo_in_path (Dwfl_Module *mod, const char *file_name,
- 	    if (mod->dw != NULL && (p[0] == '\0' || p[0] == '/'))
- 	      {
- 		fd = try_open (&main_stat, dir, ".dwz",
--			       basename (file), &fname);
-+			       xbasename (file), &fname);
- 		if (fd < 0)
- 		  {
- 		    if (errno != ENOENT && errno != ENOTDIR)
-diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c
-index 06d85eb6..9d6b68c1 100644
---- a/libdwfl/link_map.c
-+++ b/libdwfl/link_map.c
-@@ -469,7 +469,7 @@ report_r_debug (uint_fast8_t elfclass, uint_fast8_t elfdata,
- 		      if (r_debug_info_module == NULL)
- 			{
- 			  // XXX hook for sysroot
--			  mod = __libdwfl_report_elf (dwfl, basename (name),
-+			  mod = __libdwfl_report_elf (dwfl, xbasename (name),
- 						      name, fd, elf, base,
- 						      true, true);
- 			  if (mod != NULL)
-diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
-index 58c0c417..e9faba26 100644
---- a/libdwfl/linux-kernel-modules.c
-+++ b/libdwfl/linux-kernel-modules.c
-@@ -116,7 +116,7 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
- 	/* Try the file's unadorned basename as DEBUGLINK_FILE,
- 	   to look only for "vmlinux" files.  */
- 	fd = INTUSE(dwfl_standard_find_debuginfo) (&fakemod, NULL, NULL, 0,
--						   *fname, basename (*fname),
-+						   *fname, xbasename (*fname),
- 						   0, &fakemod.debug.name);
- 
-       if (fakemod.debug.name != NULL)
-diff --git a/src/addr2line.c b/src/addr2line.c
-index d902d791..d87e5b45 100644
---- a/src/addr2line.c
-+++ b/src/addr2line.c
-@@ -385,7 +385,7 @@ print_dwarf_function (Dwfl_Module *mod, Dwarf_Addr addr)
- 		  if (file == NULL)
- 		    file = "???";
- 		  else if (only_basenames)
--		    file = basename (file);
-+		    file = xbasename (file);
- 		  else if (use_comp_dir && file[0] != '/')
- 		    {
- 		      const char *const *dirs;
-@@ -568,7 +568,7 @@ print_src (const char *src, int lineno, int linecol, Dwarf_Die *cu)
-   const char *comp_dir_sep = "";
- 
-   if (only_basenames)
--    src = basename (src);
-+    src = xbasename (src);
-   else if (use_comp_dir && src[0] != '/')
-     {
-       Dwarf_Attribute attr;
-diff --git a/src/ar.c b/src/ar.c
-index 3bcb18fe..e6d6d58f 100644
---- a/src/ar.c
-+++ b/src/ar.c
-@@ -1133,7 +1133,7 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
-       for (int cnt = 0; cnt < argc; ++cnt)
- 	{
- 	  ENTRY entry;
--	  entry.key = full_path ? argv[cnt] : basename (argv[cnt]);
-+	  entry.key = full_path ? argv[cnt] : (char*)xbasename (argv[cnt]);
- 	  entry.data = &argv[cnt];
- 	  if (hsearch (entry, ENTER) == NULL)
- 	    error_exit (errno, _("cannot insert into hash table"));
-@@ -1242,7 +1242,7 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
-       /* Open all the new files, get their sizes and add all symbols.  */
-       for (int cnt = 0; cnt < argc; ++cnt)
- 	{
--	  const char *bname = basename (argv[cnt]);
-+	  const char *bname = xbasename (argv[cnt]);
- 	  size_t bnamelen = strlen (bname);
- 	  if (found[cnt] == NULL)
- 	    {
-diff --git a/src/nm.c b/src/nm.c
-index fbdee8e1..3675f59b 100644
---- a/src/nm.c
-+++ b/src/nm.c
-@@ -1417,7 +1417,7 @@ show_symbols (int fd, Ebl *ebl, GElf_Ehdr *ehdr,
- 			  int lineno;
- 			  (void) dwarf_lineno (line, &lineno);
- 			  const char *file = dwarf_linesrc (line, NULL, NULL);
--			  file = (file != NULL) ? basename (file) : "???";
-+			  file = (file != NULL) ? xbasename (file) : "???";
- 			  int n;
- 			  n = obstack_printf (&whereob, "%s:%d%c", file,
- 					      lineno, '\0');
-@@ -1448,7 +1448,7 @@ show_symbols (int fd, Ebl *ebl, GElf_Ehdr *ehdr,
- 		{
- 		  /* We found the line.  */
- 		  int n = obstack_printf (&whereob, "%s:%" PRIu64 "%c",
--					  basename ((*found)->file),
-+					  xbasename ((*found)->file),
- 					  (*found)->lineno,
- 					  '\0');
- 		  sym_mem[nentries_used].where = obstack_finish (&whereob);
-diff --git a/src/stack.c b/src/stack.c
-index 534aa93c..f4c5ba8c 100644
---- a/src/stack.c
-+++ b/src/stack.c
-@@ -152,7 +152,7 @@ module_callback (Dwfl_Module *mod, void **userdata __attribute__((unused)),
- 
-   int width = get_addr_width (mod);
-   printf ("0x%0*" PRIx64 "-0x%0*" PRIx64 " %s\n",
--	  width, start, width, end, basename (name));
-+	  width, start, width, end, xbasename (name));
- 
-   const unsigned char *id;
-   GElf_Addr id_vaddr;
-diff --git a/src/strip.c b/src/strip.c
-index 2a2cc801..88977a5c 100644
---- a/src/strip.c
-+++ b/src/strip.c
-@@ -1800,7 +1800,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
- 		      elf_errmsg (-1));
- 	}
- 
--      char *debug_basename = basename (debug_fname_embed ?: debug_fname);
-+      const char *debug_basename = xbasename (debug_fname_embed ?: debug_fname);
-       off_t crc_offset = strlen (debug_basename) + 1;
-       /* Align to 4 byte boundary */
-       crc_offset = ((crc_offset - 1) & ~3) + 4;
-diff --git a/tests/show-die-info.c b/tests/show-die-info.c
-index 1a3191cd..bda459a5 100644
---- a/tests/show-die-info.c
-+++ b/tests/show-die-info.c
-@@ -27,6 +27,7 @@
- #include <unistd.h>
- 
- #include "../libdw/known-dwarf.h"
-+#include "../lib/system.h"
- 
- static const char *
- dwarf_tag_string (unsigned int tag)
-@@ -318,7 +319,7 @@ main (int argc, char *argv[])
-       int fd = open (argv[cnt], O_RDONLY);
-       Dwarf *dbg;
- 
--      printf ("file: %s\n", basename (argv[cnt]));
-+      printf ("file: %s\n", xbasename (argv[cnt]));
- 
-       dbg = dwarf_begin (fd, DWARF_C_READ);
-       if (dbg == NULL)
-diff --git a/tests/varlocs.c b/tests/varlocs.c
-index 8e563fd3..1004f969 100644
---- a/tests/varlocs.c
-+++ b/tests/varlocs.c
-@@ -1120,7 +1120,7 @@ main (int argc, char *argv[])
- 
- 	  const char *name = (modname[0] != '\0'
- 			      ? modname
--			      :  basename (mainfile));
-+			      :  xbasename (mainfile));
- 	  printf ("module '%s'\n", name);
- 	  print_die (&cudie, "CU", 0);
- 
--- 
-2.48.1
-

+ 1 - 1
package/elfutils/elfutils.hash

@@ -1,5 +1,5 @@
 # From https://sourceware.org/elfutils/ftp/0.189/sha512.sum
-sha512  93a877e34db93e5498581d0ab2d702b08c0d87e4cafd9cec9d6636dfa85a168095c305c11583a5b0fb79374dd93bc8d0e9ce6016e6c172764bcea12861605b71  elfutils-0.189.tar.bz2
+sha512  543188f5f2cfe5bc7955a878416c5f252edff9926754e5de0c6c57b132f21d9285c9b29e41281e93baad11d4ae7efbbf93580c114579c182103565fe99bd3909  elfutils-0.192.tar.bz2
 # Locally calculated
 sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING-GPLV2

+ 1 - 1
package/elfutils/elfutils.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ELFUTILS_VERSION = 0.189
+ELFUTILS_VERSION = 0.192
 ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2
 ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION)
 ELFUTILS_INSTALL_STAGING = YES