1. 17 8月, 2020 1 次提交
  2. 04 7月, 2016 1 次提交
  3. 18 3月, 2015 1 次提交
    • R
      fix MINSIGSTKSZ values for archs with large signal contexts · d5a50453
      Rich Felker 提交于
      the previous values (2k min and 8k default) were too small for some
      archs. aarch64 reserves 4k in the signal context for future extensions
      and requires about 4.5k total, and powerpc reportedly uses over 2k.
      the new minimums are chosen to fit the saved context and also allow a
      minimal signal handler to run.
      
      since the default (SIGSTKSZ) has always been 6k larger than the
      minimum, it is also increased to maintain the 6k usable by the signal
      handler. this happens to be able to store one pathname buffer and
      should be sufficient for calling any function in libc that doesn't
      involve conversion between floating point and decimal representations.
      
      x86 (both 32-bit and 64-bit variants) may also need a larger minimum
      (around 2.5k) in the future to support avx-512, but the values on
      these archs are left alone for now pending further analysis.
      
      the value for PTHREAD_STACK_MIN is not increased to match MINSIGSTKSZ
      at this time. this is so as not to preclude applications from using
      extremely small thread stacks when they know they will not be handling
      signals. unfortunately cancellation and multi-threaded set*id() use
      signals as an implementation detail and therefore require a stack
      large enough for a signal context, so applications which use extremely
      small thread stacks may still need to avoid using these features.
      d5a50453
  4. 19 3月, 2014 2 次提交
  5. 24 3月, 2013 1 次提交
  6. 26 11月, 2012 1 次提交
  7. 24 11月, 2012 2 次提交
    • R
      sigcontext/mcontext cleanup for arch-specific bits · c72fc238
      Rich Felker 提交于
      with these changes, the members/types of mcontext_t and related stuff
      should closely match the glibc definitions. unlike glibc, however, the
      definitions here avoid using typedefs as much as possible and work
      directly with the underlying types, to minimize namespace pollution
      from signal.h in the default (_BSD_SOURCE) profile.
      
      this is a first step in improving compatibility with applications
      which poke at context/register information -- mainly debuggers, trace
      utilities, etc. additional definitions in ucontext.h and other headers
      may be needed later.
      
      if feature test macros are used to request a conforming namespace,
      mcontext_t is replaced with an opaque structure of the equivalent size
      and alignment; conforming programs cannot examine its contents anyway.
      c72fc238
    • R
  8. 22 11月, 2012 1 次提交
    • R
      add back NSIG, removed from powerpc in last commit, but for all archs · 65b98213
      Rich Felker 提交于
      unlike the previous definition, NSIG/_NSIG is supposed to be one more
      than the highest signal number. adding this will allow simplifying
      libc-internal code that makes signal-related syscalls, which can be
      done as a later step. some apps might use it too; while this usage is
      questionable, it's at least not insane.
      65b98213
  9. 23 5月, 2012 1 次提交
    • R
      fix missing _BSD_SOURCE support in bits/*.h · 030b452b
      Rich Felker 提交于
      this is actually rather ugly, and would get even uglier if we ever
      want to support further feature test macros. at some point i may
      factor the bits headers into separate files for C base, POSIX base,
      and nonstandard extensions (the only distinctions that seem to matter
      now) and then the logic for which to include can go in the main header
      rather than being duplicated for each arch. the downside of this is
      that it would result in more files having to be opened during
      compilation, so as long as the ugliness does not grow, i'm inclined to
      leave it alone for now.
      030b452b
  10. 20 9月, 2011 1 次提交
  11. 19 9月, 2011 1 次提交
    • R
      initial commit of the arm port · d960d4f2
      Rich Felker 提交于
      this port assumes eabi calling conventions, eabi linux syscall
      convention, and presence of the kernel helpers at 0xffff0f?0 needed
      for threads support. otherwise it makes very few assumptions, and the
      code should work even on armv4 without thumb support, as well as on
      systems with thumb interworking. the bits headers declare this a
      little endian system, but as far as i can tell the code should work
      equally well on big endian.
      
      some small details are probably broken; so far, testing has been
      limited to qemu/aboriginal linux.
      d960d4f2
  12. 10 3月, 2011 1 次提交
  13. 20 2月, 2011 1 次提交
  14. 19 2月, 2011 1 次提交
    • R
      support the ugly and deprecated ucontext and sigcontext header stuff... · ad2fe250
      Rich Felker 提交于
      only the structures, not the functions from ucontext.h, are supported
      at this point. the main goal of this commit is to make modern gcc with
      dwarf2 unwinding build without errors.
      
      honestly, it probably doesn't matter how we define these as long as
      they have members with the right names to prevent errors while
      compiling libgcc. the only time they will be used is for propagating
      exceptions across signal-handler boundaries, which invokes undefined
      behavior anyway. but as-is, they're probably correct and may be useful
      to various low-level applications dealing with virtualization, jit
      code generation, and so on...
      ad2fe250
  15. 15 2月, 2011 2 次提交
  16. 14 2月, 2011 1 次提交
  17. 12 2月, 2011 1 次提交