“1d410a6e337a0d2d5543ad1d9bccb670a7a05312”上不存在“README.md”
  1. 09 1月, 2014 7 次提交
    • R
      d18df33c
    • R
      fix namespace violations in termios.h, at least mostly · a627eb35
      Rich Felker 提交于
      the fix should be complete on archs that use the generic definitions
      (i386, arm, x86_64, microblaze), but mips and powerpc have not been
      checked thoroughly and may need more fixes.
      a627eb35
    • R
      fix remaining known namespace violations for netinet/in.h · acde0135
      Rich Felker 提交于
      the imr_, imsf_, ip6_, ip6m_, ipi_, ipi6_, SCM_, and SOL_ prefixes are
      not in the reserved namespace for this header. thus the constants and
      structures using them need to be protected under appropriate feature
      test macros.
      
      this also affects some headers which are permitted to include
      netinet/in.h, particularly netdb.h and arpa/inet.h.
      
      the SOL_ macros are moved to sys/socket.h where they are in the
      reserved namespace (SO*). they are still accessible via netinet/in.h
      since it includes sys/socket.h implicitly (which is permitted).
      
      the SCM_SRCRT macro is simply removed, since the definition used for
      it, IPV6_RXSRCRT is not defined anywhere. it could be re-added, this
      time in sys/socket.h, if the appropriate value can be determined;
      however, given that the erroneous definition was not caught, it is
      unlikely that any software actually attempts to use SCM_SRCRT.
      acde0135
    • R
      8e776e3e
    • S
      add __isoc99_vfscanf weak alias to vfscanf · 5f942053
      Szabolcs Nagy 提交于
      this glibc abi compatibility function was missed when the scanf
      aliases were added.
      5f942053
    • S
      math: add drem and dremf weak aliases to i386 remainder asm · bcff807d
      Szabolcs Nagy 提交于
      weak_alias was only in the c code, so drem was missing on platforms
      where remainder is implemented in asm.
      bcff807d
    • R
      fix type of semctl variadic argument · 28929422
      Rich Felker 提交于
      per POSIX, the variadic argument has type union semun, which may
      contain a pointer or int; the type read depends on the command being
      issued. this allows the userspace part of the implementation to be
      type-correct without requiring special-casing for different commands.
      the kernel always expects to receive the argument interpreted as
      unsigned long (or equivalently, a pointer), and does its own handling
      of extracting the int portion from the representation, as needed.
      
      this change fixes two possible issues: most immediately, reading the
      argument as a (signed) long and passing it to the syscall would
      perform incorrect sign-extension of pointers on the upcoming x32
      target. the other possible issue is that some archs may use different
      (user-space) argument-passing convention for unions, preventing va_arg
      from correctly obtaining the argument when the type long (or even
      unsigned long or void *) is passed to it.
      28929422
  2. 08 1月, 2014 1 次提交
    • R
      in fcntl, avoid passing pointer arguments to syscalls as longs · 131871a3
      Rich Felker 提交于
      really, fcntl should be changed to use the correct type corresponding
      to cmd when calling va_arg, and to carry the correct type through
      until making the syscall. however, this greatly increases binary size
      and does not seem to offer any benefits except formal correctness, so
      I'm holding off on that change for now.
      
      the minimal changes made in this patch are in preparation for addition
      of the x32 port, where the syscall macros need to know whether their
      arguments are pointers or integers in order to properly pass them to
      the 64-bit kernel.
      131871a3
  3. 07 1月, 2014 9 次提交
  4. 04 1月, 2014 1 次提交
  5. 03 1月, 2014 4 次提交
    • R
      fanotify.c: fix typo in header inclusion · 9e91398b
      rofl0r 提交于
      the header is included only as a guard to check that the declaration
      and definition match, so the typo didn't cause any breakage aside
      from omitting this check.
      9e91398b
    • R
      disable the brk function · 863d628d
      Rich Felker 提交于
      the reasons are the same as for sbrk. unlike sbrk, there is no safe
      usage because brk does not return any useful information, so it should
      just fail unconditionally.
      863d628d
    • R
      disable sbrk for all values of increment except 0 · 7a995fe7
      Rich Felker 提交于
      use of sbrk is never safe; it conflicts with malloc, and malloc may be
      used internally by the implementation basically anywhere. prior to
      this change, applications attempting to use sbrk to do their own heap
      management simply caused untrackable memory corruption; now, they will
      fail with ENOMEM allowing the errors to be fixed.
      
      sbrk(0) is still permitted as a way to get the current brk; some
      misguided applications use this as a measurement of their memory
      usage or for other related purposes, and such usage is harmless.
      
      eventually sbrk may be re-added if/when malloc is changed to avoid
      using the brk by using mmap for all allocations.
      7a995fe7
    • R
      add fanotify syscall wrapper and header · 5c81b8fe
      rofl0r 提交于
      5c81b8fe
  6. 30 12月, 2013 1 次提交
    • T
      fix struct signalfd_siginfo · 7e10f209
      Timo Teräs 提交于
      ssi_ptr is really 64-bit in kernel, so fix that. assuming sizeof(void*)
      for it also caused incorrect padding for 32-bits, as the following
      64-bits are aligned to 64-bits (and the padding was not taken into
      account), so fix the padding as well. add addr_lsb field while there.
      7e10f209
  7. 21 12月, 2013 4 次提交
  8. 20 12月, 2013 1 次提交
    • R
      fix failure of fchmod, fstat, fchdir, and fchown to produce EBADF · 65ea604c
      Rich Felker 提交于
      the workaround/fallback code for supporting O_PATH file descriptors
      when the kernel lacks support for performing these operations on them
      caused EBADF to get replaced by ENOENT (due to missing entry in
      /proc/self/fd). this is unlikely to affect real-world code (calls that
      might yield EBADF are generally unsafe, especially in library code)
      but it was breaking some test cases.
      
      the fix I've applied is something of a tradeoff: it adds one syscall
      to these operations on kernels where the workaround is needed. the
      alternative would be to catch ENOENT from the /proc lookup and
      translate it to EBADF, but I want to avoid doing that in the interest
      of not touching/depending on /proc at all in these functions as long
      as the kernel correctly supports the operations. this is following the
      general principle of isolating hacks to code paths that are taken on
      broken systems, and keeping the code for correct systems completely
      hack-free.
      65ea604c
  9. 19 12月, 2013 1 次提交
  10. 15 12月, 2013 1 次提交
    • R
      fix dynamic linker entry point for microblaze · 0311d1dd
      Rich Felker 提交于
      the ABI allows the callee to clobber stack slots that correspond to
      arguments passed in registers, so the caller must adjust the stack
      pointer to reserve space appropriately. prior to this fix, the argv
      array was possibly clobbered by dynamic linker code before passing
      control to the main program.
      0311d1dd
  11. 13 12月, 2013 2 次提交
  12. 12 12月, 2013 3 次提交
  13. 07 12月, 2013 1 次提交
  14. 05 12月, 2013 4 次提交
新手
引导
客服 返回
顶部