summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/Versions
AgeCommit message (Collapse)Author
2018-07-27hurd: Fix some ld.so symbol override from libcSamuel Thibault
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.
2018-03-17hurd: Replace threadvars with TLSSamuel Thibault
This gets rid of a lot of kludge and gets closer to other ports. * hurd/Makefile (headers): Remove threadvar.h. (inline-headers): Remove threadvar.h. * hurd/Versions (GLIBC_2.0: Remove __hurd_sigthread_stack_base, __hurd_sigthread_stack_end, __hurd_sigthread_variables, __hurd_threadvar_max, __hurd_errno_location. (HURD_CTHREADS_0.3): Add pthread_getattr_np, pthread_attr_getstack. * hurd/hurd/signal.h: Do not include <hurd/threadvar.h>. (_hurd_self_sigstate): Use THREAD_SELF to get _hurd_sigstate. (_HURD_SIGNAL_H_EXTERN_INLINE): Use THREAD_SELF to get _hurd_sigstate, unless TLS is not initialized yet, in which case we do not need a critical section yet anyway. * hurd/hurd/threadvar.h: Include <tls.h>, do not include <machine-sp.h>. (__hurd_sigthread_variables, __hurd_threadvar_max): Remove variables declarations. (__hurd_threadvar_index): Remove enum. (_HURD_THREADVAR_H_EXTERN_INLINE): Remove macro. (__hurd_threadvar_location_from_sp,__hurd_threadvar_location): Remove inlines. (__hurd_reply_port0): New variable declaration. (__hurd_local_reply_port): New macro. * hurd/hurdsig.c (__hurd_sigthread_variables): Remove variable. (interrupted_reply_port_location): Add thread_t parameter. Use it with THREAD_TCB to access thread-local variables. (_hurdsig_abort_rpcs): Pass ss->thread to interrupted_reply_port_location. (_hurd_internal_post_signal): Likewise. (_hurdsig_init): Use presence of cthread_fork instead of __hurd_threadvar_stack_mask to start signal thread by hand. Remove signal thread threadvar initialization. * hurd/hurdstartup.c: Do not include <hurd/threadvar.h> * hurd/sigunwind.c: Include <hurd/threadvar.h> (_hurdsig_longjmp_from_handler): Use __hurd_local_reply_port instead of threadvar. * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add __libc_lock_self0. (ld.GLIBC_2.0): Remove __hurd_sigthread_stack_base, __hurd_sigthread_stack_end, __hurd_sigthread_variables. (ld.GLIBC_PRIVATE): Add __libc_lock_self0. * sysdeps/mach/hurd/cthreads.c: Add __libc_lock_self0. * sysdeps/mach/hurd/dl-sysdep.c (errno, __hurd_sigthread_stack_base, __hurd_sigthread_stack_end, __hurd_sigthread_variables, threadvars, __hurd_threadvar_stack_offset, __hurd_threadvar_stack_mask): Do not define variables. * sysdeps/mach/hurd/errno-loc.c: Do not include <errno.h> and <hurd/threadvar.h>. [IS_IN(rtld)] (rtld_errno): New variable. [IS_IN(rtld)] (__errno_location): New weak function. [!IS_IN(rtld)]: Include "../../../csu/errno-loc.c". * sysdeps/mach/hurd/errno.c: Remove file. * sysdeps/mach/hurd/fork.c: Include <hurd/threadvar.h> (__fork): Remove THREADVAR_SPACE macro and its use. * sysdeps/mach/hurd/i386/init-first.c (__hurd_threadvar_max): Remove variable. (init): Do not initialize threadvar. * sysdeps/mach/hurd/i386/libc.abilist (__hurd_threadvar_max): Remove symbol. * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Use __hurd_local_reply_port instead of threadvar. * sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add reply_port and _hurd_sigstate fields. (HURD_DESC_TLS, __LIBC_NO_TLS, THREAD_TCB): New macro. * sysdeps/mach/hurd/i386/trampoline.c: Remove outdated comment. * sysdeps/mach/hurd/libc-lock.h: Do not include <hurd/threadvar.h>. (__libc_lock_owner_self): Use &__libc_lock_self0 and THREAD_SELF instead of threadvar. * sysdeps/mach/hurd/libc-tsd.h: Remove file. * sysdeps/mach/hurd/mig-reply.c (GETPORT, reply_port): Remove macros. (use_threadvar, global_reply_port): Remove variables. (__hurd_reply_port0): New variable. (__mig_get_reply_port): Use __hurd_local_reply_port and __hurd_reply_port0 instead of threadvar. (__mig_dealloc_reply_port): Likewise. (__mig_init): Do not initialize threadvar. * sysdeps/mach/hurd/profil.c: Fix comment.
2004-06-01Update.Ulrich Drepper
2004-05-10 Jakub Jelinek <jakub@redhat.com> * sysdeps/posix/sysconf.c (__sysconf) <cases _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED>: Return _POSIX_* value instead of 1. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) <case _SC_MONOTONIC_CLOCK>: Return _POSIX_VERSION instead of 1. 2004-05-07 Jeroen Dekkers <jeroen@dekkers.cx> * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add -momit-leaf-frame-pointer. * inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with #ifdef AF_PACKET. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_intern): Only realloc when size is <= 0. * sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset isn't page aligned. * sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to new size. * sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read, __libc_write and __libc_lseek64.
2002-09-29* sysdeps/mach/hurd/Versions (ld: GLIBC_2.2.6): Add __errno_location.Roland McGrath
2002-09-29 Roland McGrath <roland@redhat.com>
2002-09-25* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Move __libc_read,Roland McGrath
__libc_write, __libc_lseek64, to ... (ld: GLIBC_PRIVATE): ... here.
2002-09-02* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Add __fxstat64.Roland McGrath
2002-07-312002-07-31 Roland McGrath <roland@frob.com>Roland McGrath
* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): __fxstat -> __fxstat64, __xstat -> __xstat64, __lseek -> __libc_lseek64. Completes 2002-06-09 sysdeps/mach/hurd/dl-sysdep.c change.
2002-04-07Update.Ulrich Drepper
2002-04-07 Ulrich Drepper <drepper@redhat.com> * sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export list. * elf/Versions: Remove it here.
2000-11-04* sysdeps/mach/hurd/Versions [libc] (GLIBC_2.1.1): Remove __libc_clk_tck. * ↵Mark Kettenis
sysdeps/mach/hurd/Makefile [$(subdir)==posix] (sysdep_routines): Remove clk_tck. * sysdeps/mach/hurd/clk_tck.c: Removed. * sysdeps/mach/hurd/getclktck.c: New file. * sysdeps/mach/hurd/setitimer.c (quantize_timeval): Use __getclktck instead of __libc_clk_tck. * sysdeps/mach/hurd/bits/time.h: Use __sysconf for CLK_TCK instead of __libc_clk_tck. * sysdeps/mach/hurd/i386/bits/time.h: Likewise. 2000-11-04 Mark Kettenis <kettenis@gnu.org> * sysdeps/mach/hurd/Versions [libc] (GLIBC_2.1.1): Remove __libc_clk_tck. * sysdeps/mach/hurd/Makefile [$(subdir)==posix] (sysdep_routines): Remove clk_tck. * sysdeps/mach/hurd/clk_tck.c: Removed. * sysdeps/mach/hurd/getclktck.c: New file. * sysdeps/mach/hurd/setitimer.c (quantize_timeval): Use __getclktck instead of __libc_clk_tck. * sysdeps/mach/hurd/bits/time.h: Use __sysconf for CLK_TCK instead of __libc_clk_tck. * sysdeps/mach/hurd/i386/bits/time.h: Likewise.
2000-04-21Update.Ulrich Drepper
2000-04-19 Jakub Jelinek <jakub@redhat.com> * locale/programs/ld-ctype.c (ctype_output): Set size of the idx field to nelems * sizeof (uint32_t). * locale/programs/ld-address.c (address_output): Align word fields properly. * locale/programs/ld-monetary.c (monetary_output): Likewise. Don't restart idx pointers to idx end at the duo_int_curr_symbol field. Avoid giving arbitrary garbage in the crncystr field. Use sizeof(uint32_t) instead of 4 for len in uno_valid_from, uno_valid_to, duo_valid_from, duo_valid_to and conversion_rate fields. * locale/programs/ld-numeric.c (numeric_output): Likewise. Don't restart idx pointers to idx end at the decimal_point_wc field. * locale/programs/ld-time.c (time_output): week_1stday should be word, not byte. Align it properly. 2000-04-19 H.J. Lu <hjl@gnu.org> * csu/gmon-start.c (_start): Declared as "extern void". (etext): Likewise. 2000-04-18 Andreas Jaeger <aj@suse.de> * manual/install.texi (Running make install): Don't mention utmpd anymore. 2000-04-18 Andreas Jaeger <aj@suse.de> * linuxthreads/Versions: Use ld instead of ld.so. * elf/Makefile (ld-map): Use ld.map. * Versions.def: Use ld instead of ld.so. * elf/Versions: Likewise. * sysdeps/mach/hurd/Versions: Likewise.
2000-03-302000-03-30 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* mach/Versions (libc: GLIBC_2.0) [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize __vm_allocate on this. [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize mutex- and spinlock-related symbols on this. [!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3): New version set. Lock-related symbols go here instead in this case. * sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove _cthread_exit_routine, _cthread_init_routine, cthread_keycreate, cthread_getspecific, cthread_setspecific, __libc_getspecific. * hurd/Versions [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0): Put them here instead. [!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3): New version set. Those cthreads symbols go here instead in this case. * Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
1999-04-051999-03-26 Mark Kettenis <kettenis@gnu.org> Roland McGrath
* sysdeps/mach/hurd/bits/time.h: New file. * sysdeps/mach/hurd/getrusage.c: New file. * sysdeps/mach/hurd/clk_tck.c: New file. * sysdeps/mach/hurd/Versions (libc) [GLIBC_2.1.1]: Add __libc_clk_tck. * sysdeps/mach/hurd/Makefile [$(subdir) = posix] (sysdep_routines): Add clk_tck. * sysdeps/mach/hurd/times.c: Removed, since getrusage is now implemented.
1999-03-15* sysdeps/mach/hurd/Versions (ld.so) [GLIBC_2.0]: AddRoland McGrath
__hurd_sigthread_stack_base, __hurd_sigthread_stack_end, __hurd_sigthread_variables, __hurd_threadvar_stack_mask, __hurd_threadvar_stack_offset, __close, __fxstat, __getcwd, __getpid, __libc_read, __libc_write, __lseek, __mmap, __open, __xstat, _exit, _hurd_intr_rpc_mach_msg and abort. 1999-03-15 Mark Kettenis <kettenis@gnu.org>
1998-10-261998-10-26 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* hurd/Versions: Add _hurd_dtable, _hurd_dtablesize, _hurd_dtable_lock, _hurd_intern_fd. * sysdeps/mach/hurd/Versions: Add cthread_keycreate, cthread_getspecific, cthread_setspecific, __libc_getspecific. * mach/Versions: Fix typo in last change. __mach_port_insert_right __mutex_trylock, __mutex_lock, __mutex_unlock, __swtch, __switch, __task_create, __task_suspend, __task_set_special_port, __task_terminate, __thread_depress_abort, __thread_switch, __vm_allocate, __vm_deallocate, __vm_map. These functions are not used outside libc.
1998-10-251998-10-24 Mark Kettenis <kettenis@phys.uva.nl>Roland McGrath
* mach/Versions: Add evc_wait, mach_error, mach_error_string, mach_error_type, mach_msg_destroy, mig_deallocate_reply_port. Remove __mach_host_self, __mach_reply_port, __mach_setup_thread, __mach_port_allocate, __mach_port_allocate_name, __mach_port_deallocate, __mach_port_insert_right, __mutex_init, __mutex_trylock, __mutex_lock, __mutex_unlock, __swtch, __switch, __task_create, __task_suspend, __task_set_special_port, __task_terminate, __thread_depress_abort, __thread_switch, __vm_allocate, __vm_deallocate, __vm_map. These functions are not used outside libc. * sysdeps/mach/hurd/Versions: New file. [libc, GLIBC_2.0]: Add _cthread_exit_routine and _cthread_init_routine. These are set by the Hurd cthreads library. Add __getcwd, __mmap. If we don't add these, the weak definitions in the dynamic linker will not be replaced by the corresponding shared library routines once they are loaded. 1998-10-21 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/mach/hurd/i386/init-first.c: Only define __libc_enable_secure if PIC is not defined. 1998-10-25 Roland McGrath <roland@baalperazim.frob.com> * argp/Versions: Add _argp_unlock_xxx. Lock-savvy functions call this to recurse into argp.