about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/Versions
Commit message (Collapse)AuthorAgeFilesLines
* hurd: make close a cancellation pointSamuel Thibault2020-06-281-0/+2
| | | | | | | | | | | | | | and add _nocancel variant. * sysdeps/mach/hurd/Makefile [io] (sysdep_routines): Add close_nocancel. * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE, ld.GLIBC_PRIVATE): Add __close_nocancel. * sysdeps/mach/hurd/i386/localplt.data (__close_nocancel): Allow PLT. * sysdeps/mach/hurd/close.c: Include <sysdep-cancel.h> (__libc_close): Surround _hurd_fd_close with enabling async cancel. * sysdeps/mach/hurd/close_nocancel.c: New file. * sysdeps/mach/hurd/not-cancel.h (__close_nocancel): Replace macro with declaration with hidden proto.
* hurd: make open and openat cancellation pointsSamuel Thibault2020-06-281-0/+2
| | | | | | | | | | | | | | | | | | | | | and add _nocancel variants. * sysdeps/mach/hurd/Makefile [io] (sysdep_routines): Add open_nocancel openat_nocancel. * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE, ld.GLIBC_PRIVATE): Add __open_nocancel. * sysdeps/mach/hurd/dl-sysdep.c (__open_nocancel): Add alias, check it is not hidden. * sysdeps/mach/hurd/i386/localplt.data (__open_nocancel): Allow PLT. * sysdeps/mach/hurd/not-cancel.h (__open_nocancel, __openat_nocancel: Replace macros with declarations with hidden proto. (__open64_nocancel, __openat64_nocancel): Call __open_nocancel and __openat_nocancel instead of __open64 and __openat64. * sysdeps/mach/hurd/open.c: Include <sysdep-cancel.h> (__libc_open): Surround __file_name_lookup with enabling async cancel. * sysdeps/mach/hurd/openat.c: Likewise. * sysdeps/mach/hurd/open_nocancel.c, sysdeps/mach/hurd/openat_nocancel.c: New files.
* hurd: Add mremapSamuel Thibault2020-06-201-0/+3
| | | | | | | * sysdeps/mach/hurd/mremap.c: New file. * sysdeps/mach/hurd/Makefile [misc] (sysdep_routines): Add mremap. * sysdeps/mach/hurd/Versions (libc.GLIBC_2.32): Add mremap. * sysdeps/mach/hurd/i386/libc.abilist: Add mremap.
* hurd: Make write and pwrite64 cancellation pointsSamuel Thibault2020-06-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | and add _nocancel variants. * sysdeps/mach/hurd/write.c (__libc_write): Call __write_nocancel surrounded by enabling async cancel, to replace implementation moved to... * sysdeps/mach/hurd/write_nocancel.c (__write_nocancel): ... here. * sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Call __pwrite64_nocancel surrounded by enabling async cancel, to replace implementation moved to... * sysdeps/mach/hurd/pwrite64_nocancel.c (__pwrite64_nocancel): ... here. * sysdeps/mach/hurd/Makefile (sysdep_routines): Add write_nocancel and pwrite64_nocancel. * sysdeps/mach/hurd/not-cancel.h (__write_nocancel, __pwrite64_nocancel): Replace macros with prototypes with a hidden proto on libc. * sysdeps/mach/hurd/dl-sysdep.c (__write_nocancel): New alias, check that it is not hidden. * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add __write_nocancel. (ld.GLIBC_PRIVATE): Add __write_nocancel. * sysdeps/mach/hurd/i386/localplt.data (__write_nocancel): Add reference.
* hurd: Make read and pread64 cancellableSamuel Thibault2020-06-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | and add _nocancel variants. * sysdeps/mach/hurd/pread64.c (__libc_pread64): Call __pread64_nocancel surrounded by enabling async cancel, to replace implementation moved to... * sysdeps/mach/hurd/pread64_nocancel.c (__pread64_nocancel): ... here. * sysdeps/mach/hurd/read.c (__libc_read): Call __read_nocancel surrounded by enabling async cancel, to replace implementation moved to... * sysdeps/mach/hurd/read_nocancel.c (__read_nocancel): ... here. * sysdeps/mach/hurd/Makefile (sysdep_routines): Add read_nocancel and pread64_nocancel. * sysdeps/mach/hurd/not-cancel.h (__read_nocancel, __pread64_nocancel): Replace macros with prototypes with a hidden proto on libc. * sysdeps/mach/hurd/dl-sysdep.c: Include <not-cancel.h>. (__pread64_nocancel): New alias, check that it is not hidden. (__read_nocancel): New alias, check that it is not hidden. * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add __read_nocancel and __pread64_nocancel. (ld.GLIBC_2.1): Add __pread64. (ld.GLIBC_PRIVATE): Add __read_nocancel and __pread64_nocancel. * sysdeps/mach/hurd/i386/ld.abilist (__pread64): Add symbol. * sysdeps/mach/hurd/i386/localplt.data (__read_nocancel, __pread64, __pread64_nocancel): Add references.
* htl: Avoid exposing unixoid functionsSamuel Thibault2020-01-131-0/+3
| | | | C11 threads should not expose them.
* hurd: Do not make sigprocmask available in ld.soFlorian Weimer2019-12-181-2/+2
| | | | | | | | | | | After commit f7649d5780aa4682393b9daedd653e4d9c12784c ("dlopen: Do not block signals"), the dynamic linker no longer uses sigprocmask, which means that it does not have to be made available explicitly on hurd. This reverts commit 892badc9bbcd4a6f8c2eb6c8a99be3aa22517532 ("hurd: Make __sigprocmask GLIBC_PRIVATE") and commit d5ed9ba29a3c818b3433a1784862494968abda45 ("hurd: Fix ld.so link"), but keeps the comment changes from the second commit.
* hurd: Fix __close_nocancel_nostatus availabilitySamuel Thibault2019-12-131-0/+1
| | | | | | | | | | | | | | Not only libc/rtld use __close_nocancel_nostatus. * sysdeps/mach/hurd/Makefile [$(subdir) == io] (sysdep_routines): Add close_nocancel_nostatus. * sysdeps/mach/hurd/Versions (libc): Add __close_nocancel_nostatus to GLIBC_PRIVATE. * sysdeps/mach/hurd/not-cancel.h (__close_nocancel_nostatus): Declare function instead of defining inline. [IS_IN (libc) || IS_IN (rtld)] (__close_nocancel_nostatus): Make function hidden. * sysdeps/mach/hurd/close_nocancel_nostatus.c: New file.
* hurd: Fix ld.so __access override from libcSamuel Thibault2019-12-011-4/+4
| | | | | | ld.so symbols to be overriden by libc need to be extern to really get overriden. __access happens to have never been exposed, putting it to GLIBC_PRIVATE.
* hurd: Fix ld.so __getcwd override from libcSamuel Thibault2019-12-011-4/+4
| | | | | | ld.so symbols to be overriden by libc need to be extern to really get overriden. __getcwd happens to have never been exposed, putting it to GLIBC_PRIVATE.
* hurd: Make __sigprocmask GLIBC_PRIVATESamuel Thibault2019-12-011-4/+4
| | | | We do not need to expose it.
* hurd: Fix ld.so linkSamuel Thibault2019-12-011-2/+2
| | | | | Since a2e8aa0d9ea6 ("Block signals during the initial part of dlopen") dl_open uses sigprocmask, so we need a stub implementation.
* hurd: Fix some ld.so symbol override from libcSamuel Thibault2018-07-271-5/+14
| | | | | | | | | | | | | | 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.
* hurd: Replace threadvars with TLSSamuel Thibault2018-03-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2004-06-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * sysdeps/mach/hurd/Versions (ld: GLIBC_2.2.6): Add __errno_location.Roland McGrath2002-09-291-0/+4
| | | | 2002-09-29 Roland McGrath <roland@redhat.com>
* * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Move __libc_read,Roland McGrath2002-09-251-2/+5
| | | | | __libc_write, __libc_lseek64, to ... (ld: GLIBC_PRIVATE): ... here.
* * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Add __fxstat64.Roland McGrath2002-09-021-1/+1
|
* 2002-07-31 Roland McGrath <roland@frob.com>Roland McGrath2002-07-311-2/+2
| | | | | | * 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.
* Update.Ulrich Drepper2002-04-071-0/+6
| | | | | | | | 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.
* * sysdeps/mach/hurd/Versions [libc] (GLIBC_2.1.1): Remove __libc_clk_tck. * ↵Mark Kettenis2000-11-041-4/+0
| | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2000-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-30 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath2000-03-301-8/+1
| | | | | | | | | | | | | | | | | | | * 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-03-26 Mark Kettenis <kettenis@gnu.org> Roland McGrath1999-04-051-0/+4
| | | | | | | | | | | * 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.
* * sysdeps/mach/hurd/Versions (ld.so) [GLIBC_2.0]: AddRoland McGrath1999-03-151-0/+15
| | | | | | | | | | __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-26 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1998-10-261-0/+4
| | | | | | | | | | | | | | | | | * 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-24 Mark Kettenis <kettenis@phys.uva.nl>Roland McGrath1998-10-251-0/+9
* 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.