2008-10-01 Mark Shinwell <shinwell@codesourcery.com>
authorDaniel Jacobowitz <dan@codesourcery.com>
Wed, 1 Oct 2008 13:28:14 +0000 (13:28 +0000)
committerDaniel Jacobowitz <dan@codesourcery.com>
Wed, 1 Oct 2008 13:28:14 +0000 (13:28 +0000)
commit63fb881a04bb46b83f95b83c3751ba9d0145e29a
treea64e87900f05f767c8045a40f291dfeff2be326f
parenta961a11ea20b9390c863fac1ea8a8b5f0c102ce1
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.
ChangeLog.mips
sysdeps/mips/bits/linkmap.h [new file with mode: 0644]
sysdeps/mips/dl-dtprocnum.h
sysdeps/mips/dl-lookup.c [new file with mode: 0644]
sysdeps/mips/dl-machine.h
sysdeps/mips/dl-trampoline.c
sysdeps/mips/do-lookup.h [new file with mode: 0644]
sysdeps/mips/tls-macros.h
sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
sysdeps/unix/sysv/linux/mips/nptl/sysdep-cancel.h