diff --git a/0025-add-syscall-numbers-from-2.6.39.2.patch b/0025-add-syscall-numbers-from-2.6.39.2.patch new file mode 100644 index 00000000..9b0e5ea7 --- /dev/null +++ b/0025-add-syscall-numbers-from-2.6.39.2.patch @@ -0,0 +1,383 @@ +Removed s390x pieces. + +commit d979e8eb544da31df78bc76358a73f0d1c823c17 +Author: Peter Maydell +Date: Mon Jun 27 17:44:51 2011 +0100 + + linux-user: Add syscall numbers from kernel 2.6.39.2 + + Add syscall numbers for new syscall numbers; this brings us + into line with Linux 2.6.39.2. + + Signed-off-by: Peter Maydell + Signed-off-by: Riku Voipio + +diff --git a/linux-user/alpha/syscall_nr.h b/linux-user/alpha/syscall_nr.h +index e3127df..f6284db 100644 +--- a/linux-user/alpha/syscall_nr.h ++++ b/linux-user/alpha/syscall_nr.h +@@ -411,4 +411,25 @@ + #define TARGET_NR_signalfd 476 + #define TARGET_NR_timerfd 477 + #define TARGET_NR_eventfd 478 +- ++#define TARGET_NR_recvmmsg 479 ++#define TARGET_NR_fallocate 480 ++#define TARGET_NR_timerfd_create 481 ++#define TARGET_NR_timerfd_settime 482 ++#define TARGET_NR_timerfd_gettime 483 ++#define TARGET_NR_signalfd4 484 ++#define TARGET_NR_eventfd2 485 ++#define TARGET_NR_epoll_create1 486 ++#define TARGET_NR_dup3 487 ++#define TARGET_NR_pipe2 488 ++#define TARGET_NR_inotify_init1 489 ++#define TARGET_NR_preadv 490 ++#define TARGET_NR_pwritev 491 ++#define TARGET_NR_rt_tgsigqueueinfo 492 ++#define TARGET_NR_perf_event_open 493 ++#define TARGET_NR_fanotify_init 494 ++#define TARGET_NR_fanotify_mark 495 ++#define TARGET_NR_prlimit64 496 ++#define TARGET_NR_name_to_handle_at 497 ++#define TARGET_NR_open_by_handle_at 498 ++#define TARGET_NR_clock_adjtime 499 ++#define TARGET_NR_syncfs 500 +diff --git a/linux-user/arm/syscall_nr.h b/linux-user/arm/syscall_nr.h +index 79a216a..7f05879 100644 +--- a/linux-user/arm/syscall_nr.h ++++ b/linux-user/arm/syscall_nr.h +@@ -365,3 +365,16 @@ + #define TARGET_NR_dup3 (358) + #define TARGET_NR_pipe2 (359) + #define TARGET_NR_inotify_init1 (360) ++#define TARGET_NR_preadv (361) ++#define TARGET_NR_pwritev (362) ++#define TARGET_NR_rt_tgsigqueueinfo (363) ++#define TARGET_NR_perf_event_open (364) ++#define TARGET_NR_recvmmsg (365) ++#define TARGET_NR_accept4 (366) ++#define TARGET_NR_fanotify_init (367) ++#define TARGET_NR_fanotify_mark (368) ++#define TARGET_NR_prlimit64 (369) ++#define TARGET_NR_name_to_handle_at (370) ++#define TARGET_NR_open_by_handle_at (371) ++#define TARGET_NR_clock_adjtime (372) ++#define TARGET_NR_syncfs (373) +diff --git a/linux-user/cris/syscall_nr.h b/linux-user/cris/syscall_nr.h +index 6132817..98f1a0b 100644 +--- a/linux-user/cris/syscall_nr.h ++++ b/linux-user/cris/syscall_nr.h +@@ -333,3 +333,5 @@ + #define TARGET_NR_dup3 330 + #define TARGET_NR_pipe2 331 + #define TARGET_NR_inotify_init1 332 ++#define TARGET_NR_preadv 333 ++#define TARGET_NR_pwritev 334 +diff --git a/linux-user/i386/syscall_nr.h b/linux-user/i386/syscall_nr.h +index 3ef71ce..74abfca 100644 +--- a/linux-user/i386/syscall_nr.h ++++ b/linux-user/i386/syscall_nr.h +@@ -335,3 +335,15 @@ + #define TARGET_NR_dup3 330 + #define TARGET_NR_pipe2 331 + #define TARGET_NR_inotify_init1 332 ++#define TARGET_NR_preadv 333 ++#define TARGET_NR_pwritev 334 ++#define TARGET_NR_rt_tgsigqueueinfo 335 ++#define TARGET_NR_perf_event_open 336 ++#define TARGET_NR_recvmmsg 337 ++#define TARGET_NR_fanotify_init 338 ++#define TARGET_NR_fanotify_mark 339 ++#define TARGET_NR_prlimit64 340 ++#define TARGET_NR_name_to_handle_at 341 ++#define TARGET_NR_open_by_handle_at 342 ++#define TARGET_NR_clock_adjtime 343 ++#define TARGET_NR_syncfs 344 +diff --git a/linux-user/m68k/syscall_nr.h b/linux-user/m68k/syscall_nr.h +index 1c0ba07..4d0937e 100644 +--- a/linux-user/m68k/syscall_nr.h ++++ b/linux-user/m68k/syscall_nr.h +@@ -328,3 +328,19 @@ + #define TARGET_NR_dup3 326 + #define TARGET_NR_pipe2 327 + #define TARGET_NR_inotify_init1 328 ++#define TARGET_NR_inotify_init1 328 ++#define TARGET_NR_preadv 329 ++#define TARGET_NR_pwritev 330 ++#define TARGET_NR_rt_tgsigqueueinfo 331 ++#define TARGET_NR_perf_event_open 332 ++#define TARGET_NR_get_thread_area 333 ++#define TARGET_NR_set_thread_area 334 ++#define TARGET_NR_atomic_cmpxchg_32 335 ++#define TARGET_NR_atomic_barrier 336 ++#define TARGET_NR_fanotify_init 337 ++#define TARGET_NR_fanotify_mark 338 ++#define TARGET_NR_prlimit64 339 ++#define TARGET_NR_name_to_handle_at 340 ++#define TARGET_NR_open_by_handle_at 341 ++#define TARGET_NR_clock_adjtime 342 ++#define TARGET_NR_syncfs 343 +diff --git a/linux-user/main.c b/linux-user/main.c +index 289054b..48f0443 100644 +--- a/linux-user/main.c ++++ b/linux-user/main.c +@@ -1985,6 +1985,33 @@ static const uint8_t mips_syscall_args[] = { + MIPS_SYS(sys_epoll_pwait, 6) + MIPS_SYS(sys_ioprio_set, 3) + MIPS_SYS(sys_ioprio_get, 2) ++ MIPS_SYS(sys_utimensat, 4) ++ MIPS_SYS(sys_signalfd, 3) ++ MIPS_SYS(sys_ni_syscall, 0) /* was timerfd */ ++ MIPS_SYS(sys_eventfd, 1) ++ MIPS_SYS(sys_fallocate, 6) /* 4320 */ ++ MIPS_SYS(sys_timerfd_create, 2) ++ MIPS_SYS(sys_timerfd_gettime, 2) ++ MIPS_SYS(sys_timerfd_settime, 4) ++ MIPS_SYS(sys_signalfd4, 4) ++ MIPS_SYS(sys_eventfd2, 2) /* 4325 */ ++ MIPS_SYS(sys_epoll_create1, 1) ++ MIPS_SYS(sys_dup3, 3) ++ MIPS_SYS(sys_pipe2, 2) ++ MIPS_SYS(sys_inotify_init1, 1) ++ MIPS_SYS(sys_preadv, 6) /* 4330 */ ++ MIPS_SYS(sys_pwritev, 6) ++ MIPS_SYS(sys_rt_tgsigqueueinfo, 4) ++ MIPS_SYS(sys_perf_event_open, 5) ++ MIPS_SYS(sys_accept4, 4) ++ MIPS_SYS(sys_recvmmsg, 5) /* 4335 */ ++ MIPS_SYS(sys_fanotify_init, 2) ++ MIPS_SYS(sys_fanotify_mark, 6) ++ MIPS_SYS(sys_prlimit64, 4) ++ MIPS_SYS(sys_name_to_handle_at, 5) ++ MIPS_SYS(sys_open_by_handle_at, 3) /* 4340 */ ++ MIPS_SYS(sys_clock_adjtime, 2) ++ MIPS_SYS(sys_syncfs, 1) + }; + + #undef MIPS_SYS +diff --git a/linux-user/microblaze/syscall_nr.h b/linux-user/microblaze/syscall_nr.h +index 3e641cd..f1fe0e7 100644 +--- a/linux-user/microblaze/syscall_nr.h ++++ b/linux-user/microblaze/syscall_nr.h +@@ -364,6 +364,16 @@ + #define TARGET_NR_sendmsg 360 /* new */ + #define TARGET_NR_recvmsg 361 /* new */ + #define TARGET_NR_accept04 362 /* new */ +- +-#define TARGET_NR_syscalls 363 ++#define TARGET_NR_preadv 363 /* new */ ++#define TARGET_NR_pwritev 364 /* new */ ++#define TARGET_NR_rt_tgsigqueueinfo 365 /* new */ ++#define TARGET_NR_perf_event_open 366 /* new */ ++#define TARGET_NR_recvmmsg 367 /* new */ ++#define TARGET_NR_fanotify_init 368 ++#define TARGET_NR_fanotify_mark 369 ++#define TARGET_NR_prlimit64 370 ++#define TARGET_NR_name_to_handle_at 371 ++#define TARGET_NR_open_by_handle_at 372 ++#define TARGET_NR_clock_adjtime 373 ++#define TARGET_NR_syncfs 374 + +diff --git a/linux-user/mips/syscall_nr.h b/linux-user/mips/syscall_nr.h +index 0595308..fbdc348 100644 +--- a/linux-user/mips/syscall_nr.h ++++ b/linux-user/mips/syscall_nr.h +@@ -332,3 +332,16 @@ + #define TARGET_NR_dup3 (TARGET_NR_Linux + 327) + #define TARGET_NR_pipe2 (TARGET_NR_Linux + 328) + #define TARGET_NR_inotify_init1 (TARGET_NR_Linux + 329) ++#define TARGET_NR_preadv (TARGET_NR_Linux + 330) ++#define TARGET_NR_pwritev (TARGET_NR_Linux + 331) ++#define TARGET_NR_rt_tgsigqueueinfo (TARGET_NR_Linux + 332) ++#define TARGET_NR_perf_event_open (TARGET_NR_Linux + 333) ++#define TARGET_NR_accept4 (TARGET_NR_Linux + 334) ++#define TARGET_NR_recvmmsg (TARGET_NR_Linux + 335) ++#define TARGET_NR_fanotify_init (TARGET_NR_Linux + 336) ++#define TARGET_NR_fanotify_mark (TARGET_NR_Linux + 337) ++#define TARGET_NR_prlimit64 (TARGET_NR_Linux + 338) ++#define TARGET_NR_name_to_handle_at (TARGET_NR_Linux + 339) ++#define TARGET_NR_open_by_handle_at (TARGET_NR_Linux + 340) ++#define TARGET_NR_clock_adjtime (TARGET_NR_Linux + 341) ++#define TARGET_NR_syncfs (TARGET_NR_Linux + 342) +diff --git a/linux-user/mips64/syscall_nr.h b/linux-user/mips64/syscall_nr.h +index ee1d134..36d27b5 100644 +--- a/linux-user/mips64/syscall_nr.h ++++ b/linux-user/mips64/syscall_nr.h +@@ -291,3 +291,16 @@ + #define TARGET_NR_dup3 (TARGET_NR_Linux + 286) + #define TARGET_NR_pipe2 (TARGET_NR_Linux + 287) + #define TARGET_NR_inotify_init1 (TARGET_NR_Linux + 288) ++#define TARGET_NR_preadv (TARGET_NR_Linux + 289) ++#define TARGET_NR_pwritev (TARGET_NR_Linux + 290) ++#define TARGET_NR_rt_tgsigqueueinfo (TARGET_NR_Linux + 291) ++#define TARGET_NR_perf_event_open (TARGET_NR_Linux + 292) ++#define TARGET_NR_accept4 (TARGET_NR_Linux + 293) ++#define TARGET_NR_recvmmsg (TARGET_NR_Linux + 294) ++#define TARGET_NR_fanotify_init (TARGET_NR_Linux + 295) ++#define TARGET_NR_fanotify_mark (TARGET_NR_Linux + 296) ++#define TARGET_NR_prlimit64 (TARGET_NR_Linux + 297) ++#define TARGET_NR_name_to_handle_at (TARGET_NR_Linux + 298) ++#define TARGET_NR_open_by_handle_at (TARGET_NR_Linux + 299) ++#define TARGET_NR_clock_adjtime (TARGET_NR_Linux + 300) ++#define TARGET_NR_syncfs (TARGET_NR_Linux + 301) +diff --git a/linux-user/mipsn32/syscall_nr.h b/linux-user/mipsn32/syscall_nr.h +index 60a99dd..4e1aca3 100644 +--- a/linux-user/mipsn32/syscall_nr.h ++++ b/linux-user/mipsn32/syscall_nr.h +@@ -295,3 +295,17 @@ + #define TARGET_NR_dup3 (TARGET_NR_Linux + 290) + #define TARGET_NR_pipe2 (TARGET_NR_Linux + 291) + #define TARGET_NR_inotify_init1 (TARGET_NR_Linux + 292) ++#define TARGET_NR_preadv (TARGET_NR_Linux + 293) ++#define TARGET_NR_pwritev (TARGET_NR_Linux + 294) ++#define TARGET_NR_rt_tgsigqueueinfo (TARGET_NR_Linux + 295) ++#define TARGET_NR_perf_event_open (TARGET_NR_Linux + 296) ++#define TARGET_NR_accept4 (TARGET_NR_Linux + 297) ++#define TARGET_NR_recvmmsg (TARGET_NR_Linux + 298) ++#define TARGET_NR_getdents64 (TARGET_NR_Linux + 299) ++#define TARGET_NR_fanotify_init (TARGET_NR_Linux + 300) ++#define TARGET_NR_fanotify_mark (TARGET_NR_Linux + 301) ++#define TARGET_NR_prlimit64 (TARGET_NR_Linux + 302) ++#define TARGET_NR_name_to_handle_at (TARGET_NR_Linux + 303) ++#define TARGET_NR_open_by_handle_at (TARGET_NR_Linux + 304) ++#define TARGET_NR_clock_adjtime (TARGET_NR_Linux + 305) ++#define TARGET_NR_syncfs (TARGET_NR_Linux + 306) +diff --git a/linux-user/ppc/syscall_nr.h b/linux-user/ppc/syscall_nr.h +index cc84a4c..0673b7d 100644 +--- a/linux-user/ppc/syscall_nr.h ++++ b/linux-user/ppc/syscall_nr.h +@@ -332,3 +332,33 @@ + #define TARGET_NR_dup3 316 + #define TARGET_NR_pipe2 317 + #define TARGET_NR_inotify_init1 318 ++#define TARGET_NR_perf_event_open 319 ++#define TARGET_NR_preadv 320 ++#define TARGET_NR_pwritev 321 ++#define TARGET_NR_rt_tgsigqueueinfo 322 ++#define TARGET_NR_fanotify_init 323 ++#define TARGET_NR_fanotify_mark 324 ++#define TARGET_NR_prlimit64 325 ++#define TARGET_NR_socket 326 ++#define TARGET_NR_bind 327 ++#define TARGET_NR_connect 328 ++#define TARGET_NR_listen 329 ++#define TARGET_NR_accept 330 ++#define TARGET_NR_getsockname 331 ++#define TARGET_NR_getpeername 332 ++#define TARGET_NR_socketpair 333 ++#define TARGET_NR_send 334 ++#define TARGET_NR_sendto 335 ++#define TARGET_NR_recv 336 ++#define TARGET_NR_recvfrom 337 ++#define TARGET_NR_shutdown 338 ++#define TARGET_NR_setsockopt 339 ++#define TARGET_NR_getsockopt 340 ++#define TARGET_NR_sendmsg 341 ++#define TARGET_NR_recvmsg 342 ++#define TARGET_NR_recvmmsg 343 ++#define TARGET_NR_accept4 344 ++#define TARGET_NR_name_to_handle_at 345 ++#define TARGET_NR_open_by_handle_at 346 ++#define TARGET_NR_clock_adjtime 347 ++#define TARGET_NR_syncfs 348 +diff --git a/linux-user/sh4/syscall_nr.h b/linux-user/sh4/syscall_nr.h +index 262b236..6173a7c 100644 +--- a/linux-user/sh4/syscall_nr.h ++++ b/linux-user/sh4/syscall_nr.h +@@ -334,3 +334,35 @@ + #define TARGET_NR_dup3 330 + #define TARGET_NR_pipe2 331 + #define TARGET_NR_inotify_init1 332 ++#define TARGET_NR_preadv 333 ++#define TARGET_NR_pwritev 334 ++#define TARGET_NR_rt_tgsigqueueinfo 335 ++#define TARGET_NR_perf_event_open 336 ++#define TARGET_NR_fanotify_init 337 ++#define TARGET_NR_fanotify_mark 338 ++#define TARGET_NR_prlimit64 339 ++ ++/* Non-multiplexed socket family */ ++#define TARGET_NR_socket 340 ++#define TARGET_NR_bind 341 ++#define TARGET_NR_connect 342 ++#define TARGET_NR_listen 343 ++#define TARGET_NR_accept 344 ++#define TARGET_NR_getsockname 345 ++#define TARGET_NR_getpeername 346 ++#define TARGET_NR_socketpair 347 ++#define TARGET_NR_send 348 ++#define TARGET_NR_sendto 349 ++#define TARGET_NR_recv 350 ++#define TARGET_NR_recvfrom 351 ++#define TARGET_NR_shutdown 352 ++#define TARGET_NR_setsockopt 353 ++#define TARGET_NR_getsockopt 354 ++#define TARGET_NR_sendmsg 355 ++#define TARGET_NR_recvmsg 356 ++#define TARGET_NR_recvmmsg 357 ++#define TARGET_NR_accept4 358 ++#define TARGET_NR_name_to_handle_at 359 ++#define TARGET_NR_open_by_handle_at 360 ++#define TARGET_NR_clock_adjtime 361 ++#define TARGET_NR_syncfs 362 +diff --git a/linux-user/sparc/syscall_nr.h b/linux-user/sparc/syscall_nr.h +index 5d1ac21..be503f2 100644 +--- a/linux-user/sparc/syscall_nr.h ++++ b/linux-user/sparc/syscall_nr.h +@@ -285,3 +285,15 @@ + #define TARGET_NR_pipe2 321 + #define TARGET_NR_inotify_init1 322 + #define TARGET_NR_accept4 323 ++#define TARGET_NR_preadv 324 ++#define TARGET_NR_pwritev 325 ++#define TARGET_NR_rt_tgsigqueueinfo 326 ++#define TARGET_NR_perf_event_open 327 ++#define TARGET_NR_recvmmsg 328 ++#define TARGET_NR_fanotify_init 329 ++#define TARGET_NR_fanotify_mark 330 ++#define TARGET_NR_prlimit64 331 ++#define TARGET_NR_name_to_handle_at 332 ++#define TARGET_NR_open_by_handle_at 333 ++#define TARGET_NR_clock_adjtime 334 ++#define TARGET_NR_syncfs 335 +diff --git a/linux-user/sparc64/syscall_nr.h b/linux-user/sparc64/syscall_nr.h +index bdca2a7..70988b2 100644 +--- a/linux-user/sparc64/syscall_nr.h ++++ b/linux-user/sparc64/syscall_nr.h +@@ -322,3 +322,15 @@ + #define TARGET_NR_pipe2 321 + #define TARGET_NR_inotify_init1 322 + #define TARGET_NR_accept4 323 ++#define TARGET_NR_preadv 324 ++#define TARGET_NR_pwritev 325 ++#define TARGET_NR_rt_tgsigqueueinfo 326 ++#define TARGET_NR_perf_event_open 327 ++#define TARGET_NR_recvmmsg 328 ++#define TARGET_NR_fanotify_init 329 ++#define TARGET_NR_fanotify_mark 330 ++#define TARGET_NR_prlimit64 331 ++#define TARGET_NR_name_to_handle_at 332 ++#define TARGET_NR_open_by_handle_at 333 ++#define TARGET_NR_clock_adjtime 334 ++#define TARGET_NR_syncfs 335 +diff --git a/linux-user/x86_64/syscall_nr.h b/linux-user/x86_64/syscall_nr.h +index 568a901..947e961 100644 +--- a/linux-user/x86_64/syscall_nr.h ++++ b/linux-user/x86_64/syscall_nr.h +@@ -293,3 +293,15 @@ + #define TARGET_NR_dup3 292 + #define TARGET_NR_pipe2 293 + #define TARGET_NR_inotify_init1 294 ++#define TARGET_NR_preadv 295 ++#define TARGET_NR_pwritev 296 ++#define TARGET_NR_rt_tgsigqueueinfo 297 ++#define TARGET_NR_perf_event_open 298 ++#define TARGET_NR_recvmmsg 299 ++#define TARGET_NR_fanotify_init 300 ++#define TARGET_NR_fanotify_mark 301 ++#define TARGET_NR_prlimit64 302 ++#define TARGET_NR_name_to_handle_at 303 ++#define TARGET_NR_open_by_handle_at 304 ++#define TARGET_NR_clock_adjtime 305 ++#define TARGET_NR_syncfs 306 diff --git a/qemu.changes b/qemu.changes index c57faa62..05297f17 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Oct 18 07:02:45 UTC 2011 - adrian@suse.de + +- add xattr support for openSUSE 12.1 +- added syscall numbers to fix prlimit64 support (from upstream) + ------------------------------------------------------------------- Wed Oct 5 12:00:34 UTC 2011 - joop.boonen@opensuse.org diff --git a/qemu.spec b/qemu.spec index cf174ec5..9e0ad542 100644 --- a/qemu.spec +++ b/qemu.spec @@ -49,6 +49,7 @@ Patch21: 0021-implement-prlimit64-syscall.patch Patch22: 0022-fixing-smp-races.patch Patch23: 0023-linux-user-add-binfmt-wrapper-for-argv-0-handling.patch Patch24: 0024-fix-glibc-install-locales.patch +Patch25: 0025-add-syscall-numbers-from-2.6.39.2.patch # this is to make lint happy Source300: rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -65,6 +66,9 @@ BuildRequires: libattr-devel BuildRequires: libgnutls-devel BuildRequires: libpcap-devel BuildRequires: ncurses-devel +%if 0%{?suse_version} >= 1210 +BuildRequires: libattr-devel-static +%endif %if 0%{?suse_version} >= 1120 BuildRequires: zlib-devel-static %else @@ -112,6 +116,7 @@ Authors: %patch22 -p1 %patch23 -p1 %patch24 -p1 -R +%patch25 -p1 -F 3 %ifarch s390x ppc64 x86_64 # s390 target only builds on 64-bit machines %patch15 -p1