OSDN Git Service

Richard Sandiford writes:
authorMike Frysinger <vapier@gentoo.org>
Thu, 23 Mar 2006 03:16:41 +0000 (03:16 -0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 23 Mar 2006 03:16:41 +0000 (03:16 -0000)
commit9535cbf18c6b4415dc35c220ca4cca15eba5dc1b
tree4429a2f527eb9ab5ccffcf23257a4e2bd54e56cb
parentd126b4a3fbf7e423206712145b4a4efdc0c5b1c1
Richard Sandiford writes:
This patch fixes a miscompilation of mmap() for Coldfire with gcc 4.x.
The problem was that the syscall was being invoked before any part of
the argument structure (buffer[]) had been initialised.

The outcome of gcc PR 19341 is that volatile asms don't implicitly
use or clobber memory, and that "memory" must be explicitly listed
in the clobber list:

    http://gcc.gnu.org/PR19341

All syscalls can potentially use or clobber memory, so this patch
adds a "memory" clobber to all the m68k syscall wrappers that I
could find.
libc/sysdeps/linux/m68k/bits/syscalls.h
libc/sysdeps/linux/m68k/syscall.c