2003-02-26 Stuart Menefy <stuart.menefy@st.com>

Various fixes for SuperH [SH]:
	* mem.c(sys_old_mmap): mmap() parameters passed in registers
	* net.c(sys_pipe), syscall.c(getrval2): pipe() results returned
	in registers
	* process.c (change_syscall): Fixed register which holds system
	call number
	* util.c (arg0_offset, arg1_offset): provide definition
	* Makefile.am: Added new files in linux/sh
	* linux/sh/{syscallent,errnoent,ioctlent,signalent}.h: New files
This commit is contained in:
Roland McGrath 2003-03-31 01:03:33 +00:00
parent 5467f2681e
commit ac971c2727
3 changed files with 7 additions and 2 deletions

View File

@ -42,6 +42,8 @@ EXTRA_DIST = $(man_MANS) errnoent.sh signalent.sh syscallent.sh ioctlsort.c \
linux/s390/signalent.h linux/s390/syscallent.h \
linux/s390x/errnoent.h linux/s390x/ioctlent.h \
linux/s390x/signalent.h linux/s390x/syscallent.h \
linux/sh/syscallent.h linux/sh/errnoent.h \
linux/sh/ioctlent.h linux/sh/signalent.h \
linux/sparc/dummy2.h \
linux/sparc/errnoent.h linux/sparc/errnoent1.h \
linux/sparc/ioctlent.h linux/sparc/ioctlent1.h \

View File

@ -658,7 +658,7 @@ int new;
return -1;
return 0;
#elif defined(SH)
if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_SYSCALL), new)<0)
if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*(REG_REG0+3)), new)<0)
return -1;
return 0;
#else

5
util.c
View File

@ -1223,10 +1223,13 @@ typedef struct regs arg_setup_state;
# elif defined (X86_64)
# define arg0_offset ((long)(8*(current_personality ? RBX : RDI)))
# define arg1_offset ((long)(8*(current_personality ? RCX : RSI)))
# elif defined (SH)
# define arg0_offset (4*(REG_REG0+4))
# define arg1_offset (4*(REG_REG0+5))
# else
# define arg0_offset 0
# define arg1_offset 4
# if defined SH || defined ARM
# if defined ARM
# define restore_arg0(tcp, state, val) 0
# endif
# endif