hppa/ia64: _dl_unmap: make it hidden

This symbol is only used by DL_UNMAP which in turn is only used by
_dl_close_worker in dl-close.c, and _dl_close_worker itself is marked
hidden as it is only used by the ldso.  That means _dl_unmap should
be marked hidden.  Without this, the elf/check-localplt test fails.
This commit is contained in:
Mike Frysinger 2015-07-15 07:40:56 -04:00
parent 2a6ad8142d
commit 6b96d6de8c
5 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2015-07-16 Mike Frysinger <vapier@gentoo.org>
* sysdeps/hppa/Versions (GLIBC_PRIVATE): Delete _dl_unmap.
* sysdeps/hppa/dl-lookupcfg.h (_dl_unmap): Add attribute_hidden.
* sysdeps/ia64/Versions (GLIBC_PRIVATE): Delete _dl_unmap.
* sysdeps/ia64/dl-lookupcfg.h (_dl_unmap): Add attribute_hidden.
2015-07-16 Mike Frysinger <vapier@gentoo.org>
* elf/dl-symaddr.c (_dl_symbol_address): Add rtld_hidden_def.

View File

@ -1,7 +1,7 @@
ld {
GLIBC_PRIVATE {
# hppa specific functions in the dynamic linker, but used by libc.so.
_dl_symbol_address; _dl_unmap; _dl_lookup_address;
_dl_symbol_address; _dl_lookup_address;
_dl_function_address;
}
}

View File

@ -35,7 +35,7 @@ Elf32_Addr _dl_lookup_address (const void *address);
#define DL_LOOKUP_ADDRESS(addr) \
(_dl_lookup_address ((void *)((unsigned long)addr & ~3)))
void _dl_unmap (struct link_map *map);
void attribute_hidden _dl_unmap (struct link_map *map);
#define DL_UNMAP(map) _dl_unmap (map)

View File

@ -1,7 +1,7 @@
ld {
GLIBC_PRIVATE {
# ia64 specific functions in the dynamic linker, but used by libc.so.
_dl_symbol_address; _dl_unmap; _dl_lookup_address;
_dl_symbol_address; _dl_lookup_address;
_dl_function_address;
}
}

View File

@ -36,7 +36,7 @@ extern Elf64_Addr _dl_lookup_address (const void *address);
#define DL_LOOKUP_ADDRESS(addr) _dl_lookup_address (addr)
extern void _dl_unmap (struct link_map *map);
extern void attribute_hidden _dl_unmap (struct link_map *map);
#define DL_UNMAP(map) _dl_unmap (map)