From fdcdfdbb821c01948eadf14f92e51c910638df29 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 14 Nov 2025 09:03:25 +0100 Subject: [PATCH] bfd/ELF: nds32_convert_{16_to_32,32_to_16}() are exposed to gas As non-private functions, they should come with full disambiguating prefixes - add bfd_elf_ to both. Hence commit bf4128d0cc6d2 ("bfd/ELF: mark internal NDS32 functions hidden") also wrongly added ATTRIBUTE_HIDDEN to them. --- bfd/elf32-nds32.c | 8 ++++---- bfd/elf32-nds32.h | 8 ++++---- gas/config/tc-nds32.c | 10 ++++++---- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index 92e3bc796eb..02c6ced7e1f 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -7728,8 +7728,8 @@ nds32_convert_32_to_16_alu2 (bfd *abfd, uint32_t insn, uint16_t *pinsn16, } int -nds32_convert_32_to_16 (bfd *abfd, uint32_t insn, uint16_t *pinsn16, - int *pinsn_type) +bfd_elf_nds32_convert_32_to_16 (bfd *abfd, uint32_t insn, uint16_t *pinsn16, + int *pinsn_type) { int op6; uint16_t insn16 = 0; @@ -8236,7 +8236,7 @@ special_convert_32_to_16 (unsigned long insn, uint16_t *pinsn16, Return non-zero on successful. Otherwise 0 is returned. */ int -nds32_convert_16_to_32 (bfd *abfd, uint16_t insn16, uint32_t *pinsn) +bfd_elf_nds32_convert_16_to_32 (bfd *abfd, uint16_t insn16, uint32_t *pinsn) { uint32_t insn = 0xffffffff; unsigned long mach = bfd_get_mach (abfd); @@ -8772,7 +8772,7 @@ is_convert_32_to_16 (bfd *abfd, asection *sec, return false; insn = bfd_getb32 (contents + offset); - if (nds32_convert_32_to_16 (abfd, insn, insn16, NULL)) + if (bfd_elf_nds32_convert_32_to_16 (abfd, insn, insn16, NULL)) convert_type = NORMAL_32_TO_16; else if (special_convert_32_to_16 (insn, insn16, reloc)) convert_type = SPECIAL_32_TO_16; diff --git a/bfd/elf32-nds32.h b/bfd/elf32-nds32.h index f18cc90c2d5..6c8defeadfa 100644 --- a/bfd/elf32-nds32.h +++ b/bfd/elf32-nds32.h @@ -98,10 +98,10 @@ extern int elf32_nds32_unify_relax_group extern int nds32_elf_unify_tls_model (bfd *, asection *, bfd_byte *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; -extern int nds32_convert_32_to_16 - (bfd *, uint32_t, uint16_t *, int *) ATTRIBUTE_HIDDEN; -extern int nds32_convert_16_to_32 - (bfd *, uint16_t, uint32_t *) ATTRIBUTE_HIDDEN; +extern int bfd_elf_nds32_convert_32_to_16 + (bfd *, uint32_t, uint16_t *, int *); +extern int bfd_elf_nds32_convert_16_to_32 + (bfd *, uint16_t, uint32_t *); extern void bfd_elf32_nds32_set_target_option (struct bfd_link_info *, int, int, FILE *, int, int, int); diff --git a/gas/config/tc-nds32.c b/gas/config/tc-nds32.c index d107555e373..b251087648f 100644 --- a/gas/config/tc-nds32.c +++ b/gas/config/tc-nds32.c @@ -6483,9 +6483,11 @@ md_assemble (char *str) } else if (!relaxing && enable_16bit && (optimize || optimize_for_space) && ((!fld && !verbatim && insn.opcode->isize == 4 - && nds32_convert_32_to_16 (stdoutput, insn.insn, &insn_16, NULL)) + && bfd_elf_nds32_convert_32_to_16 (stdoutput, insn.insn, + &insn_16, NULL)) || (insn.opcode->isize == 2 - && nds32_convert_16_to_32 (stdoutput, insn.insn, NULL)))) + && bfd_elf_nds32_convert_16_to_32 (stdoutput, insn.insn, + NULL)))) { /* Record this one is relaxable. */ expressionS *pexp = insn.info; @@ -7073,7 +7075,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT sec, fragS *fragP) if (fragP->tc_frag_data.flag & NDS32_FRAG_RELAXED) { insn_16 = fragP->tc_frag_data.insn; - nds32_convert_16_to_32 (stdoutput, insn_16, &insn); + bfd_elf_nds32_convert_16_to_32 (stdoutput, insn_16, &insn); fr_buffer = fragP->fr_literal + fr_where; fragP->fr_fix += 2; exp.X_op = O_symbol; @@ -7089,7 +7091,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT sec, fragS *fragP) if (fragP->tc_frag_data.opcode->isize == 2) { insn_16 = fragP->tc_frag_data.insn; - nds32_convert_16_to_32 (stdoutput, insn_16, &insn); + bfd_elf_nds32_convert_16_to_32 (stdoutput, insn_16, &insn); } else insn = fragP->tc_frag_data.insn; -- 2.47.3