From 575bcb9220287a6f0d2577db1fd9fe55d9d8b745 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 23 Feb 2025 19:24:10 +0000 Subject: gentoo auto-resync : 23:02:2025 - 19:24:09 --- dev-util/debugedit/Manifest | 9 - 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, 1024 deletions(-) delete mode 100644 dev-util/debugedit/debugedit-5.0-r3.ebuild delete mode 100644 dev-util/debugedit/files/debugedit-5.0-dw-form-strx-support.patch delete mode 100644 dev-util/debugedit/files/debugedit-5.0-hppa.patch delete mode 100644 dev-util/debugedit/files/debugedit-5.0-musl-1.2.4.patch delete mode 100644 dev-util/debugedit/files/debugedit-5.0-musl-error.h-fix.patch delete mode 100644 dev-util/debugedit/files/debugedit-5.0-readelf.patch delete mode 100644 dev-util/debugedit/files/debugedit-5.0-zero-dir-entry.patch (limited to 'dev-util/debugedit') diff --git a/dev-util/debugedit/Manifest b/dev-util/debugedit/Manifest index c438c46105d1..a9b932f0ed0c 100644 --- a/dev-util/debugedit/Manifest +++ b/dev-util/debugedit/Manifest @@ -1,13 +1,4 @@ -AUX debugedit-5.0-dw-form-strx-support.patch 12914 BLAKE2B 29ae1c29cb86d854dd6e4bfbe626f8a40aa5a5a20badb128c35ab0628d83d0b410d505abf20da7283ccdc29ee69ccb9cfb173f966083a8e64538b2a053cfa8e5 SHA512 2c612a70ab0e8b77731e8cfd07f60db88081846879c8271b03c241139e846a15ecba2dcdcd72a4162dc6342c667df34a1f922a5be5da746e36c5691b1794aded -AUX debugedit-5.0-hppa.patch 774 BLAKE2B 4e0cec167f3763901105571bdd7e489638e707eb04170a0786bb74604162d79e97d79a84ab1811a3199dc4b3e0f55109ce5a5cbab213ca7ef2e1c3ad59f2ae3d SHA512 30e212157f98ea26f28f3ed14c4ac658715417c8e0b9e7dd58fc3064a2687bb972b960b5539f87e8bc919cd6b67a7ff33d2005e62bb2a64e3f6b7b6fd44e8f28 -AUX debugedit-5.0-musl-1.2.4.patch 1378 BLAKE2B 3d1954b9c03090dd5e6ef924aa007d367b64e37e98b5410192cc1e9dee7e4201aebba2e32b6a992bd45113a52314e440639a5410f476840cf8ba9f0f252a7067 SHA512 7b5ce6c104db25cb7ac75d45c2b706bbe870034ad37c9e374ad9cb93b65da0ff324e6e960f092eaf83731f76a56f50a8b567db0af86bed113cbb875c8ed63f66 -AUX debugedit-5.0-musl-error.h-fix.patch 1472 BLAKE2B 8d6bb2141d0fcff817591801a050afabed39929efda9b8b657c76bfc43a35a1e5b29db94c0445a37264c9c31474cfe2acdf4c62ebf4315ded9c581cb1b0f2427 SHA512 08d1991b2dae7ddf2edc99e4e7edef9d44434d006c7274ba2de5c64d5abd1ff3fc3960342dccef966a35ab3f20b488d3856d7157d1312f230c618c3f84562fbd -AUX debugedit-5.0-readelf.patch 13298 BLAKE2B 40a561495ea4186c9565482c73f24fc5dfc2842e3a681fe988dfcca71aa518a95deb08f9423455bb23a38c05d6e7c641050519dc5ce0756732347293e8bcdcbe SHA512 0a2fd64a2716a720fd8d25929a9369d3691ece63af6bae363246766c60055c0441b821934df13e4fd70f3464e072c8f0f2d18634d7dadbb0fa253704ce4e658f -AUX debugedit-5.0-zero-dir-entry.patch 4172 BLAKE2B 8eddb4deb23304576df6730e4b5b517ea700c8be6d5b2617dc51cc27b975b07fbaccbe2ab656dff99287fdcd7f1f13dc8c3f3fc4378ef7edad26d83e8b688848 SHA512 f9f3a3db717033f7a4909d66d938051e525a6e6ebc238e898d54b503b9e4e99b068c04be4b57454fc188cfcd2cd56e2528875613c24da94ce5931a1b60942cb2 -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 -EBUILD debugedit-5.0-r3.ebuild 1208 BLAKE2B 7fb8adf659c44fb6c8f1ee510ff4501554cbc8b8079400e5aa534282c5032efa5d6645cdeac988448517315247e23cdd4a20d2a4fd2ad7b867997a755135f469 SHA512 440fb6aa0756e16d1475f0c0eb888c88e862864a63eea83f785ae2540adb221df0cbfeff5762ec5c2dbdecf7893a9fd1263ad9cda403d0380faa3e00272df06f EBUILD debugedit-5.1-r3.ebuild 1481 BLAKE2B 2803b8dbcbccc9889da99798d08f5aaff5332a1f52ba8cab58d28e8cabd0c67e14e34a0205c66b632b17c4c4fb43699c9621acf7d57cd460002a523019fbafb0 SHA512 2a89eb7eceb241237522ed324e323e0370fd1f55a300e28711ec3100e03af9a782585728faf5a86b838b8162d46ca6298453d99b3269463ef83ea5f36be66352 MISC metadata.xml 248 BLAKE2B f308d2aa052d11e427850af58bbebf95e7773f5562ed221f39043474b4c3827d724d49667edf1874272a5586a13201159f40e8f5eafb7e400e79c6566e1a6ac2 SHA512 b875c838394523483ae7d93585207eb3c642a345bbb08e1dcef3ceb737c813fa779e2f5479d48cdcc30732b8a0a9e6ecc648df940def6731e4dff43b23786e6d 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 - Written by Alexander Larsson , 2002 - Based on code by Jakub Jelinek , 2001. - String/Line table rewriting by Mark Wielaard , 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 -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: dave.anglin@bell.net -Signed-off-by: Mark Wielaard ---- 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 -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 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 - #include - #include -+#ifdef HAVE_ERROR_H - #include -+#else -+#include -+#define error(status, errno, ...) err(status, __VA_ARGS__) -+#endif - #include - #include - #include ---- a/tools/sepdebugcrcfix.c -+++ b/tools/sepdebugcrcfix.c -@@ -29,7 +29,12 @@ - #include - #include - #include -+#ifdef HAVE_ERROR_H - #include -+#else -+#include -+#define error(status, errno, ...) err(status, __VA_ARGS__) -+#endif - #include - #include - 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 -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 ---- - 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/$@.in" > "$@" -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 -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 ---- - 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 - -- cgit v1.2.3