From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31954 invoked by alias); 6 Dec 2004 03:06:41 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 31899 invoked from network); 6 Dec 2004 03:06:33 -0000 Received: from unknown (HELO mail04.idc.renesas.com) (202.234.163.13) by sourceware.org with SMTP; 6 Dec 2004 03:06:33 -0000 Received: (from root@localhost) by guardian04.idc.renesas.com with id iB636UHQ019571; Mon, 6 Dec 2004 12:06:30 +0900 (JST) Received: from unknown [172.20.8.73] by guardian04.idc.renesas.com with SMTP id NAA19570 ; Mon, 6 Dec 2004 12:06:30 +0900 Received: from dnma02 (dnma02.rso.renesas.com [172.30.11.200]) by dnma01.rso.renesas.com (iPlanet Messaging Server 5.2 HotFix 1.12 (built Feb 13 2003)) with ESMTP id <0I8A0029F5YOUY@dnma01.rso.renesas.com>; Mon, 06 Dec 2004 12:06:25 +0900 (JST) Received: from renesas.com ([10.145.105.28]) by dnma02.rso.renesas.com (iPlanet Messaging Server 5.2 HotFix 1.12 (built Feb 13 2003)) with ESMTP id <0I8A009TS5YOYQ@dnma02.rso.renesas.com>; Mon, 06 Dec 2004 12:06:24 +0900 (JST) Date: Mon, 06 Dec 2004 03:19:00 -0000 From: Kazuhiro Inaoka Subject: [PATCH] Support mmap2 , *32 syscalls for m32r-linux-sim. To: Andrew Cagney , Kei Sakamoto Cc: "gdb-patches@sources.redhat.com" Message-id: <41B3CCCF.20701@renesas.com> MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_ZYrbIMWe8AMuKby6cxzqZA)" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-SW-Source: 2004-12/txt/msg00145.txt.bz2 This is a multi-part message in MIME format. --Boundary_(ID_ZYrbIMWe8AMuKby6cxzqZA) Content-type: text/plain; charset=us-ascii; format=flowed Content-transfer-encoding: 7BIT Content-length: 739 Hi Andrew, Hi Kei, Our provided glibc uses a mmap2 system call and our linux-kernel uses system calls for 32bit uids. http://www.linux-m32r.org/eng/download.html But the dummy system call routine of m32r-linux-sim have not supported that. This patch fixes these problems. Please commit it. Regards, Kazuhiro Inaoka sim/m32r/ChangeLog 2004-12-06 Kazuhiro Inaoka * traps-linux.c (m32r_trap): Added dymmy systemcall's entries of __NR_mmap2, __NR_lchown32, __NR_getuid32, __NR_getgid32, __NR_geteuid32, __NR_getegid32, __NR_getgroups32, __NR_fchown32, __NR_setfsuid32, __NR_setfsgid32, __NR_getresuid32, __NR_getresgid32 and __NR_chown32. * syscall.h: Added new definitions of system call number. --Boundary_(ID_ZYrbIMWe8AMuKby6cxzqZA) Content-type: text/plain; name=new_syscall.patch Content-transfer-encoding: 7BIT Content-disposition: inline; filename=new_syscall.patch Content-length: 5826 Index: m32r/syscall.h =================================================================== RCS file: /cvs/src/src/sim/m32r/syscall.h,v retrieving revision 1.1 diff -u -r1.1 syscall.h --- m32r/syscall.h 19 Dec 2003 11:43:57 -0000 1.1 +++ m32r/syscall.h 6 Dec 2004 02:17:45 -0000 @@ -193,3 +193,89 @@ #define __NR_putpmsg 189 /* some people actually want streams */ #define __NR_vfork 190 +#define __NR_pread64 180 +#define __NR_pwrite64 181 + +#define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_lchown32 198 +#define __NR_getuid32 199 +#define __NR_getgid32 200 +#define __NR_geteuid32 201 +#define __NR_getegid32 202 +#define __NR_setreuid32 203 +#define __NR_setregid32 204 +#define __NR_getgroups32 205 +#define __NR_setgroups32 206 +#define __NR_fchown32 207 +#define __NR_setresuid32 208 +#define __NR_getresuid32 209 +#define __NR_setresgid32 210 +#define __NR_getresgid32 211 +#define __NR_chown32 212 +#define __NR_setuid32 213 +#define __NR_setgid32 214 +#define __NR_setfsuid32 215 +#define __NR_setfsgid32 216 +#define __NR_pivot_root 217 +#define __NR_mincore 218 +#define __NR_madvise 219 +#define __NR_madvise1 219 /* delete when C lib stub is removed */ +#define __NR_getdents64 220 +#define __NR_fcntl64 221 +/* 223 is unused */ +#define __NR_gettid 224 +#define __NR_readahead 225 +#define __NR_setxattr 226 +#define __NR_lsetxattr 227 +#define __NR_fsetxattr 228 +#define __NR_getxattr 229 +#define __NR_lgetxattr 230 +#define __NR_fgetxattr 231 +#define __NR_listxattr 232 +#define __NR_llistxattr 233 +#define __NR_flistxattr 234 +#define __NR_removexattr 235 +#define __NR_lremovexattr 236 +#define __NR_fremovexattr 237 +#define __NR_tkill 238 +#define __NR_sendfile64 239 +#define __NR_futex 240 +#define __NR_sched_setaffinity 241 +#define __NR_sched_getaffinity 242 +#define __NR_set_thread_area 243 +#define __NR_get_thread_area 244 +#define __NR_io_setup 245 +#define __NR_io_destroy 246 +#define __NR_io_getevents 247 +#define __NR_io_submit 248 +#define __NR_io_cancel 249 +#define __NR_fadvise64 250 + +#define __NR_exit_group 252 +#define __NR_lookup_dcookie 253 +#define __NR_epoll_create 254 +#define __NR_epoll_ctl 255 +#define __NR_epoll_wait 256 +#define __NR_remap_file_pages 257 +#define __NR_set_tid_address 258 +#define __NR_timer_create 259 +#define __NR_timer_settime (__NR_timer_create+1) +#define __NR_timer_gettime (__NR_timer_create+2) +#define __NR_timer_getoverrun (__NR_timer_create+3) +#define __NR_timer_delete (__NR_timer_create+4) +#define __NR_clock_settime (__NR_timer_create+5) +#define __NR_clock_gettime (__NR_timer_create+6) +#define __NR_clock_getres (__NR_timer_create+7) +#define __NR_clock_nanosleep (__NR_timer_create+8) +#define __NR_statfs64 268 +#define __NR_fstatfs64 269 +#define __NR_tgkill 270 +#define __NR_utimes 271 +#define __NR_fadvise64_64 272 +#define __NR_vserver 273 Index: m32r/traps-linux.c =================================================================== RCS file: /cvs/src/src/sim/m32r/traps-linux.c,v retrieving revision 1.2 diff -u -r1.2 traps-linux.c --- m32r/traps-linux.c 27 Oct 2004 17:19:02 -0000 1.2 +++ m32r/traps-linux.c 6 Dec 2004 02:17:45 -0000 @@ -384,6 +384,7 @@ errcode = errno; break; + case __NR_lchown32: case __NR_lchown: result = lchown((char *) t2h_addr(cb, &s, arg1), (uid_t) arg2, (gid_t) arg3); @@ -400,6 +401,7 @@ errcode = errno; break; + case __NR_getuid32: case __NR_getuid: result = getuid(); errcode = errno; @@ -483,16 +485,19 @@ //result = arg1; break; + case __NR_getgid32: case __NR_getgid: result = getgid(); errcode = errno; break; + case __NR_geteuid32: case __NR_geteuid: result = geteuid(); errcode = errno; break; + case __NR_getegid32: case __NR_getegid: result = getegid(); errcode = errno; @@ -592,6 +597,7 @@ } break; + case __NR_getgroups32: case __NR_getgroups: { gid_t *list; @@ -750,6 +756,7 @@ } break; #endif + case __NR_mmap2: case __NR_mmap: { void *addr; @@ -813,6 +820,7 @@ errcode = errno; break; + case __NR_fchown32: case __NR_fchown: result = fchown(arg1, arg2, arg3); errcode = errno; @@ -1100,11 +1108,13 @@ errcode = errno; break; + case __NR_setfsuid32: case __NR_setfsuid: result = setfsuid(arg1); errcode = errno; break; + case __NR_setfsgid32: case __NR_setfsgid: result = setfsgid(arg1); errcode = errno; @@ -1231,6 +1241,7 @@ errcode = errno; break; + case __NR_getresuid32: case __NR_getresuid: { uid_t ruid, euid, suid; @@ -1261,6 +1272,7 @@ } break; + case __NR_getresgid32: case __NR_getresgid: { uid_t rgid, egid, sgid; @@ -1287,6 +1299,7 @@ errcode = errno; break; + case __NR_chown32: case __NR_chown: result = chown((char *) t2h_addr(cb, &s, arg1), arg2, arg3); errcode = errno; --Boundary_(ID_ZYrbIMWe8AMuKby6cxzqZA)--