commit:     16e3162fd28b045ea4d6bda3fe0a007de713c7a8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 22 15:31:51 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 22 15:31:51 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16e3162f

dev-util/debugedit: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-util/debugedit/Manifest                        |   2 -
 dev-util/debugedit/debugedit-5.0-r3.ebuild         |  52 ---
 .../files/debugedit-5.0-dw-form-strx-support.patch | 390 ---------------------
 dev-util/debugedit/files/debugedit-5.0-hppa.patch  |  25 --
 .../debugedit/files/debugedit-5.0-musl-1.2.4.patch |  38 --
 .../files/debugedit-5.0-musl-error.h-fix.patch     |  50 ---
 .../debugedit/files/debugedit-5.0-readelf.patch    | 330 -----------------
 .../files/debugedit-5.0-zero-dir-entry.patch       | 130 -------
 8 files changed, 1017 deletions(-)

diff --git a/dev-util/debugedit/Manifest b/dev-util/debugedit/Manifest
index dde4482567fe..30ec4ef83593 100644
--- a/dev-util/debugedit/Manifest
+++ b/dev-util/debugedit/Manifest
@@ -1,4 +1,2 @@
-DIST debugedit-5.0.tar.xz 164820 BLAKE2B 
8e79f930a7e5c91709b1646794412836fff0b08da17a4b54beac4752a3f62c7418e3e8b8f7f3c3111ba375d6c672fee0f4279632bab3fb406a2fdd75a9e81a64
 SHA512 
7e7f529eafe41b53f0b5bfc58282fdbfa0dfa93ed7908b70e81942d6d2b6f80fc9c6bff2ed9674fd98947e5750b615f4c8b222544989e2900c5f8ff5ae0efb92
-DIST debugedit-5.0.tar.xz.sig 310 BLAKE2B 
bd8b092e400575fa62f759e4fd2e6bbfc9dbd77da2a363bd13c98b32794d515fbe7987824874b9c4be048e458c334bccb74082a78d845f07429b150083f2bcbf
 SHA512 
2223841eb6c63616dc24028e8076ab9d82579e8d6efa4bba45e5dbd0eb181c947feae6f944136f3504a78678569ae96dc6c4a0dd4e7012bd9aa522b0f7525dc9
 DIST debugedit-5.1.tar.xz 186320 BLAKE2B 
21117429cda436ef73d5b713596380558bf0cfbe1feae85c9d31a4dddce0a7a4a1ca89608c547954afd6066722aff5d048bffde79489b873df3b63ce2553dc3a
 SHA512 
72f4dcc0fba223a85d261aa38400e229f04c7c96adafe455919a8f702d3d7d9cdfb991b403d53f2ac4948ca19eeb43d3d49c0ea2616065657c120647a30575d3
 DIST debugedit-5.1.tar.xz.sig 310 BLAKE2B 
c8975b2a1a9fdfdaac01674aebf76df9dd93a59469d5660d857b2f7c71e6eb5fa1a79d09ab057e2c0050f6cd566c3ebe953e4581bffbdd2003fd45e34a97d4a9
 SHA512 
8fc5072f05df2df630994844bd758dece9479c5f68182c10fd7ba4bc1c9a9601f6e399a2ad3146e58cdef75aa36871b642b64cb53c42cedfb05b310773994e5f

diff --git a/dev-util/debugedit/debugedit-5.0-r3.ebuild 
b/dev-util/debugedit/debugedit-5.0-r3.ebuild
deleted file mode 100644
index ba51c6309867..000000000000
--- a/dev-util/debugedit/debugedit-5.0-r3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools multiprocessing verify-sig
-
-DESCRIPTION="Create debuginfo and source file distributions"
-HOMEPAGE="https://sourceware.org/debugedit/";
-SRC_URI="
-       https://sourceware.org/ftp/debugedit/${PV}/${P}.tar.xz
-       verify-sig? ( 
https://sourceware.org/ftp/debugedit/${PV}/${P}.tar.xz.sig )
-"
-
-LICENSE="GPL-2+ LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux 
~x86-linux"
-
-RDEPEND="
-       >=dev-libs/elfutils-0.176-r1
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-       sys-apps/help2man
-       virtual/pkgconfig
-       verify-sig? (
-               sec-keys/openpgp-keys-debugedit
-       )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/debugedit.gpg
-
-PATCHES=(
-       "${FILESDIR}"/${P}-readelf.patch
-       "${FILESDIR}"/${P}-zero-dir-entry.patch
-       "${FILESDIR}"/${P}-hppa.patch
-       "${FILESDIR}"/${P}-musl-error.h-fix.patch
-
-       # Upstreamed, remove next release
-       "${FILESDIR}"/${P}-musl-1.2.4.patch
-       # From upstream, remove next release
-       "${FILESDIR}"/${P}-dw-form-strx-support.patch
-)
-
-src_prepare() {
-       default
-       eautoreconf
-}
-
-src_test() {
-       emake -Onone check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
-}

diff --git a/dev-util/debugedit/files/debugedit-5.0-dw-form-strx-support.patch 
b/dev-util/debugedit/files/debugedit-5.0-dw-form-strx-support.patch
deleted file mode 100644
index 3edc77e8e5ab..000000000000
--- a/dev-util/debugedit/files/debugedit-5.0-dw-form-strx-support.patch
+++ /dev/null
@@ -1,390 +0,0 @@
-Fixes "Unknown DWARF DW_FORM_0x25" for clang DWARF5 output
-Bug: https://bugs.gentoo.org/911306
-Upstream bug: https://sourceware.org/PR28728
-Source: 
https://src.fedoraproject.org/rpms/debugedit/blob/rawhide/f/0001-debugedit-Add-support-for-.debug_str_offsets-DW_FORM.patch
---- a/tools/debugedit.c
-+++ b/tools/debugedit.c
-@@ -1,4 +1,5 @@
- /* Copyright (C) 2001-2003, 2005, 2007, 2009-2011, 2016, 2017 Red Hat, Inc.
-+   Copyright (C) 2022, 2023 Mark J. Wielaard <[email protected]>
-    Written by Alexander Larsson <[email protected]>, 2002
-    Based on code by Jakub Jelinek <[email protected]>, 2001.
-    String/Line table rewriting by Mark Wielaard <[email protected]>, 2017.
-@@ -264,6 +264,7 @@ typedef struct
- })
- 
- static uint16_t (*do_read_16) (unsigned char *ptr);
-+static uint32_t (*do_read_24) (unsigned char *ptr);
- static uint32_t (*do_read_32) (unsigned char *ptr);
- static void (*do_write_16) (unsigned char *ptr, uint16_t val);
- static void (*do_write_32) (unsigned char *ptr, uint32_t val);
-@@ -271,6 +272,9 @@ static void (*do_write_32) (unsigned char *ptr, uint32_t 
val);
- static int ptr_size;
- static int cu_version;
- 
-+/* The offset into the .debug_str_offsets section for the current CU.  */
-+static uint32_t str_offsets_base;
-+
- static inline uint16_t
- buf_read_ule16 (unsigned char *data)
- {
-@@ -283,6 +287,18 @@ buf_read_ube16 (unsigned char *data)
-   return data[1] | (data[0] << 8);
- }
- 
-+static inline uint32_t
-+buf_read_ule24 (unsigned char *data)
-+{
-+  return data[0] | (data[1] << 8) | (data[2] << 16);
-+}
-+
-+static inline uint32_t
-+buf_read_ube24 (unsigned char *data)
-+{
-+  return data[2] | (data[1] << 8) | (data[0] << 16);
-+}
-+
- static inline uint32_t
- buf_read_ule32 (unsigned char *data)
- {
-@@ -544,10 +560,12 @@ setup_relbuf (DSO *dso, debug_section *sec, int *reltype)
-       /* Relocations against section symbols are uninteresting in REL.  */
-       if (dso->shdr[i].sh_type == SHT_REL && sym.st_value == 0)
-       continue;
--      /* Only consider relocations against .debug_str, .debug_line,
--       .debug_line_str, and .debug_abbrev.  */
-+      /* Only consider relocations against .debug_str,
-+       .debug_str_offsets, .debug_line, .debug_line_str, and
-+       .debug_abbrev.  */
-       if (sym.st_shndx == 0 ||
-         (sym.st_shndx != debug_sections[DEBUG_STR].sec
-+         && sym.st_shndx != debug_sections[DEBUG_STR_OFFSETS].sec
-          && sym.st_shndx != debug_sections[DEBUG_LINE].sec
-          && sym.st_shndx != debug_sections[DEBUG_LINE_STR].sec
-          && sym.st_shndx != debug_sections[DEBUG_ABBREV].sec))
-@@ -684,6 +702,59 @@ update_rela_data (DSO *dso, struct debug_section *sec)
-   free (sec->relbuf);
- }
- 
-+static inline uint32_t
-+do_read_uleb128 (unsigned char *ptr)
-+{
-+  unsigned char *uleb_ptr = ptr;
-+  return read_uleb128 (uleb_ptr);
-+}
-+
-+static inline uint32_t
-+do_read_str_form_relocated (DSO *dso, uint32_t form, unsigned char *ptr)
-+{
-+  uint32_t idx;
-+  switch (form)
-+    {
-+    case DW_FORM_strp:
-+    case DW_FORM_line_strp:
-+      return do_read_32_relocated (ptr);
-+
-+    case DW_FORM_strx1:
-+      idx = *ptr;
-+      break;
-+    case DW_FORM_strx2:
-+      idx = do_read_16 (ptr);
-+      break;
-+    case DW_FORM_strx3:
-+      idx = do_read_24 (ptr);
-+      break;
-+    case DW_FORM_strx4:
-+      idx = do_read_32 (ptr);
-+      break;
-+    case DW_FORM_strx:
-+      idx = do_read_uleb128 (ptr);
-+      break;
-+    default:
-+      error (1, 0, "Unhandled string form DW_FORM_0x%x", form);
-+      return -1;
-+    }
-+
-+  unsigned char *str_off_ptr = debug_sections[DEBUG_STR_OFFSETS].data;
-+  str_off_ptr += str_offsets_base;
-+  str_off_ptr += idx * 4;
-+
-+  /* Switch rel reading... */
-+  REL *old_relptr = relptr;
-+  REL *old_relend = relend;
-+  setup_relbuf(dso, &debug_sections[DEBUG_STR_OFFSETS], &reltype);
-+
-+  uint32_t str_off = do_read_32_relocated (str_off_ptr);
-+
-+  relptr = old_relptr;
-+  relend = old_relend;
-+  return str_off;
-+}
-+
- struct abbrev_attr
-   {
-     unsigned int attr;
-@@ -789,7 +860,12 @@ no_memory:
-                      || form == DW_FORM_addrx1
-                      || form == DW_FORM_addrx2
-                      || form == DW_FORM_addrx3
--                     || form == DW_FORM_addrx4)))
-+                     || form == DW_FORM_addrx4
-+                     || form == DW_FORM_strx
-+                     || form == DW_FORM_strx1
-+                     || form == DW_FORM_strx2
-+                     || form == DW_FORM_strx3
-+                     || form == DW_FORM_strx4)))
-           {
-             error (0, 0, "%s: Unknown DWARF DW_FORM_0x%x", dso->filename,
-                    form);
-@@ -1520,9 +1596,10 @@ edit_dwarf2_line (DSO *dso)
-     }
- }
- 
--/* Record or adjust (according to phase) DW_FORM_strp or DW_FORM_line_strp.  
*/
-+/* Record or adjust (according to phase) DW_FORM_strp or DW_FORM_line_strp.
-+   Also handles DW_FORM_strx, but just for recording the (indexed) string.  */
- static void
--edit_strp (DSO *dso, bool line_strp, unsigned char *ptr, int phase,
-+edit_strp (DSO *dso, uint32_t form, unsigned char *ptr, int phase,
-          bool handled_strp)
- {
-   unsigned char *ptr_orig = ptr;
-@@ -1537,16 +1614,19 @@ edit_strp (DSO *dso, bool line_strp, unsigned char 
*ptr, int phase,
-        recorded. */
-       if (! handled_strp)
-       {
--        size_t idx = do_read_32_relocated (ptr);
--        record_existing_string_entry_idx (line_strp, dso, idx);
-+        size_t idx = do_read_str_form_relocated (dso, form, ptr);
-+        record_existing_string_entry_idx (form == DW_FORM_line_strp,
-+                                          dso, idx);
-       }
-     }
--  else if (line_strp
--         ? need_line_strp_update : need_strp_update) /* && phase == 1 */
-+  else if ((form == DW_FORM_strp
-+          || form == DW_FORM_line_strp) /* DW_FORM_strx stays the same.  */
-+         && (form == DW_FORM_line_strp
-+             ? need_line_strp_update : need_strp_update)) /* && phase == 1 */
-     {
-       struct stridxentry *entry;
-       size_t idx, new_idx;
--      struct strings *strings = (line_strp
-+      struct strings *strings = (form == DW_FORM_line_strp
-                                ? &dso->debug_line_str : &dso->debug_str);
-       idx = do_read_32_relocated (ptr);
-       entry = string_find_entry (strings, idx);
-@@ -1926,9 +2006,10 @@ read_dwarf5_line_entries (DSO *dso, unsigned char 
**ptrp,
- 
-         switch (form)
-           {
-+          /* Note we don't expect DW_FORM_strx in the line table.  */
-           case DW_FORM_strp:
-           case DW_FORM_line_strp:
--            edit_strp (dso, line_strp, *ptrp, phase, handled_strp);
-+            edit_strp (dso, form, *ptrp, phase, handled_strp);
-             break;
-           }
- 
-@@ -2110,11 +2191,12 @@ find_new_list_offs (struct debug_lines *lines, size_t 
idx)
- 
- /* Read DW_FORM_strp or DW_FORM_line_strp collecting compilation directory.  
*/
- static void
--edit_attributes_str_comp_dir (bool line_strp, DSO *dso, unsigned char **ptrp,
-+edit_attributes_str_comp_dir (uint32_t form, DSO *dso, unsigned char **ptrp,
-                             int phase, char **comp_dirp, bool *handled_strpp)
- {
-   const char *dir;
--  size_t idx = do_read_32_relocated (*ptrp);
-+  size_t idx = do_read_str_form_relocated (dso, form, *ptrp);
-+  bool line_strp = form == DW_FORM_line_strp;
-   /* In phase zero we collect the comp_dir.  */
-   if (phase == 0)
-     {
-@@ -2245,20 +2327,29 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct 
abbrev_tag *t, int phase)
-                       }
-                   }
-               }
--            else if (form == DW_FORM_strp)
--              edit_attributes_str_comp_dir (false /* line_strp */, dso,
-+            else if (form == DW_FORM_strp
-+                     || form == DW_FORM_line_strp
-+                     || form == DW_FORM_strx
-+                     || form == DW_FORM_strx1
-+                     || form == DW_FORM_strx2
-+                     || form == DW_FORM_strx3
-+                     || form == DW_FORM_strx4)
-+              edit_attributes_str_comp_dir (form, dso,
-                                             &ptr, phase, &comp_dir,
-                                             &handled_strp);
--            else if (form == DW_FORM_line_strp)
--              edit_attributes_str_comp_dir (true /* line_strp */, dso, &ptr,
--                                            phase, &comp_dir, &handled_strp);
-           }
-         else if ((t->tag == DW_TAG_compile_unit
-                   || t->tag == DW_TAG_partial_unit)
-                  && ((form == DW_FORM_strp
-                       && debug_sections[DEBUG_STR].data)
-                      || (form == DW_FORM_line_strp
--                         && debug_sections[DEBUG_LINE_STR].data))
-+                         && debug_sections[DEBUG_LINE_STR].data)
-+                     || ((form == DW_FORM_strx
-+                          || form == DW_FORM_strx1
-+                          || form == DW_FORM_strx2
-+                          || form == DW_FORM_strx3
-+                          || form == DW_FORM_strx4)
-+                         && debug_sections[DEBUG_STR_OFFSETS].data))
-                  && t->attr[i].attr == DW_AT_name)
-           {
-             bool line_strp = form == DW_FORM_line_strp;
-@@ -2267,7 +2358,7 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct 
abbrev_tag *t, int phase)
-                unit. If starting with / it is a full path name.
-                Note that we don't handle DW_FORM_string in this
-                case.  */
--            size_t idx = do_read_32_relocated (ptr);
-+            size_t idx = do_read_str_form_relocated (dso, form, ptr);
- 
-             /* In phase zero we will look for a comp_dir to use.  */
-             if (phase == 0)
-@@ -2314,10 +2405,13 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct 
abbrev_tag *t, int phase)
-         switch (form)
-           {
-           case DW_FORM_strp:
--            edit_strp (dso, false /* line_strp */, ptr, phase, handled_strp);
--            break;
-           case DW_FORM_line_strp:
--            edit_strp (dso, true /* line_strp */, ptr, phase, handled_strp);
-+          case DW_FORM_strx:
-+          case DW_FORM_strx1:
-+          case DW_FORM_strx2:
-+          case DW_FORM_strx3:
-+          case DW_FORM_strx4:
-+            edit_strp (dso, form, ptr, phase, handled_strp);
-             break;
-           }
- 
-@@ -2404,6 +2498,8 @@ edit_info (DSO *dso, int phase, struct debug_section 
*sec)
-   uint32_t value;
-   htab_t abbrev;
-   struct abbrev_tag tag, *t;
-+  int i;
-+  bool first;
- 
-   ptr = sec->data;
-   if (ptr == NULL)
-@@ -2507,6 +2603,8 @@ edit_info (DSO *dso, int phase, struct debug_section 
*sec)
-       if (abbrev == NULL)
-       return 1;
- 
-+      first = true;
-+      str_offsets_base = 0;
-       while (ptr < endcu)
-       {
-         tag.entry = read_uleb128 (ptr);
-@@ -2521,6 +2619,30 @@ edit_info (DSO *dso, int phase, struct debug_section 
*sec)
-             return 1;
-           }
- 
-+        /* We need str_offsets_base before processing the CU. */
-+        if (first)
-+          {
-+            first = false;
-+            if (cu_version >= 5)
-+              {
-+                uint32_t form;
-+                unsigned char *fptr = ptr;
-+                // We will read this DIE again, save and reset rel reading
-+                REL *old_relptr = relptr;
-+                for (i = 0; i < t->nattr; ++i)
-+                  {
-+                    form = t->attr[i].form;
-+                    if (t->attr[i].attr == DW_AT_str_offsets_base)
-+                      {
-+                        str_offsets_base = do_read_32_relocated (fptr);
-+                        break;
-+                      }
-+                    skip_form (dso, &form, &fptr);
-+                  }
-+                // Reset the rel reading...
-+                relptr = old_relptr;
-+              }
-+          }
-         ptr = edit_attributes (dso, ptr, t, phase);
-         if (ptr == NULL)
-           break;
-@@ -2554,6 +2676,41 @@ edit_dwarf2_any_str (DSO *dso, struct strings *strings, 
debug_section *secp)
-   strings->str_buf = strdata->d_buf;
- }
- 
-+/* Rebuild .debug_str_offsets.  */
-+static void
-+update_str_offsets (DSO *dso)
-+{
-+  unsigned char *ptr = debug_sections[DEBUG_STR_OFFSETS].data;
-+  unsigned char *endp = ptr + debug_sections[DEBUG_STR_OFFSETS].size;
-+
-+  while (ptr < endp)
-+    {
-+      /* Read header, unit_length, version and padding.  */
-+      if (endp - ptr < 3 * 4)
-+      break;
-+      uint32_t unit_length = read_32 (ptr);
-+      if (unit_length == 0xffffffff || endp - ptr < unit_length)
-+      break;
-+      unsigned char *endidxp = ptr + unit_length;
-+      uint32_t version = read_32 (ptr);
-+      if (version != 5)
-+      break;
-+      uint32_t padding = read_32 (ptr);
-+      if (padding != 0)
-+      break;
-+
-+      while (ptr < endidxp)
-+      {
-+        struct stridxentry *entry;
-+        size_t idx, new_idx;
-+        idx = do_read_32_relocated (ptr);
-+        entry = string_find_entry (&dso->debug_str, idx);
-+        new_idx = strent_offset (entry->entry);
-+        write_32_relocated (ptr, new_idx);
-+      }
-+    }
-+}
-+
- static int
- edit_dwarf2 (DSO *dso)
- {
-@@ -2675,6 +2832,7 @@ edit_dwarf2 (DSO *dso)
-   if (dso->ehdr.e_ident[EI_DATA] == ELFDATA2LSB)
-     {
-       do_read_16 = buf_read_ule16;
-+      do_read_24 = buf_read_ule24;
-       do_read_32 = buf_read_ule32;
-       do_write_16 = dwarf2_write_le16;
-       do_write_32 = dwarf2_write_le32;
-@@ -2682,6 +2840,7 @@ edit_dwarf2 (DSO *dso)
-   else if (dso->ehdr.e_ident[EI_DATA] == ELFDATA2MSB)
-     {
-       do_read_16 = buf_read_ube16;
-+      do_read_24 = buf_read_ube24;
-       do_read_32 = buf_read_ube32;
-       do_write_16 = dwarf2_write_be16;
-       do_write_32 = dwarf2_write_be32;
-@@ -2997,6 +3156,15 @@ edit_dwarf2 (DSO *dso)
-     dirty_section (DEBUG_MACRO);
-   if (need_stmt_update || need_line_strp_update)
-     dirty_section (DEBUG_LINE);
-+  if (need_strp_update && debug_sections[DEBUG_STR_OFFSETS].data != NULL)
-+    {
-+      setup_relbuf(dso, &debug_sections[DEBUG_STR_OFFSETS], &reltype);
-+      rel_updated = false;
-+      update_str_offsets (dso);
-+      dirty_section (DEBUG_STR_OFFSETS);
-+      if (rel_updated)
-+      update_rela_data (dso, &debug_sections[DEBUG_STR_OFFSETS]);
-+    }
- 
-   /* Update any relocations addends we might have touched. */
-   if (info_rel_updated)
--- 
-2.42.0

diff --git a/dev-util/debugedit/files/debugedit-5.0-hppa.patch 
b/dev-util/debugedit/files/debugedit-5.0-hppa.patch
deleted file mode 100644
index 296b9a4390ff..000000000000
--- a/dev-util/debugedit/files/debugedit-5.0-hppa.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://sourceware.org/git/?p=debugedit.git;a=commitdiff;h=86130f41d05584581530fc65aa119badb400f4d4
-
-From: Mark Wielaard <[email protected]>
-Date: Thu, 18 Nov 2021 14:14:28 +0100
-Subject: [PATCH] debugedit: Handle hppa EM_PARISC and R_PARISC_DIR32
-
-       * tools/debugedit.c (setup_relbuf): Handle EM_PARISC
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=28598
-
-Patch-provided-by: [email protected]
-Signed-off-by: Mark Wielaard <[email protected]>
---- a/tools/debugedit.c
-+++ b/tools/debugedit.c
-@@ -590,6 +590,10 @@ setup_relbuf (DSO *dso, debug_section *sec, int *reltype)
-         if (rtype != R_390_32)
-           goto fail;
-         break;
-+      case EM_PARISC:
-+        if (rtype != R_PARISC_DIR32)
-+          goto fail;
-+        break;
-       case EM_IA_64:
-         if (rtype != R_IA64_SECREL32LSB)
-           goto fail;

diff --git a/dev-util/debugedit/files/debugedit-5.0-musl-1.2.4.patch 
b/dev-util/debugedit/files/debugedit-5.0-musl-1.2.4.patch
deleted file mode 100644
index 1fe01df67c2a..000000000000
--- a/dev-util/debugedit/files/debugedit-5.0-musl-1.2.4.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 187ba161d1d18ad0d675115d8a9eee7ec1790074 Mon Sep 17 00:00:00 2001
-From: Violet Purcell <[email protected]>
-Date: Mon, 26 Jun 2023 21:46:20 +0000
-Subject: [PATCH] Fix build failure on musl 1.2.4 due to removal of LFS64
- compat symbols.
-
---- a/tools/sepdebugcrcfix.c
-+++ b/tools/sepdebugcrcfix.c
-@@ -144,7 +144,7 @@ crc32 (const char *fname, const char *base_fname, uint32_t 
*crcp)
-       error (0, errno, _("cannot open \"%s\""), debugname);
-       return false;
-     }
--  off64_t size = lseek64 (fd, 0, SEEK_END);
-+  off_t size = lseek (fd, 0, SEEK_END);
-   if (size == -1)
-     {
-       error (0, errno, _("cannot get size of \"%s\""), debugname);
-@@ -289,7 +289,7 @@ process (Elf *elf, int fd, const char *fname)
-         return true;
-       }
-       updated_count++;
--      off64_t seekto = (shdr->sh_offset + data->d_off
-+      off_t seekto = (shdr->sh_offset + data->d_off
-                       + (crcp - (const uint8_t *) data->d_buf));
-       uint32_t crc_targetendian = (ehdr->e_ident[EI_DATA] == ELFDATA2LSB
-                                  ? htole32 (crc) : htobe32 (crc));
-@@ -361,7 +361,7 @@ main (int argc, char **argv)
-       error (0, errno, _("cannot chmod \"%s\" to make sure we can read and 
write"), fname);
- 
-       bool failed = false;
--      int fd = open64 (fname, O_RDWR);
-+      int fd = open (fname, O_RDWR);
-       if (fd == -1)
-       {
-         error (0, errno, _("cannot open \"%s\""), fname);
--- 
-2.41.0
-

diff --git a/dev-util/debugedit/files/debugedit-5.0-musl-error.h-fix.patch 
b/dev-util/debugedit/files/debugedit-5.0-musl-error.h-fix.patch
deleted file mode 100644
index 4c7f23911108..000000000000
--- a/dev-util/debugedit/files/debugedit-5.0-musl-error.h-fix.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-# musl doesn't provide error.h as a result debugedit is failing to build on
-# musl.
-#
-# With advice from developer Anthony G. Basile <[email protected]> I went
-# with creating a define that redefines the err function. The major
-# improvements over the previous implementation is that this time the patch is
-# smaller and more readable compared to previous implementation.
-#
-# Closes: https://bugs.gentoo.org/714206
---- a/configure.ac
-+++ b/configure.ac
-@@ -57,6 +57,8 @@ PKG_CHECK_MODULES([LIBDW], [libdw])
-
- # Checks for header files.
- AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h malloc.h stddef.h stdint.h 
stdlib.h string.h unistd.h])
-+AC_CHECK_HEADERS([error.h],
-+               [AC_DEFINE(HAVE_ERROR_H, 1, [has error.h -- non musl system])])
-
- # Checks for typedefs, structures, and compiler characteristics.
- AC_CHECK_HEADER_STDBOOL
---- a/tools/debugedit.c
-+++ b/tools/debugedit.c
-@@ -25,7 +25,12 @@
- #include <byteswap.h>
- #include <endian.h>
- #include <errno.h>
-+#ifdef HAVE_ERROR_H
- #include <error.h>
-+#else
-+#include <err.h>
-+#define error(status, errno, ...) err(status, __VA_ARGS__)
-+#endif
- #include <limits.h>
- #include <string.h>
- #include <stdlib.h>
---- a/tools/sepdebugcrcfix.c
-+++ b/tools/sepdebugcrcfix.c
-@@ -29,7 +29,12 @@
- #include <endian.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#ifdef HAVE_ERROR_H
- #include <error.h>
-+#else
-+#include <err.h>
-+#define error(status, errno, ...) err(status, __VA_ARGS__)
-+#endif
- #include <libelf.h>
- #include <gelf.h>
-

diff --git a/dev-util/debugedit/files/debugedit-5.0-readelf.patch 
b/dev-util/debugedit/files/debugedit-5.0-readelf.patch
deleted file mode 100644
index 547b68710324..000000000000
--- a/dev-util/debugedit/files/debugedit-5.0-readelf.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-From 56e41d7c716a3657bdcce05146f7509d8a4e4a74 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <[email protected]>
-Date: Sun, 1 Aug 2021 21:15:35 +0100
-Subject: [PATCH] use $READELF, not readelf
-
-Allow user to specify own readelf. Use detected readelf,
-not 'readelf'.
-
-Noticed as a set of test failures on system with only
-$host-prefixed tools:
-
-  debugedit/tests/testsuite.dir/at-groups/4/test-source:
-    line 40: readelf: command not found
-
-       * configure.ac: Add READELF user override.
-       * scripts/find-debuginfo.in: Use @READELF@ instead of 'readelf'.
-       * tests/atlocal.in: Populate READELF variable detected by configure.
-       * tests/debugedit.at: Use $READELF instad of 'readelf' in tests.
-       * Makefile.am (do_subst): Add READELF substitution.
-
-Signed-off-by: Sergei Trofimovich <[email protected]>
----
- Makefile.am               |  3 ++-
- configure.ac              |  1 +
- scripts/find-debuginfo.in |  2 +-
- tests/atlocal.in          |  1 +
- tests/debugedit.at        | 54 +++++++++++++++++++--------------------
- 5 files changed, 32 insertions(+), 29 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 98b2f20..2060b96 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -32,7 +32,8 @@ CLEANFILES = $(bin_SCRIPTS)
- 
- # Some standard substitutions for scripts
- do_subst = ($(SED) -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
--                 -e 's,[@]VERSION[@],$(VERSION),g')
-+                 -e 's,[@]VERSION[@],$(VERSION),g' \
-+                 -e 's,[@]READELF[@],$(READELF),g')
- 
- find-debuginfo: $(top_srcdir)/scripts/find-debuginfo.in Makefile
-       $(do_subst) < "$(top_srcdir)/scripts/[email protected]" > "$@"
-diff --git a/configure.ac b/configure.ac
-index 85f2c4f..e5c9230 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -44,6 +44,7 @@ AC_PROG_SED
- AC_PROG_CC_C99
- AC_PROG_LN_S
- AC_CHECK_TOOL([LD], [ld])
-+AC_CHECK_TOOL([READELF], [readelf])
- AM_MISSING_PROG(HELP2MAN, help2man)
- 
- # Only really an issue on 32bit platforms. Makes sure we'll get large off_t.
-diff --git a/scripts/find-debuginfo.in b/scripts/find-debuginfo.in
-index 8b9ce77..9c0a735 100755
---- a/scripts/find-debuginfo.in
-+++ b/scripts/find-debuginfo.in
-@@ -338,7 +338,7 @@ add_minidebug()
-   # symbol and NOBITS sections so cannot use --keep-only because that is
-   # too aggressive. Field $2 is the section name, $3 is the section type
-   # and $8 are the section flags.
--  local remove_sections=`readelf -W -S "$debuginfo" \
-+  local remove_sections=`@READELF@ -W -S "$debuginfo" \
-       | awk '{ if (index($2,".debug_") != 1 \
-                    && ($3 == "PROGBITS" || $3 == "NOTE" || $3 == "NOBITS") \
-                    && index($8,"A") == 0) \
-diff --git a/tests/atlocal.in b/tests/atlocal.in
-index 0eec351..8399f8d 100644
---- a/tests/atlocal.in
-+++ b/tests/atlocal.in
-@@ -9,6 +9,7 @@ CC="@CC@"
- CFLAGS=""
- LD="@LD@"
- LDFLAGS=""
-+READELF="@READELF@"
- 
- GDWARF_5_FLAG=@GDWARF_5_FLAG@
- GZ_NONE_FLAG=@GZ_NONE_FLAG@
-diff --git a/tests/debugedit.at b/tests/debugedit.at
-index 608b1d0..0311d26 100644
---- a/tests/debugedit.at
-+++ b/tests/debugedit.at
-@@ -93,7 +93,7 @@ DEBUGEDIT_SETUP([-gdwarf-4])
- 
- # Capture strings that start with the testdir (pwd) directory path
- # (and replace that textually with /foo/bar/baz)
--readelf -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
-+$READELF -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
-         | grep ^$(pwd) | sort \
-         | sed -e "s@$(pwd)@/foo/bar/baz@" > expout
- 
-@@ -108,7 +108,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
--readelf -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
-+$READELF -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
-         | grep ^/foo/bar/baz | sort
- ]],[0],[expout])
- 
-@@ -125,7 +125,7 @@ DEBUGEDIT_SETUP([-gdwarf-5])
- 
- # Capture strings that start with the testdir (pwd) directory path
- # (and replace that textually with /foo/bar/baz)
--readelf -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
-+$READELF -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
-         | cut -c13- \
-         | grep ^$(pwd) | sort | uniq \
-         | sed -e "s@$(pwd)@/foo/bar/baz@" > expout
-@@ -141,7 +141,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
--readelf -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
-+$READELF -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
-         | cut -c13- \
-         | grep ^/foo/bar/baz | sort | uniq
- ]],[0],[expout],[ignore])
-@@ -160,7 +160,7 @@ DEBUGEDIT_SETUP([-gdwarf-4])
- # (and replace that textually with /foo/bar/baz)
- # Note that partially linked files, might have multiple duplicate
- # strings, but debugedit will merge them. So use sort -u.
--readelf -p.debug_str ./foobarbaz.part.o | cut -c13- \
-+$READELF -p.debug_str ./foobarbaz.part.o | cut -c13- \
-         | grep ^$(pwd) | sort -u \
-         | sed -e "s@$(pwd)@/foo/bar/baz@" > expout
- 
-@@ -173,7 +173,7 @@ fi
- # Check the replaced strings are all there.
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf -p.debug_str ./foobarbaz.part.o | cut -c13- \
-+$READELF -p.debug_str ./foobarbaz.part.o | cut -c13- \
-         | grep ^/foo/bar/baz | sort
- ]],[0],[expout])
- 
-@@ -192,7 +192,7 @@ DEBUGEDIT_SETUP([-gdwarf-5])
- # (and replace that textually with /foo/bar/baz)
- # Note that partially linked files, might have multiple duplicate
- # strings, but debugedit will merge them. So use sort -u.
--readelf -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
-+$READELF -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
-         | grep ^$(pwd) | sort -u | uniq \
-         | sed -e "s@$(pwd)@/foo/bar/baz@" > expout
- 
-@@ -205,7 +205,7 @@ fi
- # Check the replaced strings are all there.
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
-+$READELF -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
-         | grep ^/foo/bar/baz | sort | uniq
- ]],[0],[expout],[ignore])
- 
-@@ -221,7 +221,7 @@ DEBUGEDIT_SETUP([-gdwarf-4])
- 
- # Capture strings that start with the testdir (pwd) directory path
- # (and replace that textually with /foo/bar/baz)
--readelf -p.debug_str foobarbaz.exe | cut -c13- \
-+$READELF -p.debug_str foobarbaz.exe | cut -c13- \
-         | grep ^$(pwd) | sort \
-         | sed -e "s@$(pwd)@/foo/bar/baz@" > expout
- 
-@@ -235,7 +235,7 @@ fi
- # Check the replaced strings are all there.
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf -p.debug_str foobarbaz.exe | cut -c13- \
-+$READELF -p.debug_str foobarbaz.exe | cut -c13- \
-         | grep ^/foo/bar/baz | sort
- ]],[0],[expout])
- 
-@@ -252,7 +252,7 @@ DEBUGEDIT_SETUP([-gdwarf-5])
- 
- # Capture strings that start with the testdir (pwd) directory path
- # (and replace that textually with /foo/bar/baz)
--readelf -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
-+$READELF -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
-         | grep ^$(pwd) | sort | uniq \
-         | sed -e "s@$(pwd)@/foo/bar/baz@" > expout
- 
-@@ -266,7 +266,7 @@ fi
- # Check the replaced strings are all there.
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
-+$READELF -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
-         | grep ^/foo/bar/baz | sort | uniq
- ]],[0],[expout],[ignore])
- 
-@@ -305,7 +305,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
--readelf --debug-dump=info foo.o subdir_bar/bar.o baz.o \
-+$READELF --debug-dump=info foo.o subdir_bar/bar.o baz.o \
-         | grep -E 'DW_AT_(name|comp_dir)' \
-         | rev | cut -d: -f1 | rev | cut -c2- | grep ^/foo/bar/baz | sort -u
- ]],[0],[expout])
-@@ -328,7 +328,7 @@ AT_DATA([expout],
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf --debug-dump=info ./foobarbaz.part.o \
-+$READELF --debug-dump=info ./foobarbaz.part.o \
-         | grep -E 'DW_AT_(name|comp_dir)' \
-         | rev | cut -d: -f1 | rev | cut -c2- | grep ^/foo/bar/baz | sort -u
- ]],[0],[expout])
-@@ -351,7 +351,7 @@ AT_DATA([expout],
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf --debug-dump=info ./foobarbaz.exe | grep -E 'DW_AT_(name|comp_dir)' \
-+$READELF --debug-dump=info ./foobarbaz.exe | grep -E 'DW_AT_(name|comp_dir)' \
-         | rev | cut -d: -f1 | rev | cut -c2- | grep ^/foo/bar/baz | sort -u
- ]],[0],[expout])
- 
-@@ -385,7 +385,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz 
./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
- for i in ./foo.o ./subdir_bar/bar.o ./baz.o;do \
--  readelf --debug-dump=info $i \
-+  $READELF --debug-dump=info $i \
-           | awk '/Abbrev 
Number:.*DW_TAG_type_unit/{p=1}{if(p)print}/^$/{p=0}' \
-           | sed -n 's/^.*> *DW_AT_name *:.* \(stringp[^ ]*\|st.\)$/\1/p' \
-           | sort;
-@@ -415,7 +415,7 @@ stz
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf --debug-dump=info ./foobarbaz.part.o \
-+$READELF --debug-dump=info ./foobarbaz.part.o \
-         | awk '/Abbrev Number:.*DW_TAG_type_unit/{p=1}{if(p)print}/^$/{p=0}' \
-         | sed -n 's/^.*> *DW_AT_name *:.* \(stringp[^ ]*\|st.\)$/\1/p' \
-         | sort
-@@ -444,7 +444,7 @@ stz
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf --debug-dump=info ./foobarbaz.exe \
-+$READELF --debug-dump=info ./foobarbaz.exe \
-         | awk '/Abbrev Number:.*DW_TAG_type_unit/{p=1}{if(p)print}/^$/{p=0}' \
-         | sed -n 's/^.*> *DW_AT_name *:.* \(stringp[^ ]*\|st.\)$/\1/p' \
-         | sort
-@@ -474,7 +474,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
--readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
-+$READELF --debug-dump=line foo.o subdir_bar/bar.o baz.o \
-         | grep -A3 "The Directory Table" | grep "^  [123]" \
-       | grep /foo/ | cut -c5- | sort
- ]],[0],[expout])
-@@ -499,7 +499,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
--readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
-+$READELF --debug-dump=line foo.o subdir_bar/bar.o baz.o \
-         | grep -A5 "The Directory Table" | grep "^  [123]" \
-       | cut -f2- -d/ | grep ^foo/ | sort
- ]],[0],[expout])
-@@ -521,7 +521,7 @@ AT_DATA([expout],
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf --debug-dump=line ./foobarbaz.part.o \
-+$READELF --debug-dump=line ./foobarbaz.part.o \
-         | grep -A3 "The Directory Table" | grep "^  [123]" \
-       | grep /foo/ | cut -c5- | sort
- ]],[0],[expout])
-@@ -544,7 +544,7 @@ foo/bar/baz/subdir_headers
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf --debug-dump=line ./foobarbaz.part.o \
-+$READELF --debug-dump=line ./foobarbaz.part.o \
-         | grep -A5 "The Directory Table" | grep "^  [123]" \
-       | cut -f2- -d/ | grep ^foo/ | sort
- ]],[0],[expout])
-@@ -566,7 +566,7 @@ AT_DATA([expout],
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf --debug-dump=line ./foobarbaz.exe \
-+$READELF --debug-dump=line ./foobarbaz.exe \
-         | grep -A3 "The Directory Table" | grep "^  [123]" \
-       | grep /foo/ | cut -c5- | sort
- ]],[0],[expout])
-@@ -589,7 +589,7 @@ foo/bar/baz/subdir_headers
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf --debug-dump=line ./foobarbaz.exe \
-+$READELF --debug-dump=line ./foobarbaz.exe \
-         | grep -A5 "The Directory Table" | grep "^  [123]" \
-       | cut -f2- -d/ | grep ^foo/ | sort
- ]],[0],[expout])
-@@ -615,7 +615,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
--readelf --debug-dump=macro foo.o subdir_bar/bar.o baz.o \
-+$READELF --debug-dump=macro foo.o subdir_bar/bar.o baz.o \
-         | grep NUMBER | rev | cut -d: -f1 | rev | cut -c2-
- ]],[0],[expout])
- 
-@@ -638,7 +638,7 @@ NUMBER 42
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
--readelf --debug-dump=macro ./foobarbaz.part.o \
-+$READELF --debug-dump=macro ./foobarbaz.part.o \
-         | grep NUMBER | rev | cut -d: -f1 | rev | cut -c2-
- ]],[0],[expout])
- 
-@@ -661,7 +661,7 @@ NUMBER 42
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
--readelf --debug-dump=macro ./foobarbaz.exe \
-+$READELF --debug-dump=macro ./foobarbaz.exe \
-         | grep NUMBER | rev | cut -d: -f1 | rev | cut -c2-
- ]],[0],[expout])
- 
--- 
-2.27.0
-

diff --git a/dev-util/debugedit/files/debugedit-5.0-zero-dir-entry.patch 
b/dev-util/debugedit/files/debugedit-5.0-zero-dir-entry.patch
deleted file mode 100644
index f564b0b99e84..000000000000
--- a/dev-util/debugedit/files/debugedit-5.0-zero-dir-entry.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From ae27211cbbfb63a0ad3c141cd1310d7f583ec40e Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <[email protected]>
-Date: Fri, 30 Jul 2021 18:09:46 +0200
-Subject: [PATCH] tests: Handle zero directory entry in .debug_line DWARF5
- debugedit.at
-
-We were skipping the zero directory entry, because it was always
-the same as the directory entry at position one. But that isn't
-true anymore with gcc 11.2.1. There the zero dir entry is unique.
-Fix the debugedit.at .debug_line testcases using DWARF5 to also
-include dir entry zero.
-
-Signed-off-by: Mark Wielaard <[email protected]>
----
- configure.ac       | 14 ++++++++++++++
- tests/atlocal.in   |  1 +
- tests/debugedit.at | 18 ++++++++++++------
- 3 files changed, 27 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index e5c9230..6a53365 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -87,6 +87,20 @@ CFLAGS="$save_CFLAGS"
- GDWARF_5_FLAG=$ac_cv_gdwarf_5
- AC_SUBST([GDWARF_5_FLAG])
- 
-+AC_CACHE_CHECK([whether -gdwarf-5 produced DWARF5 .debug_line], 
ac_cv_dwarf_5_debugline, [dnl
-+save_CFLAGS="$CFLAGS"
-+CFLAGS="-gdwarf-5"
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i=0;]],[[/* empty main */]])],
-+  [if $READELF --debug-dump=line conftest.o 2>&1 | \
-+   grep "DWARF Version:" 2>&1 | grep "5" > /dev/null 2>&1; \
-+     then ac_cv_dwarf_5_debugline=yes; \
-+     else ac_cv_dwarf_5_debugline=no; fi],
-+  ac_cv_dwarf_5_debugline=no)
-+CFLAGS="$save_CFLAGS"
-+])
-+DWARF_5_DEBUGLINE=$ac_cv_dwarf_5_debugline
-+AC_SUBST([DWARF_5_DEBUGLINE])
-+
- AC_CACHE_CHECK([whether gcc supports -gz=none], ac_cv_gz_none, [dnl
- save_CFLAGS="$CFLAGS"
- CFLAGS="-gz=none"
-diff --git a/tests/atlocal.in b/tests/atlocal.in
-index 8399f8d..d916301 100644
---- a/tests/atlocal.in
-+++ b/tests/atlocal.in
-@@ -13,3 +13,4 @@ READELF="@READELF@"
- 
- GDWARF_5_FLAG=@GDWARF_5_FLAG@
- GZ_NONE_FLAG=@GZ_NONE_FLAG@
-+DWARF_5_DEBUGLINE=@DWARF_5_DEBUGLINE@
-diff --git a/tests/debugedit.at b/tests/debugedit.at
-index 0311d26..725e68e 100644
---- a/tests/debugedit.at
-+++ b/tests/debugedit.at
-@@ -488,10 +488,12 @@ AT_CLEANUP
- AT_SETUP([debugedit .debug_line objects DWARF5])
- AT_KEYWORDS([debuginfo] [debugedit])
- AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
-+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
- DEBUGEDIT_SETUP([-gdwarf-5])
- 
- AT_DATA([expout],
- [foo/bar/baz
-+foo/bar/baz/subdir_bar
- foo/bar/baz/subdir_headers
- ])
- 
-@@ -500,8 +502,8 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz 
./subdir_bar/bar.o]])
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
- AT_CHECK([[
- $READELF --debug-dump=line foo.o subdir_bar/bar.o baz.o \
--        | grep -A5 "The Directory Table" | grep "^  [123]" \
--      | cut -f2- -d/ | grep ^foo/ | sort
-+      | grep -A5 "The Directory Table" | grep "^  [0123]" \
-+      | cut -f2- -d/ | grep ^foo/ | sort -u
- ]],[0],[expout])
- 
- AT_CLEANUP
-@@ -535,18 +537,20 @@ AT_CLEANUP
- AT_SETUP([debugedit .debug_line partial DWARF5])
- AT_KEYWORDS([debuginfo] [debugedit])
- AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
-+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
- DEBUGEDIT_SETUP([-gdwarf-5])
- 
- AT_DATA([expout],
- [foo/bar/baz
-+foo/bar/baz/subdir_bar
- foo/bar/baz/subdir_headers
- ])
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
- AT_CHECK([[
- $READELF --debug-dump=line ./foobarbaz.part.o \
--        | grep -A5 "The Directory Table" | grep "^  [123]" \
--      | cut -f2- -d/ | grep ^foo/ | sort
-+      | grep -A5 "The Directory Table" | grep "^  [0123]" \
-+      | cut -f2- -d/ | grep ^foo/ | sort -u
- ]],[0],[expout])
- 
- AT_CLEANUP
-@@ -580,18 +584,20 @@ AT_CLEANUP
- AT_SETUP([debugedit .debug_line exe DWARF5])
- AT_KEYWORDS([debuginfo] [debugedit])
- AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
-+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
- DEBUGEDIT_SETUP([-gdwarf-5])
- 
- AT_DATA([expout],
- [foo/bar/baz
-+foo/bar/baz/subdir_bar
- foo/bar/baz/subdir_headers
- ])
- 
- AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
- AT_CHECK([[
- $READELF --debug-dump=line ./foobarbaz.exe \
--        | grep -A5 "The Directory Table" | grep "^  [123]" \
--      | cut -f2- -d/ | grep ^foo/ | sort
-+      | grep -A5 "The Directory Table" | grep "^  [0123]" \
-+      | cut -f2- -d/ | grep ^foo/ | sort -u
- ]],[0],[expout])
- 
- AT_CLEANUP
--- 
-2.27.0
-


Reply via email to