Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 10963
b: refs/heads/master
c: b053c98
h: refs/heads/master
i:
  10961: 1a603c6
  10959: 1736b11
v: v3
  • Loading branch information
Ralf Baechle committed Oct 29, 2005
1 parent 67b9f27 commit 9c45c4f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c83cfc9c9477d0bc0e0a1ba29dfc58e0d42b2faf
refs/heads/master: b053c98fbbe9942669af2f1a351eaeae1b344d38
31 changes: 18 additions & 13 deletions trunk/arch/mips/kernel/binfmt_elfo32.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ struct elf_prpsinfo32
#define init_elf_binfmt init_elf32_binfmt

#define jiffies_to_timeval jiffies_to_compat_timeval
static __inline__ void
static inline void
jiffies_to_compat_timeval(unsigned long jiffies, struct compat_timeval *value)
{
/*
Expand All @@ -113,21 +113,26 @@ jiffies_to_compat_timeval(unsigned long jiffies, struct compat_timeval *value)
#undef ELF_CORE_COPY_REGS
#define ELF_CORE_COPY_REGS(_dest,_regs) elf32_core_copy_regs(_dest,_regs);

void elf32_core_copy_regs(elf_gregset_t _dest, struct pt_regs *_regs)
void elf32_core_copy_regs(elf_gregset_t grp, struct pt_regs *regs)
{
int i;

memset(_dest, 0, sizeof(elf_gregset_t));

/* XXXKW the 6 is from EF_REG0 in gdb/gdb/mips-linux-tdep.c, include/asm-mips/reg.h */
for (i=6; i<38; i++)
_dest[i] = (elf_greg_t) _regs->regs[i-6];
_dest[i++] = (elf_greg_t) _regs->lo;
_dest[i++] = (elf_greg_t) _regs->hi;
_dest[i++] = (elf_greg_t) _regs->cp0_epc;
_dest[i++] = (elf_greg_t) _regs->cp0_badvaddr;
_dest[i++] = (elf_greg_t) _regs->cp0_status;
_dest[i++] = (elf_greg_t) _regs->cp0_cause;
for (i = 0; i < EF_R0; i++)
grp[i] = 0;
grp[EF_R0] = 0;
for (i = 1; i <= 31; i++)
grp[EF_R0 + i] = (elf_greg_t) regs->regs[i];
grp[EF_R26] = 0;
grp[EF_R27] = 0;
grp[EF_LO] = (elf_greg_t) regs->lo;
grp[EF_HI] = (elf_greg_t) regs->hi;
grp[EF_CP0_EPC] = (elf_greg_t) regs->cp0_epc;
grp[EF_CP0_BADVADDR] = (elf_greg_t) regs->cp0_badvaddr;
grp[EF_CP0_STATUS] = (elf_greg_t) regs->cp0_status;
grp[EF_CP0_CAUSE] = (elf_greg_t) regs->cp0_cause;
#ifdef EF_UNUSED0
grp[EF_UNUSED0] = 0;
#endif
}

MODULE_DESCRIPTION("Binary format loader for compatibility with o32 Linux/MIPS binaries");
Expand Down

0 comments on commit 9c45c4f

Please sign in to comment.