commit:     89c775fccccb9b0aa95203d7e838d406490e48c2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 17 18:20:39 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 18:20:39 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89c775fc

sys-devel/gdb: fix USE=multitarget w/ glibc-2.35

Closes: https://bugs.gentoo.org/833590
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch      | 32 ++++++++++++++++++++++
 sys-devel/gdb/gdb-11.2.ebuild                      |  1 +
 2 files changed, 33 insertions(+)

diff --git a/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch 
b/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch
new file mode 100644
index 000000000000..5e0121f85029
--- /dev/null
+++ b/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch
@@ -0,0 +1,32 @@
+https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=a532eb7277ff64fb073e209d418b0a97f686c0e3
+https://bugs.gentoo.org/833590
+
+From: Sergei Trofimovich <siarh...@google.com>
+Date: Mon, 14 Feb 2022 17:12:41 +0000
+Subject: [PATCH] microblaze: fix fsqrt collicion to build on glibc-2.35
+
+       * microblaze-opcm.h: Renamed 'fsqrt' to 'microblaze_fsqrt'.
+       * microblaze-opc.h: Follow 'fsqrt' rename.
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -268,7 +268,7 @@ const struct op_code_struct
+   {"fcmp.un", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x58000200, OPCODE_MASK_H4, fcmp_un, arithmetic_inst },
+   {"flt",   INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x58000280, OPCODE_MASK_H4, flt,   arithmetic_inst },
+   {"fint",  INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x58000300, OPCODE_MASK_H4, fint,  arithmetic_inst },
+-  {"fsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x58000380, OPCODE_MASK_H4, fsqrt, arithmetic_inst },
++  {"fsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x58000380, OPCODE_MASK_H4, microblaze_fsqrt, 
arithmetic_inst },
+   {"tget",   INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x6C001000, OPCODE_MASK_H32, tget,   anyware_inst },
+   {"tcget",  INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x6C003000, OPCODE_MASK_H32, tcget,  anyware_inst },
+   {"tnget",  INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, 
IMMVAL_MASK_NON_SPECIAL, 0x6C005000, OPCODE_MASK_H32, tnget,  anyware_inst },
+--- a/opcodes/microblaze-opcm.h
++++ b/opcodes/microblaze-opcm.h
+@@ -42,7 +42,8 @@ enum microblaze_instr
+   shr, sw, swr, swx, lbui, lhui, lwi,
+   sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv,
+   fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
+-  fint, fsqrt,
++  /* 'fsqrt' is a glibc:math.h symbol.  */
++  fint, microblaze_fsqrt,
+   tget, tcget, tnget, tncget, tput, tcput, tnput, tncput,
+   eget, ecget, neget, necget, eput, ecput, neput, necput,
+   teget, tecget, tneget, tnecget, teput, tecput, tneput, tnecput,

diff --git a/sys-devel/gdb/gdb-11.2.ebuild b/sys-devel/gdb/gdb-11.2.ebuild
index 869017994712..9b5d95603631 100644
--- a/sys-devel/gdb/gdb-11.2.ebuild
+++ b/sys-devel/gdb/gdb-11.2.ebuild
@@ -92,6 +92,7 @@ BDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
+       "${FILESDIR}"/${P}-glibc-2.35-fsqrt.patch
 )
 
 pkg_setup() {

Reply via email to