1. 11 Jun, 2015 1 commit
  2. 23 Apr, 2015 1 commit
    • Elliott Hughes's avatar
      Simplify close(2) EINTR handling. · 3391a9ff
      Elliott Hughes authored
      This doesn't affect code like Chrome that correctly ignores EINTR on
      close, makes code that tries TEMP_FAILURE_RETRY work (where before it might
      have closed a different fd and appeared to succeed, or had a bogus EBADF),
      and makes "goto fail" code work (instead of mistakenly assuming that EINTR
      means that the close failed).
      
      Who loses? Anyone actively trying to detect that they caught a signal while
      in close(2). I don't think those people exist, and I think they have better
      alternatives available.
      
      Bug: https://code.google.com/p/chromium/issues/detail?id=269623
      Bug: http://b/20501816
      Change-Id: I11e2f66532fe5d1b0082b2433212e24bdda8219b
      3391a9ff
  3. 08 Sep, 2014 2 commits
    • Elliott Hughes's avatar
      Ensure __set_errno is still visible on LP32. · 011e111d
      Elliott Hughes authored
      The use of the .hidden directive to avoid going via the PLT for
      __set_errno had the side-effect of actually making __set_errno
      hidden (which is odd because assembler directives don't usually
      affect symbols defined in a different file --- you can't even
      create a weak reference to a symbol that's defined in a different
      file).
      
      This change switches the system call stubs over to a new always-hidden
      __set_errno_internal and has a visible __set_errno on LP32 just for
      binary compatibility with old NDK apps.
      
      (cherry-pick of 7efad83d.)
      
      Bug: 17423135
      Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
      011e111d
    • Elliott Hughes's avatar
      Ensure __set_errno is still visible on LP32. · 7efad83d
      Elliott Hughes authored
      The use of the .hidden directive to avoid going via the PLT for
      __set_errno had the side-effect of actually making __set_errno
      hidden (which is odd because assembler directives don't usually
      affect symbols defined in a different file --- you can't even
      create a weak reference to a symbol that's defined in a different
      file).
      
      This change switches the system call stubs over to a new always-hidden
      __set_errno_internal and has a visible __set_errno on LP32 just for
      binary compatibility with old NDK apps.
      
      Bug: 17423135
      Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
      7efad83d
  4. 08 Aug, 2014 2 commits
  5. 19 Feb, 2014 2 commits
  6. 16 Oct, 2013 1 commit
  7. 22 Mar, 2013 1 commit
    • Elliott Hughes's avatar
      The SYS_ constants should cover all __NR_ values. · 5c2772f5
      Elliott Hughes authored
      <sys/linux-syscalls.h> only contains constants for the syscalls
      we're generating stubs for. We want all the syscalls available
      on the architecture in question.
      
      Keep using <sys/linux-syscalls.h> on ARM for now because the
      __NR_ARM_set_tls and __NR_ARM_cacheflush values aren't in <asm/unistd.h>.
      
      Change-Id: I66683950d87d9b18d6107d0acc0ed238a4496f44
      5c2772f5
  8. 09 May, 2012 1 commit