Re: [PATCH] MIPS: lib: Remove '.hidden' for local symbols

From: Thomas Bogendoerfer

Date: Mon Jun 15 2026 - 06:48:11 EST


On Mon, Jun 08, 2026 at 08:36:25PM -0700, Nathan Chancellor wrote:
> After a recent change in binutils that warns when local symbols have
> non-default visibility [1], there are a couple instances when building
> arch/mips:
>
> Assembler messages:
> {standard input}: Warning: local symbol `__memset' has non-default visibility
> Assembler messages:
> {standard input}: Warning: local symbol `__memcpy' has non-default visibility
>
> Remove the '.hidden' directives for these symbols to clear up the
> warnings, as they are pointless with a local symbol, which is by
> definition hidden. This results in no changes to these symbols in nm's
> output when assembled with various copies of binutils.
>
> Closes: https://lore.kernel.org/20260509122517.GA1108596@ax162/
> Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c4150acbda1b3ce0602f79cbb7700b39e577be7e [1]
> Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> ---
> arch/mips/lib/memcpy.S | 2 --
> arch/mips/lib/memset.S | 2 --
> 2 files changed, 4 deletions(-)
>
> diff --git a/arch/mips/lib/memcpy.S b/arch/mips/lib/memcpy.S
> index a4b4e805ff13..84f85aba6f4b 100644
> --- a/arch/mips/lib/memcpy.S
> +++ b/arch/mips/lib/memcpy.S
> @@ -274,7 +274,6 @@
> /* initialize __memcpy if this the first time we execute this macro */
> .ifnotdef __memcpy
> .set __memcpy, 1
> - .hidden __memcpy /* make sure it does not leak */
> .endif
>
> /*
> @@ -538,7 +537,6 @@
> .if __memcpy == 1
> END(memcpy)
> .set __memcpy, 0
> - .hidden __memcpy
> .endif
>
> .Ll_exc_copy\@:
> diff --git a/arch/mips/lib/memset.S b/arch/mips/lib/memset.S
> index 79405c32cc85..ab087406da66 100644
> --- a/arch/mips/lib/memset.S
> +++ b/arch/mips/lib/memset.S
> @@ -89,7 +89,6 @@
> /* Initialize __memset if this is the first time we call this macro */
> .ifnotdef __memset
> .set __memset, 1
> - .hidden __memset /* Make sure it does not leak */
> .endif
>
> sltiu t0, a2, STORSIZE /* very small region? */
> @@ -231,7 +230,6 @@
> .if __memset == 1
> END(memset)
> .set __memset, 0
> - .hidden __memset
> .endif
>
> #ifdef CONFIG_CPU_NO_LOAD_STORE_LR
>
> ---
> base-commit: 6d96cc123ce33cd74e799c5434440393ed022bb7
> change-id: 20260608-mips-fix-binutils-visibility-warning-71e531e65f78

applied to mips-next

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]