Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 164755 - SysV IPC operation incorrectly handled on x86-64
Summary: SysV IPC operation incorrectly handled on x86-64
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: strace
Version: rawhide
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Roland McGrath
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks: FC4Update
TreeView+ depends on / blocked
 
Reported: 2005-08-01 00:03 UTC by Ulrich Drepper
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 4.5.14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-04-03 08:34:47 UTC


Attachments (Terms of Use)
Remove special linux demux handling for x86-64 (deleted)
2005-08-01 00:03 UTC, Ulrich Drepper
no flags Details | Diff
strace-4.5.13-drepper-x86_64-ipc.patch (deleted)
2005-08-08 17:21 UTC, Dmitry V. Levin
no flags Details | Diff

Description Ulrich Drepper 2005-08-01 00:03:30 UTC
Description of problem:
Unlike some/most other archs, x86-64 has real syscalls for the SysV IPC
operations.  This means the special #ifdef LINUX code in the various sys_*
functions must be avoided for x86-64.

Version-Release number of selected component (if applicable):
strace-4.5.12-1.x86_64

How reproducible:
always

Steps to Reproduce:
1.strace any code using msgsnd, msgrcv, ...
2.
3.
  
Actual results:
[pid 19816] msgsnd(98304, {6549608, umovestr: Input/output error
0x8}, 140737484181616, 0x4 /* MSG_??? */) = 0


Expected results:
[pid 24526] msgsnd(262149, {1, "\0\0\0\0"}, 4, 0) = 0


Additional info:
Attached patch should fix it.  There are also some syscall number bugs.

2005-07-31  Ulrich Drepper  <drepper@redhat.com>

	* linux/x86_64/syscallent.h: Fix syscall parameter count for msgrcv and
	msgctl.
	* ipc.c: Don't use LINUX specific code in sys_msgctl, sys_msgsnd,
	sys_msgrcv, sys_semop, sys_shmctl, sys_shmat, sys_shmdt.  Add
	appropriate non-demux code to sys_semtimedop.

Comment 1 Ulrich Drepper 2005-08-01 00:03:30 UTC
Created attachment 117330 [details]
Remove special linux demux handling for x86-64

Comment 2 Dmitry V. Levin 2005-08-08 17:21:02 UTC
Created attachment 117546 [details]
strace-4.5.13-drepper-x86_64-ipc.patch

Rediffed for strace-4.5.13.

Comment 3 Roland McGrath 2005-12-02 03:54:55 UTC
Your patch breaks it for 32-bit inferiors.
I've put in changes upstream that should do the trick.

Comment 4 Roland McGrath 2006-04-03 08:34:47 UTC
Fixed in fc4 update and in fc5.


Note You need to log in before you can comment on or make changes to this bug.