2004-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>

Committed by Kei Sakamoto.
        * traps-linux.c (m32r_trap): Add entries of the following dummy system
        calls: __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: Add new definitions of system call number.
This commit is contained in:
Kazuhiro Inaoka 2004-12-09 00:47:45 +00:00
parent 1626ace5e4
commit 19e64aa99d
3 changed files with 135 additions and 0 deletions

View file

@ -1,3 +1,13 @@
2004-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
Committed by Kei Sakamoto.
* traps-linux.c (m32r_trap): Add entries of the following dummy system
calls: __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: Add new definitions of system call number.
2004-12-08 Hans-Peter Nilsson <hp@axis.com>
* configure: Regenerate for ../common/aclocal.m4 update.

View file

@ -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

View file

@ -384,6 +384,7 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
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 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
errcode = errno;
break;
case __NR_getuid32:
case __NR_getuid:
result = getuid();
errcode = errno;
@ -483,16 +485,19 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
//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 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
}
break;
case __NR_getgroups32:
case __NR_getgroups:
{
gid_t *list;
@ -750,6 +756,33 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
}
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 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
errcode = errno;
break;
case __NR_fchown32:
case __NR_fchown:
result = fchown(arg1, arg2, arg3);
errcode = errno;
@ -1100,11 +1134,13 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
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 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
errcode = errno;
break;
case __NR_getresuid32:
case __NR_getresuid:
{
uid_t ruid, euid, suid;
@ -1261,6 +1298,7 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
}
break;
case __NR_getresgid32:
case __NR_getresgid:
{
uid_t rgid, egid, sgid;
@ -1287,6 +1325,7 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
errcode = errno;
break;
case __NR_chown32:
case __NR_chown:
result = chown((char *) t2h_addr(cb, &s, arg1), arg2, arg3);
errcode = errno;