Commit Graph

245 Commits

Author SHA1 Message Date
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
Ulrich Drepper
335e9a00db (elf_machine_rel_relative): Use ElfW(Rel) in argument. 2001-08-24 14:53:23 +00:00
Ulrich Drepper
85bdccdbd2 Define elf_machine_rel_relative. Minor optimizations. 2001-08-24 08:43:21 +00:00
Andreas Jaeger
3b402ca813 (MCOUNT): Don't use delay slot for jal since jal is a macro. 2001-08-13 08:42:44 +00:00
Ulrich Drepper
0b3cda64b8 Not needed anymore. 2001-07-28 05:53:57 +00:00
Ulrich Drepper
d6df8f49fd Remove non-existing files. 2001-07-28 05:53:37 +00:00
Ulrich Drepper
b04f70b77d Not needed anymore. 2001-07-16 22:30:06 +00:00
Ulrich Drepper
760ab2840b (MAP_BASE_ADDR): Removed.
(elf_machine_got_rel): Defined only if RTLD_BOOTSTRAP is not defined.
(RESOLVE_GOTSYM): Rewrite to use RESOLVE.
2001-07-16 22:26:12 +00:00
Andreas Jaeger
f01ec4673b Put under LGPL v2.1. 2001-07-07 10:13:33 +00:00