From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10795 invoked by alias); 9 Dec 2004 00:52:42 -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 10612 invoked from network); 9 Dec 2004 00:52:28 -0000 Received: from unknown (HELO mail04.idc.renesas.com) (202.234.163.13) by sourceware.org with SMTP; 9 Dec 2004 00:52:28 -0000 Received: (from root@localhost) by guardian05.idc.renesas.com with id iB90qPJa029189; Thu, 9 Dec 2004 09:52:25 +0900 (JST) Received: from unknown [172.20.8.70] by guardian05.idc.renesas.com with SMTP id KAA29188 ; Thu, 9 Dec 2004 09:52:25 +0900 Received: from mrkaisv.hoku.renesas.com ([10.145.105.245]) by rnsmtp01.hoku_r.renesas.com (8.9.3/3.7W) with ESMTP id JAA02106; Thu, 9 Dec 2004 09:52:23 +0900 (JST) Received: from E5A02646 (unknown [10.145.105.81]) by mrkaisv.hoku.renesas.com (Postfix) with SMTP id 0E81B7981B7; Thu, 9 Dec 2004 09:52:23 +0900 (JST) Message-ID: <013401c4dd89$78730b40$5169910a@E5A02646> From: "Kei Sakamoto" To: "Kazuhiro Inaoka" , "Andrew Cagney" Cc: References: <41B3CCCF.20701@renesas.com> <41B3FABA.4050401@renesas.com> Subject: Re: [PATCH] Support mmap2 , *32 syscalls for m32r-linux-sim. Date: Thu, 09 Dec 2004 05:06:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-SW-Source: 2004-12/txt/msg00245.txt.bz2 Since this patch affects only m32r-sim, I believe I'm granted permission to approve it. If it's beyond my authority, please let me know. Approved and committed. Kei Sakamoto > Hi Andrew, > Hi Kei, > > Excuse me, I sent a miss patch. > Please replace with this patch. > > Please commit this patch. > > Regards, > > Kazuhiro Inaoka > > 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. > -------------------------------------------------------------------------------- > Index: syscall.h > =================================================================== > RCS file: /cvs/src/src/sim/m32r/syscall.h,v > retrieving revision 1.1 > diff -u -r1.1 syscall.h > --- syscall.h 19 Dec 2003 11:43:57 -0000 1.1 > +++ syscall.h 6 Dec 2004 06:05:03 -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: 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 > --- traps-linux.c 27 Oct 2004 17:19:02 -0000 1.2 > +++ traps-linux.c 6 Dec 2004 06:05:04 -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,33 @@ > } > break; > #endif > + case __NR_mmap2: > + { > + void *addr; > + size_t len; > + int prot, flags, fildes; > + off_t off; > + > + addr = (void *) t2h_addr(cb, &s, arg1); > + len = arg2; > + prot = arg3; > + flags = arg4; > + fildes = arg5; > + off = arg6 << 12; > + > + result = (int) mmap(addr, len, prot, flags, fildes, off); > + errcode = errno; > + if (result != -1) > + { > + char c; > + if (sim_core_read_buffer (sd, NULL, read_map, &c, result, 1) == 0) > + sim_core_attach (sd, NULL, > + 0, access_read_write_exec, 0, > + result, len, 0, NULL, NULL); > + } > + } > + break; > + > case __NR_mmap: > { > void *addr; > @@ -813,6 +846,7 @@ > errcode = errno; > break; > > + case __NR_fchown32: > case __NR_fchown: > result = fchown(arg1, arg2, arg3); > errcode = errno; > @@ -1100,11 +1134,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 +1267,7 @@ > errcode = errno; > break; > > + case __NR_getresuid32: > case __NR_getresuid: > { > uid_t ruid, euid, suid; > @@ -1261,6 +1298,7 @@ > } > break; > > + case __NR_getresgid32: > case __NR_getresgid: > { > uid_t rgid, egid, sgid; > @@ -1287,6 +1325,7 @@ > errcode = errno; > break; > > + case __NR_chown32: > case __NR_chown: > result = chown((char *) t2h_addr(cb, &s, arg1), arg2, arg3); > errcode = errno; >