Commit Graph

365 Commits

Author SHA1 Message Date
Aurelien Jarno
22f7e90291 Fix dl-procinfo support for MIPS. 2012-02-17 17:34:31 +01:00
Aurelien Jarno
cec96a4f3d Adjust MIPS ULPS to take into account the new jn tests. 2012-02-17 17:34:30 +01:00
Robert Millan
d2cc32ab71 Provide sys/tas.h for all MIPS systems. 2012-02-15 22:35:18 +00:00
Robert Millan
d05f2edbc2 Use __start for all Unices on MIPS. 2012-02-15 22:29:31 +00:00
Robert Millan
87ae60cc22 Add dl-procinfo support for MIPS. 2012-02-15 22:20:07 +00:00
Viju Vincent
7865d19cf6 Resolve race between dlopen and lazy binding on MIPS. 2012-02-15 17:25:51 +00:00
Joseph Myers
25a368f231 Convert MIPS to crti.S/crtn.S. 2012-02-10 12:28:07 +00:00
Joseph Myers
2aee894935 MIPS: Remove __STDC__ conditionals. 2012-01-26 20:53:57 +00:00
Joseph Myers
7b966fcb48 Use const instead of __const for MIPS. 2012-01-08 13:13:21 +00:00
Joseph Myers
3538f2fb14 Add MIPS NPTL shlib-versions file replacing entry in libc copy. 2012-01-07 18:31:08 +00:00
Joseph Myers
e3950b2956 Update mips files for removal of ia64 from libc. 2012-01-07 16:52:54 +00:00
Tom de Vries
32a6153180 Use -fno-unwind-tables for *initfini* on MIPS. 2012-01-04 12:03:20 +00:00
Tom de Vries
04d4502636 Use IA64 backtrace on MIPS. 2012-01-03 16:20:45 +00:00
Joseph Myers
a9ff8724b3 Update MIPS dl-lookup.c. 2011-11-11 22:07:55 +00:00
Joseph Myers
c3beb30239 Add __sqrt*_finite aliases for MIPS. 2011-10-12 16:12:13 +00:00
Andreas Schwab
9a7e10917d mips: don't call ifunc functions in trace mode 2011-10-05 11:53:16 +02:00
Joseph Myers
329c2e6358 Remove HAVE_TLS_SUPPORT conditionals for MIPS. 2011-09-13 15:55:38 +00:00
Joseph Myers
b8ead09ab7 Remove USE_TLS conditionals for MIPS. 2011-09-11 11:22:32 +00:00
Matt Turner
e349dfdb68 Workaround R10K ll/sc errata. 2011-08-02 15:18:06 +00:00
Joseph Myers
f1d4d4beaf Update MIPS dl-lookup.c. 2011-05-13 10:11:25 +00:00
Joseph Myers
a32d0d808b Update MIPS dl-lookup.c from generic version. 2011-05-10 15:52:47 +00:00
Joseph Myers
ed36e1de02 Define TLS_DTV_UNALLOCATED for MIPS. 2011-04-11 13:30:52 +00:00
Joseph Myers
8825867bdd Update MIPS dl-lookup.c from generic version. 2011-03-22 20:42:13 +00:00
Joseph Myers
4f46492730 Handle NO_CTORS_DTORS_SECTIONS for MIPS. 2010-12-30 21:36:54 +00:00
Joseph Myers
390651fd1d Define DEFAULT_STACK_PERMS for MIPS. 2010-12-21 00:40:13 +00:00
Joseph Myers
9431b1591b Add hidden feupdateenv and fetestexcept definitions for MIPS. 2010-10-11 14:58:01 +00:00
Joseph Myers
1dbb4edc73 Fix abiversion handling for MIPS. 2010-04-06 20:26:22 +00:00
Joseph Myers
cca1fbbc2f Update MIPS dl-lookup.c from generic version. 2010-03-24 18:05:37 +00:00
Mischa Jonker
1eb0725631 Fix bug 11291: add *mem as atomic operation output for MIPS. 2010-03-23 15:03:10 +00:00
Joseph Myers
8256e69afd Add hidden alias for MIPS fegetenv. 2010-02-10 15:15:32 +00:00
Joseph Myers
54b7103af4 Fix microMIPS glibc by avoiding hardcoded instruction length assumptions.
microMIPS is a variable-length encoding of the MIPS32 instruction set
(plus some extra instructions).  As it supports almost all of MIPS32,
assembly sources in glibc do not generally need changes to work with
microMIPS, but dl-trampoline.c contains some code with a hardcoded
assumption that three instructions occupy twelve bytes.  This patch
fixes this code for microMIPS by using the difference between two
labels to let the assembler calculate the relevant length.
2010-01-29 01:54:52 +00:00
Joseph Myers
872083bf15 Update MIPS dl-lookup.c. 2009-12-16 17:44:03 +00:00
Joseph Myers
84f926688b Update MIPS dl-lookup.c from generic version. 2009-12-01 00:07:32 +00:00
Joseph Myers
c67273d5b2 Signal stack support for MIPS ____longjmp_chk.
* sysdeps/mips/____longjmp_chk.c: Remove.  Replaced by....
	* sysdeps/unix/sysv/linux/mips/____longjmp_chk.c: This.  New file.
	* sysdeps/mips/__longjmp.c (__longjmp): Use explicit register
	variable for env.  Use expansion of CHECK_SP macro for check.
	* sysdeps/mips/mips64/__longjmp.c (__Longjmp): Likewise.
2009-08-05 21:02:50 +00:00
Joseph Myers
cda50f828e Update MIPS dl-lookup.c for changes to generic version.
* sysdeps/mips/do-lookup.h: Remove.
	* sysdeps/mips/dl-lookup.c: Update from generic version, with
	non-PIC handling integrated.
2009-07-17 20:39:04 +00:00
Joseph Myers
6a9f82ac93 ____longjmp_chk for MIPS.
* sysdeps/mips/____longjmp_chk.c: New file.
	* sysdeps/mips/__longjmp.c: If CHECK_SP is defined, use it.  Don't
	undefine __longjmp.
	* sysdeps/mips64/__longjmp.c: Likewise.
2009-05-16 22:24:56 +00:00
Andreas Schwab
9c052b7cc1 Remove .cvsignore files 2009-05-16 10:36:20 +02:00
Joseph Myers
6db53cd548 2009-04-15 Maciej W. Rozycki <macro@codesourcery.com>
* sysdeps/mips/sys/fpregdef.h: Update for new ABIs.
2009-04-15 20:22:41 +00:00
Joseph Myers
ad32d65a9f * sysdeps/mips/bits/link.h: Uglify function parameter names.
* sysdeps/unix/sysv/linux/mips/sys/cachectl.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/eventfd.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
2009-03-15 16:54:26 +00:00
Daniel Jacobowitz
f6e40d3894 * sysdeps/mips/dl-dtprocnum.h (DT_MIPS_NUM): Do not redefine.
* sysdeps/mips/dl-machine.h (STO_MIPS_PLT, R_MIPS_COPY,
	R_MIPS_JUMP_SLOT, DT_MIPS_PLTGOT): Do not redefine.
2008-10-15 19:37:36 +00:00
Daniel Jacobowitz
63fb881a04 2008-10-01 Mark Shinwell <shinwell@codesourcery.com>
Daniel Jacobowitz  <dan@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* sysdeps/mips/dl-dtprocnum.h (DT_MIPS_NUM): Redefine.
	* sysdeps/mips/dl-lookup.c: New.
	* sysdeps/mips/do-lookup.h: New.
	* sysdeps/mips/dl-machine.h (ELF_MACHINE_NO_PLT): Remove
	definition.
	(STO_MIPS_PLT, R_MIPS_COPY, R_MIPS_JUMP_SLOT, DT_MIPS_PLTGOT): Define
	if needed.
	(ELF_MACHINE_JMP_SLOT): Alter definition and update comment.
	(elf_machine_type_class): Likewise.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_fixup_plt): New.
	(elf_machine_plt_value): New.
	(elf_machine_reloc): Handle jump slot and copy relocations.
	(elf_machine_lazy_rel): Point relocation place at PLT if
	required.
	(RESOLVE_GOTSYM): Take a relocation type argument.
	(elf_machine_got_rel): Bind lazy stubs directly to their target if
	!lazy.  Skip lazy binding for PLT symbols.
	(elf_machine_runtime_setup): Fill in .got.plt header.
	* sysdeps/mips/dl-trampoline.c (IFNEWABI): New macro.
	(ELF_DL_PLT_FRAME_SIZE, ELF_DL_PLT_SAVE_ARG_REGS,
	ELF_DL_PLT_RESTORE_ARG_REGS): Define.
	(_dl_runtime_pltresolve): New.
	* sysdeps/mips/bits/linkmap.h: New file.
	* sysdeps/mips/tls-macros.h: Load $gp as required.  Merge 32-bit and
	64-bit versions.

	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (SYSCALL_ERROR_LABEL):
	Delete definition.
	* sysdeps/unix/sysv/linux/mips/nptl/sysdep-cancel.h (PSEUDO_CPLOAD,
	PSEUDO_ERRJMP, PSEUDO_SAVEGP, PSEUDO_LOADGP): Define.
	(PSEUDO): Use them.  Move outside __PIC__.
	(PSEUDO_JMP): New.
	(CENABLE, CDISABLE): Use it.
2008-10-01 13:28:14 +00:00
Joseph Myers
606c1b1771 * sysdeps/mips/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Make asms
volatile.
2008-08-19 15:54:50 +00:00
Daniel Jacobowitz
e2570f301f * sysdeps/mips/bits/setjmp.h (__jmp_buf): Give name to structure
type.
2008-07-18 13:24:21 +00:00
Daniel Jacobowitz
af7eda0ff6 * sysdeps/mips/fpu/fesetround.c (fesetround): Use fpu_control_t.
* sysdeps/mips/fpu/fgetexcptflg.c (fegetexceptflag): Likewise.
	* sysdeps/mips/fpu/fsetexcptflg.c (fesetexceptflag): Likewise.
2008-03-26 13:21:26 +00:00
Andreas Jaeger
2af06d0d3e [BZ #5753]
* sysdeps/mips/ieee754.h: Use protected namespace
	__BIG_ENDIAN/__LITTLE_ENDIAN.
	Patch by Aurelien Jarno <aurelien@aurel32.net>.
2008-03-10 06:20:30 +00:00
Daniel Jacobowitz
8c2766740d * sysdeps/mips/nptl/tls.h (THREAD_GSCOPE_RESET_FLAG): Pass
LLL_PRIVATE argument to lll_futex_wake.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_CLOEXEC): Define.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h (PF_UNIX): Update
	comment.
	(PF_IUCV, PF_RXRPC): Define.
	(PF_MAX): Update.
	(AF_IUCV, AF_RXRPC): Define.
	(MSG_CMSG_CLOEXEC): Define.
	(_EXTERN_INLINE): Define to __extern_inline.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h (UTIME_NOW,
	UTIME_OMIT): Define.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Include <tls.h>.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h: Renamed all
	lll_mutex_* resp. lll_robust_mutex_* macros to lll_*
	resp. lll_robust_*.  Renamed all LLL_MUTEX_LOCK_* macros to
	LLL_LOCK_*.  Include <kernel-features.h>.
	(LLL_LOCK_INITIALIZER): Remove duplicate definition.
	(LLL_PRIVATE, LLL_SHARED, __lll_private_flag): Define.
	* sysdeps/unix/sysv/linux/mips/nptl/pthread_once.c
	(clear_once_control, __pthread_once): Pass LLL_PRIVATE argument to
	lll_futex_wait.
	(lll_futex_wait, lll_futex_timed_wait, lll_futex_wake,
	lll_robust_dead, lll_futex_requeue, lll_futex_wake_unlock): Take
	private arguments.
	(__lll_robust_trylock): Convert to macro.
	(__lll_robust_lock_wait): Add private argument.
	(__lll_lock_wait_private, __lll_lock_wait): Declare.
	(__lll_lock): Convert to macro.  Take private argument.
	(__lll_cond_lock): Likewise.
	(lll_lock, lll_cond_lock): Take private arguments.
	(__lll_robust_lock): Take private argument.  Convert to macro.
	(lll_robust_lock, __lll_cond_lock, lll_cond_lock,
	lll_robust_cond_lock): Take private arguments.
	(__lll_timedlock_wait, __lll_robust_timedlock_wait): Take private
	arguments.
	(__lll_timedlock, __lll_robust_timedlock): Take private arguments.
	(lll_timedlock, lll_robust_timedlock): Take private arguments.
	(__lll_unlock, __lll_robust_unlock): Convert to macros.  Take
	private arguments.
	(lll_unlock, lll_robust_unlock): Take private arguments.
	(__lll_mutex_unlock_force, lll_mutex_unlock_force, lll_lock_t,
	lll_trylock, lll_lock, lll_unlock, lll_islocked): Remove.
	(lll_wait_tid): Pass LLL_SHARED to lll_futex_wait.
	(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
	__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
	lll_cond_wake, lll_cond_broadcast): Remove.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_EXTERN_INLINE): Define
	to __extern_inline.
2007-09-12 12:57:41 +00:00
Daniel Jacobowitz
391da2016b 2007-07-13 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/mips/bits/wordsize.h [_MIPS_SIM == _ABI64]:
	Define __WORDSIZE_COMPAT32 as 1.
2007-07-13 12:48:34 +00:00
Daniel Jacobowitz
30efab519e * sysdeps/arm/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c
	(lll_unlock_wake_cb): Delete.
	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
	(FUTEX_PRIVATE_FLAG): Define.
	(lll_unlock_wake_cb): Delete prototype.
	* sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h: Include
	<endian.h>.
	(pthread_rwlock_t): Shrink __flags and add __shared.
	* sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
	(RTLD_SINGLE_THREAD_P): Define.

	* sysdeps/mips/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
	(FUTEX_PRIVATE_FLAG): Define.
	(lll_unlock_wake_cb): Delete prototype.
	* sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h: Include
	<endian.h>.
	(pthread_rwlock_t): Shrink __flags and add __shared.
2007-06-06 17:27:04 +00:00
Daniel Jacobowitz
384fa30ddd * sysdeps/mips/mips64/n32/Implies: Add mips/mips64/soft-fp.
* sysdeps/mips/mips64/n64/Implies: Likewise.
	* sysdeps/mips/mips64/soft-fp/Makefile: New.
	* sysdeps/mips/mips64/soft-fp/e_sqrtl.c: New.
	* sysdeps/mips/mips64/soft-fp/sfp-machine.h: Include <fenv.h> and
	<fpu_control.h>.  Use hardware exception and rounding mode
	settings.
2007-05-23 17:13:59 +00:00
Daniel Jacobowitz
9077d4dc20 * sysdeps/mips/dl-machine.h (elf_machine_reloc): Change type of
r_info argument to ElfW(Addr).
2007-05-23 16:50:14 +00:00