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
Daniel Jacobowitz
f50c692c20
* sysdeps/mips/bits/mathdef.h (float_t): Change to float.
2007-02-01 15:43:00 +00:00
Daniel Jacobowitz
cb5bcf7412
* sysdeps/mips/dl-machine.h (ELF_MACHINE_NO_RELA): Delete.
...
(elf_machine_reloc): New function, retaining the body of
elf_machine_rel. Take the reloc's r_info field as an argument,
not the reloc itself. Add extra r_addend and inplace_p arguments.
When inplace_p is false, use r_addend as the addend, not the contents
of the relocation field. Hoist the conversion of reloc_addr to
"ELFW(Addr) *". Don't try to apply TLS relocations against
undefined symbols. Add R_MIPS_GLOB_DAT support.
(elf_machine_rel, elf_machine_rela): Use elf_machine_reloc.
(elf_machine_lazy_rel): Change the reloc type from ElfW(Rel)
to ElfW(Rela).
2007-01-08 15:34:50 +00:00
Daniel Jacobowitz
2caa93e206
* sysdeps/mips/ldsodefs.h: Merge sysdeps/mips/elf/ldsodefs.h. Correct
...
multiple inclusion guard.
* sysdeps/mips/elf/ldsodefs.h: Delete file.
2007-01-08 15:26:51 +00:00
Daniel Jacobowitz
6b4d184dc9
* sysdeps/mips/fpu_control.h: If soft-float, don't use
...
floating-point registers.
* sysdeps/mips/__longjmp.c, sysdeps/mips/setjmp_aux.c,
sysdeps/mips/mips64/__longjmp.c, sysdeps/mips/mips64/setjmp_aux.c:
Likewise.
2006-09-21 21:01:02 +00:00
Daniel Jacobowitz
74321891c1
* sysdeps/mips/mips64/n32/libm-test-ulps,
...
sysdeps/mips/mips64/n64/libm-test-ulps: New.
2006-07-24 15:51:50 +00:00
Daniel Jacobowitz
c6e2897b1c
* sysdeps/mips/Makefile (ASFLAGS-.os): Define.
2006-06-02 15:09:39 +00:00
Daniel Jacobowitz
37896d3980
* sysdeps/mips/fpu/feholdexcpt.c: Add libm_hidden_def.
...
* sysdeps/mips/fpu/fesetround.c: Likewise.
2006-06-02 15:06:07 +00:00
Daniel Jacobowitz
19723bdded
* sysdeps/mips/ldsodefs.h: New file.
...
* sysdeps/mips/tst-audit.h: New file.
2006-05-08 19:19:56 +00:00
Daniel Jacobowitz
6428ce3cda
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
...
(INTERNAL_SYSCALL): Update internal_syscall##nr invocation.
(INTERNAL_SYSCALL_NCS): New.
(internal_syscall0, internal_syscall1, internal_syscall2,
internal_syscall3, internal_syscall4, internal_syscall5,
internal_syscall6): Take ncs_init, cs_init, and input arguments.
Use them. Correct types for registers.
* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
(INTERNAL_SYSCALL): Update internal_syscall##nr invocation.
(INTERNAL_SYSCALL_NCS): New.
(internal_syscall0, internal_syscall1, internal_syscall2,
internal_syscall3, internal_syscall4, internal_syscall5,
internal_syscall6): Take ncs_init, cs_init, and input arguments.
Use them.
* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Remove
recvfrom and sendto. Mark lseek, msgrcv, and msgsnd as cancellation
points.
* sysdeps/mips/dl-machine.h (elf_machine_rel): Remove unused "value".
Use Elf(Addr) for TLS relocation targets.
* sysdeps/unix/sysv/linux/mips/mips64/Makefile: New file.
* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h (lll_futex_wait,
lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): Cast
futexp to long for n64.
* sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h: New file.
2006-03-03 01:06:48 +00:00