[PATCH] [nolibc] Change internal syscall API to remove reliance on libc's errno.

Peter Collingbourne peter at pcc.me.uk
Tue May 7 09:53:12 PDT 2013


Hi kcc, rnk,

This change moves to a model where the error value of a system call is
potentially contained in the return value itself rather than being
implicit in errno.  The helper function internal_iserror can be used
to extract the error value from a return value.  On platforms other
than Linux/x86_64 this still uses errno, but other platforms are free
to port their error handling to this new model.

http://llvm-reviews.chandlerc.com/D756

Files:
  lib/sanitizer_common/sanitizer_common.cc
  lib/sanitizer_common/sanitizer_common.h
  lib/sanitizer_common/sanitizer_internal_defs.h
  lib/sanitizer_common/sanitizer_libc.h
  lib/sanitizer_common/sanitizer_linux.cc
  lib/sanitizer_common/sanitizer_linux.h
  lib/sanitizer_common/sanitizer_mac.cc
  lib/sanitizer_common/sanitizer_posix.cc
  lib/sanitizer_common/sanitizer_stoptheworld_linux.cc
  lib/sanitizer_common/sanitizer_symbolizer_linux.cc
  lib/sanitizer_common/sanitizer_win.cc
  lib/sanitizer_common/tests/sanitizer_libc_test.cc
  lib/tsan/rtl/tsan_platform_linux.cc
  lib/tsan/rtl/tsan_rtl.cc
  lib/tsan/rtl/tsan_suppressions.cc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D756.1.patch
Type: text/x-patch
Size: 33909 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130507/db746927/attachment.bin>


More information about the llvm-commits mailing list