[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