Bug 6205

Summary: _syscallX() macros on ARM forget to mark "memory" as clobbered
Product: Platform Specific/Hardware Reporter: Markus Gutschke (markus)
Component: ARMAssignee: Russell King (rmk)
Status: REJECTED INVALID    
Severity: normal    
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15.6 Subsystem:
Regression: --- Bisected commit-id:
Attachments: This patch adds the missing "memory" constraints

Description Markus Gutschke 2006-03-09 15:15:08 UTC
Most recent kernel where this bug did not occur: n/a
Distribution: n/a
Hardware Environment: n/a
Software Environment: n/a
Problem Description: In order to prevent gcc from making incorrect
optimizations, all asm() statements that define system calls should report
memory as clobbered. Recent versions of the headers for i386 have been changed
accordingly, but the ARM headers are still defective.

Steps to reproduce:

Use the _syscallX() macros and notice how every once in a while gcc tries to
cache modified memory values across system calls.
Comment 1 Markus Gutschke 2006-03-09 15:16:13 UTC
Created attachment 7553 [details]
This patch adds the missing "memory" constraints
Comment 2 Russell King 2006-04-26 13:14:58 UTC
Doesn't apply to current kernels.  In any case, please submit it via the ARM Linux
patch system (see www.arm.linux.org.uk)
Comment 3 Markus Gutschke 2006-04-26 18:27:44 UTC
Submitted an updated patch that is now tracked at:
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3486/1