Author: Amaury Forgeot d'Arc <amaur...@gmail.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit