mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
hurd: Fix some ld.so symbol override from libc
ld.so symbols to be overriden by libc need to be extern to really get overriden. More fixes are needed to avoid the hidden attribute. * sysdeps/mach/hurd/Versions (libc): Make __access and __access_noerrno external so they can override the ld symbols. (ld): Make __access, __read, __sbrk, __strtoul_internal, __write, __writev, __open64, __access_noerrno extern so they can be overrided. * sysdeps/mach/hurd/i386/libc.abilist: Update accordingly. * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
This commit is contained in:
parent
cb1a43db05
commit
20365a315b
@ -1,3 +1,12 @@
|
||||
2018-07-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||
|
||||
* sysdeps/mach/hurd/Versions (libc): Make __access and
|
||||
__access_noerrno external so they can override the ld symbols.
|
||||
(ld): Make __access, __read, __sbrk, __strtoul_internal, __write,
|
||||
__writev, __open64, __access_noerrno extern so they can be overrided.
|
||||
* sysdeps/mach/hurd/i386/libc.abilist: Update accordingly.
|
||||
* sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
|
||||
|
||||
2018-07-26 Carlos O'Donell <carlos@redhat.com>
|
||||
|
||||
* po/libc.pot: Regenerate.
|
||||
|
@ -1,11 +1,15 @@
|
||||
libc {
|
||||
GLIBC_2.0 {
|
||||
# functions with a weak definition in the dynamic linker
|
||||
__getcwd; __mmap;
|
||||
__access; __getcwd; __mmap;
|
||||
}
|
||||
GLIBC_2.2.6 {
|
||||
# functions with a weak definition in the dynamic linker
|
||||
__writev;
|
||||
}
|
||||
GLIBC_PRIVATE {
|
||||
# Functions shared with the dynamic linker
|
||||
__libc_read; __libc_write; __libc_lseek64;
|
||||
__access_noerrno; __libc_read; __libc_write; __libc_lseek64;
|
||||
__libc_lock_self0;
|
||||
|
||||
_dl_init_first;
|
||||
@ -18,11 +22,16 @@ ld {
|
||||
__hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
|
||||
|
||||
# functions that must be shared with libc
|
||||
__close; __getcwd; __getpid;
|
||||
__mmap; __open; __xstat64; __fxstat64;
|
||||
__access; __close; __getcwd; __getpid;
|
||||
__mmap; __open; __read; __sbrk; __strtoul_internal;
|
||||
__write; __writev; __xstat64; __fxstat64;
|
||||
_exit; _hurd_intr_rpc_mach_msg;
|
||||
abort;
|
||||
}
|
||||
GLIBC_2.2 {
|
||||
# functions that must be shared with libc
|
||||
__open64;
|
||||
}
|
||||
GLIBC_2.2.6 {
|
||||
# this also must be shared with libc.
|
||||
__errno_location;
|
||||
@ -31,7 +40,7 @@ ld {
|
||||
_dl_init_first;
|
||||
|
||||
# functions that must be shared with libc
|
||||
__libc_read; __libc_write; __libc_lseek64;
|
||||
__access_noerrno; __libc_read; __libc_write; __libc_lseek64;
|
||||
__libc_lock_self0;
|
||||
}
|
||||
}
|
||||
|
@ -275,7 +275,10 @@ _dl_sysdep_start_cleanup (void)
|
||||
/* Minimal open/close/mmap implementation sufficient for initial loading of
|
||||
shared libraries. These are weak definitions so that when the
|
||||
dynamic linker re-relocates itself to be user-visible (for -ldl),
|
||||
it will get the user's definition (i.e. usually libc's). */
|
||||
it will get the user's definition (i.e. usually libc's).
|
||||
|
||||
They also need to be set in the ld section of sysdeps/mach/hurd/Versions, to
|
||||
be overridable, and in libc.abilist and ld.abilist to be checked. */
|
||||
|
||||
/* This macro checks that the function does not get renamed to be hidden: we do
|
||||
need these to be overridable by libc's. */
|
||||
|
@ -5,6 +5,10 @@ GLIBC_2.2.6 __getpid F
|
||||
GLIBC_2.2.6 __libc_stack_end D 0x4
|
||||
GLIBC_2.2.6 __mmap F
|
||||
GLIBC_2.2.6 __open F
|
||||
GLIBC_2.2.6 __open64 F
|
||||
GLIBC_2.2.6 __strtoul_internal F
|
||||
GLIBC_2.2.6 __write F
|
||||
GLIBC_2.2.6 __writev F
|
||||
GLIBC_2.2.6 __xstat64 F
|
||||
GLIBC_2.2.6 _dl_mcount F
|
||||
GLIBC_2.2.6 _hurd_intr_rpc_mach_msg F
|
||||
|
@ -543,6 +543,7 @@ GLIBC_2.2.6 __wctrans_l F
|
||||
GLIBC_2.2.6 __wctype_l F
|
||||
GLIBC_2.2.6 __woverflow F
|
||||
GLIBC_2.2.6 __write F
|
||||
GLIBC_2.2.6 __writev F
|
||||
GLIBC_2.2.6 __wuflow F
|
||||
GLIBC_2.2.6 __wunderflow F
|
||||
GLIBC_2.2.6 __xmknod F
|
||||
|
@ -27,7 +27,7 @@ ld.so: __open64 ?
|
||||
ld.so: __close
|
||||
ld.so: __read ?
|
||||
ld.so: __write ?
|
||||
#ld.so: __writev
|
||||
ld.so: __writev
|
||||
ld.so: __libc_lseek64
|
||||
ld.so: __mmap
|
||||
ld.so: __fxstat64
|
||||
@ -37,7 +37,7 @@ ld.so: __xstat64
|
||||
ld.so: __getpid
|
||||
#ld.so: __getcwd
|
||||
#ld.so: __sbrk
|
||||
#ld.so: __strtoul_internal
|
||||
ld.so: __strtoul_internal
|
||||
#ld.so: _exit
|
||||
ld.so: abort
|
||||
ld.so: _hurd_intr_rpc_mach_msg
|
||||
|
Loading…
Reference in New Issue
Block a user