Alexandre Oliva
19ca28fb3f
* sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers,
...
including pc, gp, sp and fp, as long long.
* sysdeps/mips/mips64/setjmp.S: Pass gp to __sigsetjmp_aux.
* sysdeps/mips/mips64/setjmp_aux.c: Adjust type of arguments.
Add gp argument, and set gp in the jmpbuf to it.
* sysdeps/mips/setjmp_aux.c: Revert to o32-only.
2003-03-20 10:27:55 +00:00
Alexandre Oliva
3d06657c53
* sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Define
...
properly for n64.
(elf_machine_runtime_setup): Cast link_map pointer to Elf Addr
type.
(elf_machine_rel, elf_machine_rel_relative): Cast symidx to Elf
Word before comparing with gotsym. Take reloc_addr argument as
void*. Remove the code added for the compiler to drop any
alignment assumptions.
2003-03-20 07:54:21 +00:00
Alexandre Oliva
79bd056457
* sysdeps/mips/ieee754.h: New file, suitable to replace both
...
../ieee754/ieee754.h and ../ieee754/ldbl-128/ieee754.h, kept
mips-specific for now.
2003-03-20 00:39:32 +00:00
Alexandre Oliva
be1222911f
* sysdeps/mips/mips64/Implies: Move wordsize-64 to...
...
* sysdeps/mips/mips64/n64/Implies: New file.
* sysdeps/mips/mips64/n64/Makefile: New file.
* sysdeps/mips/mips64/n64/el/bits/endian.h: New file.
* sysdeps/mips/mips64/n32/Implies: New file.
* sysdeps/mips/mips64/n32/Makefile: New file.
* sysdeps/mips/mips64/n32/el/bits/endian.h: New file.
* sysdeps/unix/mips/mips64/n32/sysdep.h: New file.
* sysdeps/unix/mips/mips64/n64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/llseek.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/recv.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/send.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/syscall.S: New file.
* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/mips/mips64/umount.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: New file.
2003-03-17 16:20:44 +00:00
Alexandre Oliva
7b44519fbc
* sysdeps/mips/machine-gmon.h (MCOUNT): Define for N32 and N64 as
...
well.
2003-03-17 15:53:37 +00:00
Alexandre Oliva
ca2b264c24
* sysdeps/mips/bits/wordsize.h: New file, appropriate for all
...
3 ABIs.
* sysdeps/mips/mips64/gmp-mparam.h: New file. Define
BITS_PER_LONGINT to __WORDSIZE, to match all 3 ABIs.
* sysdeps/mips/setjmp_aux.c (STRINGXP, REGS, PTRS): New macros.
(__sigsetjmp_aux): Use them. Adjust for all 3 ABIs.
* sysdeps/mips/elf/start.S: Adjust for all 3 ABIs.
* sysdeps/unix/mips/brk.S: Likewise.
* sysdeps/unix/mips/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/mips/clone.S: Likewise.
* sysdeps/mips/bits/setjmp.h (__jmp_buf): Likewise.
* sysdeps/mips/sys/ucontext.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/profcs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
* sysdeps/mips/mips64/bsd-setjmp.S: Likewise.
* sysdeps/mips/mips64/setjmp.S: Likewise.
* sysdeps/mips/mips64/bits/setjmp.h: Deleted, obsolete.
* sysdeps/mips/mips64/soft-fp/sfp-machine.h: Use long long for
64-bit types.
2003-03-17 15:47:13 +00:00
Alexandre Oliva
e6631ae1ac
* sysdeps/mips/fpu/bits/mathdef.h: New.
...
(__NO_LONG_DOUBLE_MATH): Define for o32.
2003-03-14 15:30:43 +00:00
Alexandre Oliva
b1a0b02eb4
* sysdeps/mips/sys/asm.h: Formatting changes.
...
(PTR, PTRSIZE, PTRLOG): Adjust for all 3 ABIs.
(CPADD): Define for all of them.
(SETUP_GP, SETUP_GPX, SETUP_GPX_L, SAVE_GP, SETUP_GP64,
SETUP_GPX64, SETUP_GPX64_L, RESTORE_GP64, USE_ALT_CP,
NARGSAVE): Define per ABI spec.
(END): Don't redefine.
(LONG_SLL, LONG_SLLV, LONG_SRL, LONG_SRLV, LONG_SRA,
LONG_SRAV): Remove duplicate definitions.
(PTR_ADD, PTR_ADDI, PTR_ADDU, PTR_ADDIU, PTR_SUB, PTR_SUBI,
PTR_SUBU, PTR_SUBIU, PTR_L, PTR_S, PTR_SLL, PTR_SLLV, PTR_SRL,
PTR_SRLV, PTR_SRA, PTR_SRAV, PTR_SCALESHIFT): Define for n32.
(PTR_LA): Define for all 3 ABIs.
2003-03-14 11:06:32 +00:00
Alexandre Oliva
0d5b725772
* sysdeps/mips/dl-machine.h: Include sys/asm.h.
...
(elf_machine_matches_host): Prevent linking of o32 and n32
together.
(elf_machine_dynamic): Document assumption on $gp.
(STRINGXP, STRINGXV, STRINGV_): New macros.
(elf_machine_load_address): Use them to stringize PTR_LA and
PTR_SUBU.
(ELF_DL_FRAME_SIZE, ELF_DL_SAVE_ARG_REGS,
ELF_DL_RESTORE_ARG_REGS, IFABIO32): New macros used in...
(_dl_runtime_resolve): Adjust it for all 3 ABIs.
(__dl_runtime_resolve): Cast the symtab initializer to the
right type.
(RTLD_START): Use it. Adjust it for all 3 ABIs.
(elf_machine_rel): Mark as always_inline in RTLD_BOOTSTRAP.
Handle 64-bit R_MIPS_REL composite relocation and accept
R_MIPS_64 relocations to shift addend size to 64 bits.
Document assumption regarding local GOT entries. Document
backward-compatibility departing from the ABI behavior in
applying relocations that reference section symbols, no longer
used. Support relocations to mis-aligned offsets.
* sysdeps/mips/mips64/dl-machine.h: Deleted, obsolete.
2003-03-14 08:43:13 +00:00
Alexandre Oliva
2b2c3a2a04
* sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis.
...
* sysdeps/mips/memset.S: Likewise.
* sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11
depending on the ABI.
2003-03-14 05:31:28 +00:00
Alexandre Oliva
04a8368845
* sysdeps/mips/atomicity.h (exchange_and_add, atomic_add):
...
Don't .set mips2 on new abi.
(compare_and_swap): Likewise. Support 64-bit longs on n64.
2003-03-14 05:30:31 +00:00
Roland McGrath
3e9a97580a
2003-03-13 Alexandre Oliva <aoliva@redhat.com>
...
* sysdeps/mips/add_n.S: Use L macro for local labels.
* sysdeps/mips/addmul_1.S: Likewise.
* sysdeps/mips/lshift.S: Likewise.
* sysdeps/mips/memcpy.S: Likewise.
* sysdeps/mips/memset.S: Likewise.
* sysdeps/mips/mul_1.S: Likewise.
* sysdeps/mips/rshift.S: Likewise.
* sysdeps/mips/sub_n.S: Likewise.
* sysdeps/mips/submul_1.S: Likewise.
* sysdeps/mips/mips64/add_n.S: Likewise.
* sysdeps/mips/mips64/addmul_1.S: Likewise.
* sysdeps/mips/mips64/lshift.S: Likewise.
* sysdeps/mips/mips64/mul_1.S: Likewise.
* sysdeps/mips/mips64/rshift.S: Likewise.
* sysdeps/mips/mips64/sub_n.S: Likewise.
* sysdeps/mips/mips64/submul_1.S: Likewise.
* sysdeps/unix/mips/sysdep.h: Define L() according to ABI
conventions. Define END as in sys/asm.h.
* sysdeps/unix/mips/sysdep.S: Likewise.
* sysdeps/unix/mips/wait.S: Likewise.
* sysdeps/unix/sysv/linux/mips/clone.S: Likewise.
2003-03-14 03:59:37 +00:00
Ulrich Drepper
c157224cb8
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Fix masking of version index.
2003-02-12 09:42:48 +00:00
Ulrich Drepper
db16023193
Use libc_hidden_def(name) instead of strong_alias (name, __GI_name).
2002-12-31 20:37:32 +00:00
Ulrich Drepper
044758323b
Add __GI__setjmp alias.
2002-12-31 09:35:36 +00:00
Roland McGrath
f8a26bed6f
2002-12-08 Roland McGrath <roland@redhat.com>
...
* elf/Makefile (tests): Uncomment tst-array[123].
* Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1.
* csu/elf-init.c: New file.
* csu/Makefile (routines, static-only-routines): Add elf-init.
* sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init
and __libc_csu_fini in place of _fini.
* sysdeps/arm/elf/start.S: Likewise.
* sysdeps/cris/elf/start.S: Likewise.
* sysdeps/hppa/elf/start.S: Likewise.
* sysdeps/i386/elf/start.S: Likewise.
* sysdeps/ia64/elf/start.S: Likewise.
* sysdeps/m68k/elf/start.S: Likewise.
* sysdeps/mach/hurd/powerpc/static-start.S: Likewise.
* sysdeps/mips/elf/start.S: Likewise.
* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
* sysdeps/s390/s390-32/elf/start.S: Likewise.
* sysdeps/s390/s390-64/elf/start.S: Likewise.
* sysdeps/sh/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/elf/start.S: Likewise.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
* sysdeps/x86_64/elf/start.S: Likewise.
2002-12-09 20:37:24 +00:00
Roland McGrath
c71e9ba7e7
2002-10-23 Roland McGrath <roland@redhat.com>
...
* sysvipc/Makefile (headers): Add bits/ipctypes.h here.
* sysdeps/generic/bits/ipctypes.h: New file.
* sysdeps/mips/bits/ipctypes.h: New file.
* sysdeps/gnu/bits/shm.h: Include <bits/ipctypes.h>.
* sysdeps/gnu/bits/msq.h: Likewise.
* sysvipc/sys/ipc.h: Likewise.
2002-10-23 23:49:01 +00:00
Andreas Jaeger
f51d253191
Regenerated.
2002-10-14 08:59:01 +00:00
Andreas Jaeger
5e2fa76de2
* sysdeps/mips/fpu/fraiseexcpt.c: Add internal definition.
...
* sysdeps/mips/fpu/fesetenv.c: Likewise.
2002-10-02 11:01:06 +00:00
Roland McGrath
a30e09230b
2002-09-28 Roland McGrath <roland@redhat.com>
...
* sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps): Use INTUSE for
_dl_signal_error.
* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.c
(_dl_reloc_overflow): Likewise.
* sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise.
(elf_machine_rela): Likewise.
2002-09-28 19:45:29 +00:00
Roland McGrath
93697b95eb
2002-09-20 Roland McGrath <roland@redhat.com>
...
* sysdeps/generic/gmp-mparam.h: Include <bits/wordsize.h>.
(BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB, BITS_PER_LONGINT): Define in
terms of __WORDSIZE.
* sysdeps/x86_64/gmp-mparam.h: File removed.
* sysdeps/sparc/gmp-mparam.h: File removed.
* sysdeps/mips/mips64/gmp-mparam.h: File removed.
* sysdeps/ia64/gmp-mparam.h: File removed.
* sysdeps/alpha/gmp-mparam.h: File removed.
2002-09-20 21:49:06 +00:00
Roland McGrath
ce8a8f74e4
2002-09-18 Roland McGrath <roland@redhat.com>
...
* elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag)
from the value taken from the DT_VERSYM table.
* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise.
(RESOLVE_GOTSYM): Likewise.
2002-09-18 18:28:43 +00:00
Andreas Jaeger
0752643673
Cleaned up the FPU exception stuff - was
...
not functional before. Also removed all SHLIB_COMPAT stuff.
2002-09-10 11:24:50 +00:00
Andreas Jaeger
af43a56542
MIPS specific optimizations.
2002-09-10 11:23:00 +00:00
Ulrich Drepper
280ad607c7
Add libm_hidden_ver.
2002-09-10 01:26:37 +00:00
Ulrich Drepper
176b5726d7
Don't include <sgidefs.h>. Always use ll/sc.
2002-07-16 00:58:07 +00:00
Ulrich Drepper
404d6b4b46
Adjust all callers of _dl_lookup_symbol and _dl_lookup_versioned_symbol.
2002-04-13 07:53:04 +00:00
Andreas Jaeger
9db53b0f7f
Remove files since arch is not supported anymore.
2002-04-04 08:57:22 +00:00
Andreas Jaeger
a4007d1f0a
Remove, the archs are not supported anymore.
2002-04-04 08:53:30 +00:00
Andreas Jaeger
5a484daec0
Copy from generic file with changes for NaNs on MIPS.
2002-03-22 10:10:19 +00:00
Andreas Jaeger
f1cdba97f5
* sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits.
...
* sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment.
* sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause
bits.
* sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New.
(CAUSE_SHIFT): New.
2002-03-17 12:07:44 +00:00
Andreas Jaeger
b5f72d715e
Added initialization of GP (to _gp) if compiled non-PIC.
2002-03-02 13:14:40 +00:00
Ulrich Drepper
dca9c7304b
Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
2002-02-28 22:36:33 +00:00
Andreas Jaeger
c8523a3c74
Update MCOUNT for current GCC behavior.
2002-02-11 10:23:36 +00:00
Andreas Jaeger
4bf39226fa
* sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use
...
__attribute_used__.
(__dl_runtime_resolve): Likewise.
* sysdeps/mips/machine-gmon.h (_MCOUNT_DECL): Make it a real
declaration.
2002-02-08 18:56:57 +00:00
Andreas Jaeger
c149ac8f45
* sysdeps/mips/atomicity.h (compare_and_swap): Remove
...
".set noreorder".
* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set):
Likewise.
2002-02-08 16:15:32 +00:00
Andreas Jaeger
6d1e7ba623
Do not use branch likely.
2002-02-07 10:39:06 +00:00
Andreas Jaeger
9ff2687616
Make sure the right <ldsodefs.h> is included.
2002-02-06 22:48:35 +00:00
Ulrich Drepper
f295ff3212
(exchange_and_add): Use branch likely.
...
(atomic_add): Likewise.
(compare_and_swap): Return 0 only when failed to compare. Use branch likely.
2002-02-03 02:24:53 +00:00
Ulrich Drepper
c577723005
(RTLD_START): Call _dl_init_internal instead of _dl_init.
2002-02-03 00:29:15 +00:00
Ulrich Drepper
f71d7f5726
Move global variables for SHARED code in struct _rtld_global. Export
...
this struct, remove all exports for the signal variables.
2002-02-01 01:32:06 +00:00
Ulrich Drepper
872cf89f66
(ELF_MACHINE_BEFORE_RTLD_RELOC): Don't use label at end of compound statement.
2002-01-29 02:58:00 +00:00
Ulrich Drepper
046f02be6f
(__dl_runtime_resolve): Remove const' from
got'.
2002-01-17 23:21:33 +00:00
Ulrich Drepper
532e4e4b65
GCC frame description for MIPS.
2001-11-16 01:12:04 +00:00
Ulrich Drepper
80ad17cac2
(DL_CALL_FCT): Cast to void *.
...
Use __BEGIN_DECLS/__END_DECLS around prototypes.
2001-10-27 00:03:32 +00:00
Ulrich Drepper
fe166e9e57
Updated.
2001-09-15 03:01:21 +00:00
Ulrich Drepper
09d4f65308
Fix usage of new _dl_signal_error() format.
2001-09-08 17:16:44 +00:00
Ulrich Drepper
560c476139
(__dl_runtime_resolve): Pass ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to
...
_dl_lookup_versioned_symbol () and _dl_lookup_symbol ().
2001-08-29 18:48:49 +00:00
Ulrich Drepper
5c6029e5c0
(elf_machine_lookup_noplt_p, elf_machine_lookup_noexec_p): Remove.
...
(elf_machine_type_class): Define.
2001-08-26 22:26:38 +00:00
Ulrich Drepper
4b5c9edf2e
(elf_machine_rel_relative): New function.
2001-08-24 14:57:45 +00:00