1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>
	[BZ #783]
	* elf/tst-auditmod1.c: Add MIPS support.
	* sysdeps/generic/ldsodefs.h (La_mips_32_regs): New.
	(La_mips_32_retval): New.
	(La_mips_64_regs): New.
	(La_mips_64_retval): New.
	(struct audit_ifaces): Add MIPS entries.
	* sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
	(elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE,
	ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS,
	ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c.
	(RTLD_START): Align the stack before calling _dl_init_internal.
	Use .ent for _dl_start_user.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define.
	(elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel)
	(elf_machine_runtime_setup): Use "auto inline".
	(elf_machine_rela, elf_machine_rela_relative): Provide empty versions.
	(elf_machine_got_rel): Likewise.  Use RESOLVE_MAP.
	* sysdeps/mips/dl-trampoline.c: New file.
	* sysdeps/mips/bits/link.h: New file.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(internal_syscall5): Use register operands instead of non-lvalue
	memory operands.
	(internal_syscall6): Likewise.
	(internal_syscall7): Likewise.
2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>

	[BZ #783]
	* elf/tst-auditmod1.c: Add MIPS support.
	* sysdeps/generic/ldsodefs.h (La_mips_32_regs): New.
	(La_mips_32_retval): New.
	(La_mips_64_regs): New.
	(La_mips_64_retval): New.
	(struct audit_ifaces): Add MIPS entries.
	* sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE.
	(elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE,
	ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS,
	ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c.
	(RTLD_START): Align the stack before calling _dl_init_internal.
	Use .ent for _dl_start_user.
	(ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define.
	(elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel)
	(elf_machine_runtime_setup): Use "auto inline".
	(elf_machine_rela, elf_machine_rela_relative): Provide empty versions.
	(elf_machine_got_rel): Likewise.  Use RESOLVE_MAP.
	* sysdeps/mips/dl-trampoline.c: New file.
	* sysdeps/mips/bits/link.h: New file.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(internal_syscall5): Use register operands instead of non-lvalue
	memory operands.
	(internal_syscall6): Likewise.
	(internal_syscall7): Likewise.
This commit is contained in:
Andreas Jaeger
2005-03-28 07:49:19 +00:00
parent 12403b3205
commit abc85e9fea
7 changed files with 534 additions and 279 deletions

View File

@ -194,16 +194,15 @@
register long __a3 asm("$7") = (long) arg4; \
__asm__ volatile ( \
".set\tnoreorder\n\t" \
"lw\t$2, %6\n\t" \
"subu\t$29, 32\n\t" \
"sw\t$2, 16($29)\n\t" \
"sw\t%6, 16($29)\n\t" \
"li\t$2, %5\t\t\t# " #name "\n\t" \
"syscall\n\t" \
"addiu\t$29, 32\n\t" \
".set\treorder" \
: "=r" (__v0), "+r" (__a3) \
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
"m" ((long)arg5) \
"r" ((long)arg5) \
: __SYSCALL_CLOBBERS); \
err = __a3; \
_sys_result = __v0; \
@ -223,18 +222,16 @@
register long __a3 asm("$7") = (long) arg4; \
__asm__ volatile ( \
".set\tnoreorder\n\t" \
"lw\t$2, %6\n\t" \
"lw\t$8, %7\n\t" \
"subu\t$29, 32\n\t" \
"sw\t$2, 16($29)\n\t" \
"sw\t$8, 20($29)\n\t" \
"sw\t%6, 16($29)\n\t" \
"sw\t%7, 20($29)\n\t" \
"li\t$2, %5\t\t\t# " #name "\n\t" \
"syscall\n\t" \
"addiu\t$29, 32\n\t" \
".set\treorder" \
: "=r" (__v0), "+r" (__a3) \
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
"m" ((long)arg5), "m" ((long)arg6) \
"r" ((long)arg5), "r" ((long)arg6) \
: __SYSCALL_CLOBBERS); \
err = __a3; \
_sys_result = __v0; \
@ -254,20 +251,17 @@
register long __a3 asm("$7") = (long) arg4; \
__asm__ volatile ( \
".set\tnoreorder\n\t" \
"lw\t$2, %6\n\t" \
"lw\t$8, %7\n\t" \
"lw\t$9, %8\n\t" \
"subu\t$29, 32\n\t" \
"sw\t$2, 16($29)\n\t" \
"sw\t$8, 20($29)\n\t" \
"sw\t$9, 24($29)\n\t" \
"sw\t%6, 16($29)\n\t" \
"sw\t%7, 20($29)\n\t" \
"sw\t%8, 24($29)\n\t" \
"li\t$2, %5\t\t\t# " #name "\n\t" \
"syscall\n\t" \
"addiu\t$29, 32\n\t" \
".set\treorder" \
: "=r" (__v0), "+r" (__a3) \
: "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
"m" ((long)arg5), "m" ((long)arg6), "m" ((long)arg7) \
"r" ((long)arg5), "r" ((long)arg6), "r" ((long)arg7) \
: __SYSCALL_CLOBBERS); \
err = __a3; \
_sys_result = __v0; \