[git commit ldso-future 1/1] ldso: hide _dl_linux_resolve[r] and _dl_parse_dynamic_info

Peter S. Mazinger ps.m at gmx.net
Wed Mar 30 11:53:36 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=614ef2bb4dfaea896acfadc54193ec31846a578f
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/ldso-future

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
---
 ldso/include/dl-elf.h         |    8 ++++----
 ldso/ldso/arm/resolve.S       |    2 ++
 ldso/ldso/avr32/dl-sysdep.h   |    2 +-
 ldso/ldso/avr32/resolve.S     |    1 +
 ldso/ldso/bfin/dl-sysdep.h    |    3 ---
 ldso/ldso/c6x/dl-sysdep.h     |    2 --
 ldso/ldso/c6x/resolve.S       |    2 ++
 ldso/ldso/cris/resolve.S      |    5 +++--
 ldso/ldso/frv/dl-sysdep.h     |    3 ---
 ldso/ldso/frv/resolve.S       |    2 +-
 ldso/ldso/i386/resolve.S      |    3 ++-
 ldso/ldso/m68k/resolve.S      |    5 +++--
 ldso/ldso/powerpc/dl-sysdep.h |    3 ++-
 ldso/ldso/powerpc/resolve.S   |    6 ++----
 ldso/ldso/sh/resolve.S        |    3 +--
 ldso/ldso/sh64/resolve.S      |    3 +--
 ldso/ldso/sparc/resolve.S     |    5 +++--
 ldso/ldso/x86_64/resolve.S    |    1 +
 ldso/ldso/xtensa/resolve.S    |    1 +
 19 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h
index 9e85e0e..cfe23c1 100644
--- a/ldso/include/dl-elf.h
+++ b/ldso/include/dl-elf.h
@@ -37,7 +37,6 @@ extern struct elf_resolve * _dl_load_shared_library(int secure,
 	int trace_loaded_objects);
 extern struct elf_resolve * _dl_load_elf_shared_library(int secure,
 	struct dyn_elf **rpnt, char *libname);
-extern int _dl_linux_resolve(void);
 extern int _dl_fixup(struct dyn_elf *rpnt, int flag);
 extern void _dl_protect_relro (struct elf_resolve *l);
 
@@ -103,15 +102,16 @@ extern void _dl_protect_relro (struct elf_resolve *l);
 # define DT_GNU_HASH_IDX (DT_RELCONT_IDX + 1)
 #endif
 
-extern int _dl_linux_resolve(void);
+extern int _dl_linux_resolve(void) attribute_hidden;
 
 /* define all uncommon prototypes in arch specific dl-sysdep.h */
 #ifdef ELF_MACHINE_JMP_SLOT
-extern DL_RESOLVER_TYPE _dl_linux_resolver(struct elf_resolve *tpnt, const ElfW(Word) reloc_entry);
+extern DL_RESOLVER_TYPE _dl_linux_resolver(struct elf_resolve *tpnt,
+					   const ElfW(Word) reloc_entry) attribute_hidden;
 #endif
 
 extern unsigned int _dl_parse_dynamic_info(ElfW(Dyn) *dpnt, ElfW(Word) dynamic_info[],
-                                           void *debug_addr, DL_LOADADDR_TYPE load_off);
+                                           void *debug_addr, DL_LOADADDR_TYPE load_off) attribute_hidden;
 
 static __always_inline
 unsigned int __dl_parse_dynamic_info(ElfW(Dyn) *dpnt, ElfW(Word) dynamic_info[],
diff --git a/ldso/ldso/arm/resolve.S b/ldso/ldso/arm/resolve.S
index 08889d0..3496487 100644
--- a/ldso/ldso/arm/resolve.S
+++ b/ldso/ldso/arm/resolve.S
@@ -104,6 +104,7 @@
  #if !defined(__thumb__) || defined(__thumb2__)
  .arm
  .globl _dl_linux_resolve
+ .hidden _dl_linux_resolve
  .type _dl_linux_resolve,%function
  .align 4;
 
@@ -140,6 +141,7 @@ _dl_linux_resolve:
        @ ldr pc the reasonable fix is to make _dl_linux_resolve thumb too.
  .thumb
  .globl _dl_linux_resolve
+ .hidden _dl_linux_resolve
  .thumb_func
  .type _dl_linux_resolve,%function
  _dl_linux_resolve:
diff --git a/ldso/ldso/avr32/dl-sysdep.h b/ldso/ldso/avr32/dl-sysdep.h
index 515d829..fed30e9 100644
--- a/ldso/ldso/avr32/dl-sysdep.h
+++ b/ldso/ldso/avr32/dl-sysdep.h
@@ -45,7 +45,7 @@
 /* Need bootstrap relocations */
 #define ARCH_NEEDS_BOOTSTRAP_RELOCS
 
-unsigned long _dl_linux_resolver(unsigned long got_offset, unsigned long *got);
+unsigned long _dl_linux_resolver(unsigned long got_offset, unsigned long *got) attribute_hidden;
 
 #define elf_machine_type_class(type)				\
 	((type == R_AVR32_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
diff --git a/ldso/ldso/avr32/resolve.S b/ldso/ldso/avr32/resolve.S
index e3cb7f4..eb68e18 100644
--- a/ldso/ldso/avr32/resolve.S
+++ b/ldso/ldso/avr32/resolve.S
@@ -13,6 +13,7 @@
 
 	.text
 	.global	_dl_linux_resolve
+	.hidden	_dl_linux_resolve
 	.type	_dl_linux_resolve, at function
 _dl_linux_resolve:
 	/* The PLT code pushed r8 for us. It contains the address of this
diff --git a/ldso/ldso/bfin/dl-sysdep.h b/ldso/ldso/bfin/dl-sysdep.h
index 50c7509..e3432e1 100644
--- a/ldso/ldso/bfin/dl-sysdep.h
+++ b/ldso/ldso/bfin/dl-sysdep.h
@@ -67,9 +67,6 @@ struct funcdesc_value
   void *got_value;
 } __attribute__((__aligned__(8)));
 
-
-extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
-
 struct funcdesc_ht;
 
 #undef SEND_EARLY_STDERR
diff --git a/ldso/ldso/c6x/dl-sysdep.h b/ldso/ldso/c6x/dl-sysdep.h
index 8f1b122..2ab3ea3 100644
--- a/ldso/ldso/c6x/dl-sysdep.h
+++ b/ldso/ldso/c6x/dl-sysdep.h
@@ -47,8 +47,6 @@
 
 struct elf_resolve;
 
-extern int _dl_linux_resolve(void) attribute_hidden;
-
 struct funcdesc_ht;
 struct elf32_dsbt_loadaddr;
 
diff --git a/ldso/ldso/c6x/resolve.S b/ldso/ldso/c6x/resolve.S
index ce3cbe7..056d350 100644
--- a/ldso/ldso/c6x/resolve.S
+++ b/ldso/ldso/c6x/resolve.S
@@ -27,6 +27,8 @@
 	.text
 	.align 5
 	.global	_dl_linux_resolve
+	.hidden	_dl_linux_resolve
+
 _dl_linux_resolve:
 	stw .d2t2	B14, *B15--[2]
 	stdw .d2t1	A15:A14, *B15--
diff --git a/ldso/ldso/cris/resolve.S b/ldso/ldso/cris/resolve.S
index 9ca27b5..5bd8713 100644
--- a/ldso/ldso/cris/resolve.S
+++ b/ldso/ldso/cris/resolve.S
@@ -14,8 +14,9 @@
  * jump symbol that got us here really wanted to jump to in the first place.
  */
 
-.globl _dl_linux_resolve
-.type _dl_linux_resolve, at function
+.globl	_dl_linux_resolve
+.hidden _dl_linux_resolve
+.type	_dl_linux_resolve, at function
 
 #ifdef __arch_v32
 
diff --git a/ldso/ldso/frv/dl-sysdep.h b/ldso/ldso/frv/dl-sysdep.h
index e9c847a..4c820e1 100644
--- a/ldso/ldso/frv/dl-sysdep.h
+++ b/ldso/ldso/frv/dl-sysdep.h
@@ -51,9 +51,6 @@ struct funcdesc_value
   void *got_value;
 } __attribute__((__aligned__(8)));
 
-
-extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
-
 struct funcdesc_ht;
 
 /* We must force strings used early in the bootstrap into the data
diff --git a/ldso/ldso/frv/resolve.S b/ldso/ldso/frv/resolve.S
index 9dde727..98cc4ae 100644
--- a/ldso/ldso/frv/resolve.S
+++ b/ldso/ldso/frv/resolve.S
@@ -22,8 +22,8 @@
 	.text
 	.p2align 4
 
-	.hidden	_dl_linux_resolve
 	.global	_dl_linux_resolve
+	.hidden	_dl_linux_resolve
 	.type	_dl_linux_resolve, at function
 
 _dl_linux_resolve:
diff --git a/ldso/ldso/i386/resolve.S b/ldso/ldso/i386/resolve.S
index e8d77bb..044819b 100644
--- a/ldso/ldso/i386/resolve.S
+++ b/ldso/ldso/i386/resolve.S
@@ -22,7 +22,8 @@
 
 .text
 
-.globl _dl_linux_resolve
+.globl	_dl_linux_resolve
+.hidden	_dl_linux_resolve
 .type	_dl_linux_resolve, at function
 
 _dl_linux_resolve:
diff --git a/ldso/ldso/m68k/resolve.S b/ldso/ldso/m68k/resolve.S
index 1bd5c00..75a4c8e 100644
--- a/ldso/ldso/m68k/resolve.S
+++ b/ldso/ldso/m68k/resolve.S
@@ -5,8 +5,9 @@
 .text
 .even
 
-.globl _dl_linux_resolve
-	.type	_dl_linux_resolve, at function
+.globl	_dl_linux_resolve
+.hidden	_dl_linux_resolve
+.type	_dl_linux_resolve, at function
 _dl_linux_resolve:
 	# Save %a0 (struct return address) and %a1.
 	move.l %a0, -(%sp)
diff --git a/ldso/ldso/powerpc/dl-sysdep.h b/ldso/ldso/powerpc/dl-sysdep.h
index 4ebca20..00303da 100644
--- a/ldso/ldso/powerpc/dl-sysdep.h
+++ b/ldso/ldso/powerpc/dl-sysdep.h
@@ -66,7 +66,8 @@
 
 #define ARCH_HAS_LAZY
 struct elf_resolve;
-extern ElfW(Addr) _dl_linux_resolver(struct elf_resolve *tpnt, const ElfW(Word) reloc_entry);
+extern ElfW(Addr) _dl_linux_resolver(struct elf_resolve *tpnt,
+				     const ElfW(Word) reloc_entry) attribute_hidden;
 
 void _dl_init_got(unsigned long *lpnt,struct elf_resolve *tpnt);
 
diff --git a/ldso/ldso/powerpc/resolve.S b/ldso/ldso/powerpc/resolve.S
index c83337c..97c62fd 100644
--- a/ldso/ldso/powerpc/resolve.S
+++ b/ldso/ldso/powerpc/resolve.S
@@ -5,9 +5,8 @@
 .text
 .align 4
 
-.globl _dl_linux_resolver
-
-.globl _dl_linux_resolve
+.globl	_dl_linux_resolve
+.hidden	_dl_linux_resolve
 .type	_dl_linux_resolve, at function
 
 _dl_linux_resolve:
@@ -54,4 +53,3 @@ _dl_linux_resolve:
 
 .LFE2:
 	.size _dl_linux_resolve,.LFE2-_dl_linux_resolve
-
diff --git a/ldso/ldso/sh/resolve.S b/ldso/ldso/sh/resolve.S
index e66d316..c4ad2f7 100644
--- a/ldso/ldso/sh/resolve.S
+++ b/ldso/ldso/sh/resolve.S
@@ -3,8 +3,8 @@
  */
 
 	.text
-	.globl	_dl_linux_resolver
 	.globl	_dl_linux_resolve
+	.hidden	_dl_linux_resolve
 	.type	_dl_linux_resolve, @function
 	.balign	16
 _dl_linux_resolve:
@@ -95,4 +95,3 @@ _dl_linux_resolve:
 .LG:
 	.long	_GLOBAL_OFFSET_TABLE_
 	.size	_dl_linux_resolve, . - _dl_linux_resolve
-
diff --git a/ldso/ldso/sh64/resolve.S b/ldso/ldso/sh64/resolve.S
index ca915d2..43a7b76 100644
--- a/ldso/ldso/sh64/resolve.S
+++ b/ldso/ldso/sh64/resolve.S
@@ -31,8 +31,8 @@
  */
 
  	.section .text..SHmedia32,"ax"
-	.globl	_dl_linux_resolver
 	.globl	_dl_linux_resolve
+	.hidden	_dl_linux_resolve
 	.type	_dl_linux_resolve, @function
 
 	.balign	16
@@ -92,4 +92,3 @@ _dl_linux_resolve:
 	blink	tr0, r63		! jump to function address
 
 	.size	_dl_linux_resolve, . - _dl_linux_resolve
-
diff --git a/ldso/ldso/sparc/resolve.S b/ldso/ldso/sparc/resolve.S
index 253400a..cc7df0c 100644
--- a/ldso/ldso/sparc/resolve.S
+++ b/ldso/ldso/sparc/resolve.S
@@ -5,8 +5,9 @@
 .text
 .align 16
 
-.globl _dl_linux_resolve
-.type  _dl_linux_resolve,#function
+.globl	_dl_linux_resolve
+.hidden _dl_linux_resolve
+.type	_dl_linux_resolve,#function
 _dl_linux_resolve:
 	/*
 	 * Call the resolver - pass the address of the PLT so that we can
diff --git a/ldso/ldso/x86_64/resolve.S b/ldso/ldso/x86_64/resolve.S
index ac1d182..cb611bc 100644
--- a/ldso/ldso/x86_64/resolve.S
+++ b/ldso/ldso/x86_64/resolve.S
@@ -25,6 +25,7 @@
 .text
 
 .global _dl_linux_resolve
+.hidden _dl_linux_resolve
 .type   _dl_linux_resolve,%function
 
 _dl_linux_resolve:
diff --git a/ldso/ldso/xtensa/resolve.S b/ldso/ldso/xtensa/resolve.S
index 902cd82..30cfca8 100644
--- a/ldso/ldso/xtensa/resolve.S
+++ b/ldso/ldso/xtensa/resolve.S
@@ -29,6 +29,7 @@
 	.text
 	.align	4
 	.global	_dl_linux_resolve
+	.hidden	_dl_linux_resolve
 	.type	_dl_linux_resolve, @function
 _dl_linux_resolve:
 	/* Fix up the high 2 bits of the return address.  */
-- 
1.7.3.4



More information about the uClibc-cvs mailing list