Commit Graph

16 Commits

Author SHA1 Message Date
Roland McGrath
db169ed561 * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
(PTR_MANGLE): Fix cast.

	* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Take third argument
	DEMANGLE, and pass SP value through it.
	* sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Likewise.
	* sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Pass inline
	demangler function to _JMPBUF_UNWINDS.
	* sysdeps/mach/hurd/jmp-unwind.c (demangle_ptr): New function.
	(_longjmp_unwind): Pass it to _JMPBUF_UNWINDS.
2005-12-28 05:42:30 +00:00
Ulrich Drepper
9dcafc5597 * csu/elf-init.c (__libc_csu_fini): Don't do anything here.
* sysdeps/generic/libc-start.c: Don't register program destructor here.
	* dlfcn/Makefile: Add rules to build dlfcn.c.
	(LDFLAGS-dl.so): Removed.
	* dlfcn/dlclose.c: _dl_close is now in ld.so, use function pointer
	table.
	* dlfcn/dlmopen.c: Likewise for _dl_open.
	* dlfcn/dlopen.c: Likewise.
	* dlfcn/dlopenold.c: Likewise.
	* elf/dl-libc.c: Likewise for _dl_open and _dl_close.
	* elf/Makefile (routines): Remove dl-open and dl-close.
	(dl-routines): Add dl-open, dl-close, and dl-trampoline.
	Add rules to build and run tst-audit1.
	* elf/tst-audit1.c: New file.
	* elf/tst-auditmod1.c: New file.
	* elf/Versions [libc]: Remove _dl_open and _dl_close.
	* elf/dl-close.c: Change for use inside ld.so instead of libc.so.
	* elf/dl-open.c: Likewise.
	* elf/dl-debug.c (_dl_debug_initialize): Allow reinitialization,
	signaled by nonzero parameter.
	* elf/dl-init.c: Fix use of r_state.
	* elf/dl-load.c: Likewise.

	* elf/dl-close.c: Add auditing checkpoints.
	* elf/dl-open.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* elf/dl-object.c: Allocate memory for auditing information.
	* elf/dl-reloc.c: Remove RESOLV.  We now always need the map.
	Correctly initialize slotinfo.
	* elf/dynamic-link.h: Adjust after removal of RESOLV.
	* sysdeps/hppa/dl-lookupcfg.h: Likewise.
	* sysdeps/ia64/dl-lookupcfg.h: Likewise.
	* sysdeps/powerpc/powerpc64/dl-lookupcfg.h: Removed.
	* elf/dl-runtime.c (_dl_fixup): Little cleanup.
	(_dl_profile_fixup): New parameters to point to register struct and
	variable for frame size.
	Add auditing checkpoints.
	(_dl_call_pltexit): New function.
	Don't define trampoline code here.
	* elf/rtld.c: Recognize LD_AUDIT.  Load modules on startup.
	Remove all the functions from _rtld_global_ro which only _dl_open
	and _dl_close needed.
	Add auditing checkpoints.
	* elf/link.h: Define symbols for auditing interfaces.
	* include/link.h: Likewise.
	* include/dlfcn.h: Define __RTLD_AUDIT.
	Remove prototypes for _dl_open and _dl_close.
	Adjust access to argc and argv in libdl.
	* dlfcn/dlfcn.c: New file.
	* sysdeps/generic/dl-lookupcfg.h: Remove all content now that RESOLVE
	is gone.
	* sysdeps/generic/ldsodefs.h: Add definitions for auditing interfaces.
	* sysdeps/generic/unsecvars.h: Add LD_AUDIT.
	* sysdeps/i386/dl-machine.h: Remove trampoline code here.
	Adjust for removal of RESOLVE.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* sysdeps/generic/dl-trampoline.c: New file.
	* sysdeps/i386/dl-trampoline.c: New file.
	* sysdeps/x86_64/dl-trampoline.c: New file.

	* sysdeps/generic/dl-tls.c: Cleanups.  Fixup for dtv_t change.
	Fix updating of DTV.
	* sysdeps/generic/libc-tls.c: Likewise.

	* sysdeps/arm/bits/link.h: Renamed to ...
	* sysdeps/arm/buts/linkmap.h: ...this.
	* sysdeps/generic/bits/link.h: Renamed to...
	* sysdeps/generic/bits/linkmap.h: ...this.
	* sysdeps/hppa/bits/link.h: Renamed to...
	* sysdeps/hppa/bits/linkmap.h: ...this.
	* sysdeps/hppa/i386/link.h: Renamed to...
	* sysdeps/hppa/i386/linkmap.h: ...this.
	* sysdeps/hppa/ia64/link.h: Renamed to...
	* sysdeps/hppa/ia64/linkmap.h: ...this.
	* sysdeps/hppa/s390/link.h: Renamed to...
	* sysdeps/hppa/s390/linkmap.h: ...this.
	* sysdeps/hppa/sh/link.h: Renamed to...
	* sysdeps/hppa/sh/linkmap.h: ...this.
	* sysdeps/hppa/x86_64/link.h: Renamed to...
	* sysdeps/hppa/x86_64/linkmap.h: ...this.
2005-01-06  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (init_one_static_tls): Adjust initialization of DTV
	entry for static tls deallocation fix.
	* sysdeps/alpha/tls.h (dtv_t): Change pointer type to be struct which
	also contains information whether the memory pointed to is static
	TLS or not.
	* sysdeps/i386/tls.h: Likewise.
	* sysdeps/ia64/tls.h: Likewise.
	* sysdeps/powerpc/tls.h: Likewise.
	* sysdeps/s390/tls.h: Likewise.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/sparc/tls.h: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
2005-01-06 22:40:27 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Richard Henderson
cbc53df0fa * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. nptl/ * sysdeps/unix/sysv/linux/alpha/clone.S: New file. * sysdeps/alpha/tcb-offsets.sym (TID_OFFSET): New.
2004-12-17  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Add support
	for NPTL where the PID is stored at userlevel and needs to be
	reset when CLONE_THREAD is not used.
2004-12-17 10:11:44 +00:00
Richard Henderson
f8c97af7bc * sysdeps/alpha/tcb-offsets.sym (thread_offsetof): Redefine to make gcc4 happy.
2004-10-14  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/tcb-offsets.sym (thread_offsetof): Redefine to
	make gcc4 happy.
2004-10-15 07:07:57 +00:00
Ulrich Drepper
f76c849910 Update.
* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
	* sysdeps/i386/jmpbuf-unwind.h: Likewise
	* sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
	* sysdeps/s390/jmpbuf-unwind.h: Likewise.
	* sysdeps/sh/jmpbuf-unwind.h: Likewise.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h: Likewise.
	* sysdeps/x86_64/jmpbuf-unwind.h: Likewise.
	* unwind.c: Use it.
2004-09-02 22:47:23 +00:00
Ulrich Drepper
346f18ae18 [BZ #230, BZ #231]
Update.
2004-06-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo.

	[BZ #231]
	* sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp
	relocation in librt.so.

	[BZ #230]
	* sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load
	_dl_skip_args.  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
2004-06-28 21:05:24 +00:00
Richard Henderson
9852f6dcff * sysdeps/alpha/tcb-offsets.sym (PID_OFFSET): New. * sysdeps/unix/sysv/linux/alpha/pt-vfork.S: Save/restore PID. * sysdeps/unix/sysv/linux/alpha/vfork.S: New file.
2004-03-11  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/tcb-offsets.sym (PID_OFFSET): New.
	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: Save/restore PID.
	* sysdeps/unix/sysv/linux/alpha/vfork.S: New file.
2004-03-11 21:34:25 +00:00
Richard Henderson
ba6838329c * sysdeps/alpha/tls.h (tcbhead_t): Add private. (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE, TLS_PRE_TCB_SIZE, TLS_TCB_ALIGN, INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, THREAD_DTV, THREAD_SELF, DB_THREAD_SELF): Match ia64. (TLS_TCB_OFFSET, THREAD_ID, NO_TLS_OFFSET): Remove. (THREAD_GETMEM, THREAD_GETMEM_NC): Simplify. (THREAD_SETMEM, THREAD_SETMEM_NC): Likewise. * sysdeps/unix/sysv/linux/alpha/createthread.c (TLS_VALUE): Match ia64.
2004-01-15  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/tls.h (tcbhead_t): Add private.
	(TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE,
	TLS_PRE_TCB_SIZE, TLS_TCB_ALIGN, INSTALL_DTV, INSTALL_NEW_DTV,
	GET_DTV, THREAD_DTV, THREAD_SELF, DB_THREAD_SELF): Match ia64.
	(TLS_TCB_OFFSET, THREAD_ID, NO_TLS_OFFSET): Remove.
	(THREAD_GETMEM, THREAD_GETMEM_NC): Simplify.
	(THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
	* sysdeps/unix/sysv/linux/alpha/createthread.c (TLS_VALUE): Match ia64.
2004-01-16 05:23:05 +00:00
Richard Henderson
dc927809b1 * sysdeps/alpha/Makefile: New file. * sysdeps/alpha/tcb-offsets.sym: New file. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P): Use MULTIPLE_THREADS_OFFSET to implement !libpthread !libc version.
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Rewrite based
        on powerpc version.
2004-01-13  Richard Henderson  <rth@redhat.com>

        * sysdeps/alpha/Makefile: New file.
        * sysdeps/alpha/tcb-offsets.sym: New file.
        * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P):
        Use MULTIPLE_THREADS_OFFSET to implement !libpthread !libc version.

        * sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Rewrite based
        on powerpc version.
2004-01-13 09:36:22 +00:00
Roland McGrath
763c0490a2 * sysdeps/alpha/tls.h (DB_THREAD_SELF): Pass bit size of thread
register as second parameter to the REGISTER macro.
	* sysdeps/ia64/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/powerpc/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/sh/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/sparc/tls.h (DB_THREAD_SELF): Likewise.
	* sysdeps/s390/tls.h (DB_THREAD_SELF): Pass __WORDSIZE as bit size
	of thread register as second parameter to REGISTER macro in 64 case.
2004-01-06 10:31:21 +00:00
Ulrich Drepper
675620f74c Update.
2003-12-18  Ulrich Drepper  <drepper@redhat.com>

	* tst-eintr1.c: Better error messages.

	* Makefile (tests): Add tst-eintr2.
	* tst-eintr2.c: New file.

2003-12-18  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-cancel21 and tst-cancelx21.
	(CFLAGS-tst-cancelx21.c): Set.
	* tst-cancel21.c: New test.
	* tst-cancelx21.c: New test.

	* unwind.c (FRAME_LEFT): Add adj argument.  Subtract it from each
	comparison operand.
	(unwind_stop): Use _JMPBUF_CFA_UNWINDS_ADJ macro instead of
	_JMPBUF_CFA_UNWINDS.  Adjust FRAME_LEFT invocations.
	* pt-longjmp.c: Include jmpbuf-unwind.h.
	(__pthread_cleanup_upto): Use _JMPBUF_UNWINDS_ADJ macro instead of
	_JMPBUF_UNWINDS.  Adjust compared pointers.
	* init.c (__pthread_initialize_minimal_internal): Initialize
	pd->stackblock_size.
	* sysdeps/pthread/jmpbuf-unwind.h: Removed.
	* sysdeps/alpha/jmpbuf-unwind.h: New file.
	* sysdeps/i386/jmpbuf-unwind.h: New file.
	* sysdeps/powerpc/jmpbuf-unwind.h: New file.
	* sysdeps/s390/jmpbuf-unwind.h: New file.
	* sysdeps/sh/jmpbuf-unwind.h: New file.
	* sysdeps/sparc/sparc32/jmpbuf-unwind.h: New file.
	* sysdeps/x86_64/jmpbuf-unwind.h: New file.
	* sysdeps/ia64/jmpbuf-unwind.h: Include stdint.h.
	(_JMPBUF_CFA_UNWINDS): Remove.
	(_JMPBUF_CFA_UNWINDS_ADJ, _JMPBUF_UNWINDS_ADJ): Define.

2003-12-12  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-cancel20 and tst-cancelx20.
	(CFLAGS-tst-cancelx20.c): Set.
	* tst-cancel20.c: New test.
	* tst-cancelx20.c: New test.
2003-12-19 01:37:13 +00:00
Roland McGrath
7f08f55a9f * sysdeps/unix/sysv/linux/speed.c
(cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED].
	(cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED].
	* sysdeps/unix/sysv/linux/bits/termios.h
	(_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
2003-09-09 07:01:01 +00:00
Ulrich Drepper
d810b3584c Update.
2003-07-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Version
	__ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible.

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for
	compilation with HAVE_AUX_SECURE defined.
2003-07-08 03:42:49 +00:00
Ulrich Drepper
f036e569ac Update.
2003-07-01  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/pt-initfini.c: New file.
	* sysdeps/alpha/pthread_spin_lock.S: New file.
	* sysdeps/alpha/pthread_spin_trylock.S: New file.
	* sysdeps/alpha/pthreaddef.h: New file.
	* sysdeps/alpha/td_ta_map_lwp2thr.c: New file.
	* sysdeps/alpha/tls.h: New file.
	* sysdeps/unix/sysv/linux/alpha/Makefile: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/alpha/createthread.c: New file.
	* sysdeps/unix/sysv/linux/alpha/fork.c: New file.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/alpha/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: New file.
2003-07-01 20:23:15 +00:00