Skip to contentSkip to conversation

MIPS: non-default visibility warnings from tip of tree binutils around __memcpy / __memset

PATCH Nathan Chancellor 1 participant 1 message May 9 MIPS

lore
Share & tools
lore
#0 lore raw

Hi,

After binutils commit c4150acbda1 ("gas/ELF: warn upon non-default visibility of local symbols") [1], I am seeing the following warnings:

  $ make -skj"$(nproc)" ARCH=mips CROSS_COMPILE=mips-linux- mrproper defconfig arch/mips/lib/
  Assembler messages:
  {standard input}: Warning: local symbol `__memset' has non-default visibility
  Assembler messages:
  {standard input}: Warning: local symbol `__memcpy' has non-default visibility

Should the '.hidden' directive for these symbols be removed, as it seems unnecessary for local symbols? Or is there a different fix for this? This resolves the warnings for me but I figured I would ask before sending it as a formal patch.

arch/mips/lib/memcpy.S +0 -2
index a4b4e805ff13..84f85aba6f4b 100644
@@ -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\@:
arch/mips/lib/memset.S +0 -2
index 79405c32cc85..ab087406da66 100644
@@ -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

--

[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c4150acbda1b3ce0602f79cbb7700b39e577be7e

Signature · 2 lines
Cheers,
Nathan