Author: Amaury Forgeot d'Arc <[email protected]>
Branch: missing-os-functions
Changeset: r65599:d8ba553ece2d
Date: 2013-07-24 12:07 +0200
http://bitbucket.org/pypy/pypy/changeset/d8ba553ece2d/
Log: hg merge default again
diff --git a/pypy/module/posix/__init__.py b/pypy/module/posix/__init__.py
--- a/pypy/module/posix/__init__.py
+++ b/pypy/module/posix/__init__.py
@@ -68,9 +68,6 @@
'lstat': 'interp_posix.lstat',
'stat_float_times': 'interp_posix.stat_float_times',
- 'fstatvfs': 'interp_posix.fstatvfs',
- 'statvfs': 'interp_posix.statvfs',
-
'dup': 'interp_posix.dup',
'dup2': 'interp_posix.dup2',
'access': 'interp_posix.access',
@@ -106,6 +103,7 @@
ttyname chmod fchmod chown lchown fchown chroot link symlink
readlink
ftruncate getloadavg nice uname execv execve fork spawnv spawnve
putenv unsetenv fchdir fsync fdatasync mknod
+ fstatvfs statvfs
openpty forkpty mkfifo getlogin sysconf fpathconf
getsid getuid geteuid getgid getegid getpgrp getpgid
setsid setuid seteuid setgid setegid setpgrp setpgid
diff --git a/rpython/jit/backend/x86/assembler.py
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -735,6 +735,10 @@
self.mc.RET()
def _load_shadowstack_top_in_ebx(self, mc, gcrootmap):
+ """Loads the shadowstack top in ebx, and returns an integer
+ that gives the address of the stack top. If this integer doesn't
+ fit in 32 bits, it will be loaded in r11.
+ """
rst = gcrootmap.get_root_stack_top_addr()
if rx86.fits_in_32bits(rst):
mc.MOV_rj(ebx.value, rst) # MOV ebx, [rootstacktop]
@@ -752,6 +756,9 @@
if rx86.fits_in_32bits(rst):
self.mc.MOV_jr(rst, ebx.value) # MOV [rootstacktop], ebx
else:
+ # The integer 'rst' doesn't fit in 32 bits, so we know that
+ # _load_shadowstack_top_in_ebx() above loaded it in r11.
+ # Reuse it. Be careful not to overwrite r11 in the middle!
self.mc.MOV_mr((X86_64_SCRATCH_REG.value, 0),
ebx.value) # MOV [r11], ebx
diff --git a/rpython/rlib/rposix.py b/rpython/rlib/rposix.py
--- a/rpython/rlib/rposix.py
+++ b/rpython/rlib/rposix.py
@@ -84,7 +84,8 @@
else:
separate_module_sources = []
export_symbols = []
- includes=['errno.h', 'stdio.h', 'stdlib.h', 'unistd.h', 'sys/stat.h',
+ includes=['errno.h', 'stdio.h', 'stdlib.h', 'unistd.h',
+ 'sys/stat.h', 'sys/statvfs.h',
'fcntl.h', 'signal.h', 'pty.h', 'sys/utsname.h', 'sys/wait.h',
'sysexits.h', 'limits.h']
rposix_eci = ExternalCompilationInfo(
@@ -102,6 +103,7 @@
ttyname chmod fchmod chown lchown fchown chroot link symlink readlink
ftruncate getloadavg nice uname execv execve fork spawnv spawnve
putenv unsetenv fchdir fsync fdatasync mknod
+ fstatvfs statvfs
openpty forkpty mkfifo getlogin sysconf fpathconf
getsid getuid geteuid getgid getegid getpgrp getpgid
setsid setuid seteuid setgid setegid setpgrp setpgid
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit