1. 07 9月, 2012 1 次提交
    • R
      use restrict everywhere it's required by c99 and/or posix 2008 · 400c5e5c
      Rich Felker 提交于
      to deal with the fact that the public headers may be used with pre-c99
      compilers, __restrict is used in place of restrict, and defined
      appropriately for any supported compiler. we also avoid the form
      [restrict] since older versions of gcc rejected it due to a bug in the
      original c99 standard, and instead use the form *restrict.
      400c5e5c
  2. 03 9月, 2012 1 次提交
    • R
      avoid "inline" in public headers for strict c89 compatibility · fb247faf
      Rich Felker 提交于
      while musl itself requires a c99 compiler, some applications insist on
      being compiled with c89 compilers, and use of "inline" in the headers
      was breaking them. much of this had been avoided already by just
      skipping the inline keyword in pre-c99 compilers or modes, but this
      new unified solution is cleaner and may/should result in better code
      generation in the default gcc configuration.
      fb247faf
  3. 01 9月, 2012 1 次提交
  4. 27 8月, 2012 1 次提交
    • R
      dladdr support for dynamic linker (nonstandard extension) · f419bcb9
      Rich Felker 提交于
      based on patches submitted by boris brezillon. this commit also fixes
      the issue whereby the main application and libc don't have the address
      ranges of their mappings stored, which was theoretically a problem for
      RTLD_NEXT support in dlsym; it didn't actually matter because libc
      never calls dlsym, and it seemed to be doing the right thing (by
      chance) for symbols in the main program as well.
      f419bcb9
  5. 26 8月, 2012 2 次提交
  6. 25 8月, 2012 4 次提交
  7. 16 8月, 2012 1 次提交
    • R
      improve headers to better deal with removed-in-posix-2008 features · 3f80afc5
      Rich Felker 提交于
      with this patch, setting _POSIX_SOURCE, or setting _POSIX_C_SOURCE or
      _XOPEN_SOURCE to an old version, will bring back the interfaces that
      were removed in POSIX 2008 - at least the ones i've covered so far,
      which are gethostby*, usleep, and ualarm. if there are other functions
      still in widespread use that were removed for which similar changes
      would be beneficial, they can be added just like this.
      3f80afc5
  8. 15 8月, 2012 1 次提交
  9. 14 8月, 2012 4 次提交
  10. 12 8月, 2012 1 次提交
    • R
      add bsd fgetln function · 61718273
      Rich Felker 提交于
      optimized to avoid allocation and return lines directly out of the
      stream buffer whenever possible.
      61718273
  11. 06 8月, 2012 1 次提交
    • R
      fix socket.h on mips · 7fee5f96
      Rich Felker 提交于
      why does mips have to be gratuitously incompatible in every possible
      imaginable way?
      7fee5f96
  12. 24 7月, 2012 4 次提交
    • R
      add ioperm/iopl syscalls · d426b045
      Rich Felker 提交于
      based on patches by orc and Isaac Dunham, with some fixes. sys/io.h
      exists and contains prototypes for these functions regardless of
      whether the target arch has them; this is a bit unorthodox but I don't
      think it will break anything. the function definitions do not exist
      unless the appropriate SYS_* syscall number macro is defined, which
      should make sure configure scripts looking for these functions don't
      find them on other systems.
      
      presently, sys/io.h does not have the inb/outb/etc. port io
      macros/functions. I'd be surprised if ioperm/iopl are useful without
      them, so they probably need to be added at some point in appropriate
      bits/io.h files...
      d426b045
    • R
      add splice and vmsplice syscalls · 53147f90
      Rich Felker 提交于
      based on patches by orc and Isaac Dunham.
      53147f90
    • R
      add extended attributes syscalls · 207460d0
      Rich Felker 提交于
      based on patch by orc and Isaac Dunham, with some fixes.
      207460d0
    • R
      add pipe2 syscall · 42f0e965
      Rich Felker 提交于
      based on patch by orc and Isaac Dunham, with some details fixed.
      42f0e965
  13. 23 7月, 2012 2 次提交
  14. 19 7月, 2012 1 次提交
  15. 13 7月, 2012 3 次提交
  16. 05 7月, 2012 1 次提交
  17. 04 7月, 2012 1 次提交
    • R
      jmp_buf overhaul fixing several issues · d6c0efe1
      Rich Felker 提交于
      on arm, the location of the saved-signal-mask flag and mask were off
      by one between sigsetjmp and siglongjmp, causing incorrect behavior
      restoring the signal mask. this is because the siglongjmp code assumed
      an extra slot was in the non-sig jmp_buf for the flag, but arm did not
      have this. now, the extra slot is removed for all archs since it was
      useless.
      
      also, arm eabi requires jmp_buf to have 8-byte alignment. we achieve
      that using long long as the type rather than with non-portable gcc
      attribute tags.
      d6c0efe1
  18. 29 6月, 2012 1 次提交
    • R
      replace old and ugly crypt implementation · cdf51506
      Rich Felker 提交于
      the new version is largely the work of Solar Designer, with minor
      changes for integration with musl. compared to the old code, text size
      is reduced by about 7k, stack space usage by about 70k, and
      performance is greatly improved by avoiding expensive calculation of
      constant tables on each run.
      
      this version also adds support for extended des-based password hashes,
      which allow for unlimited key (password) length and configurable
      iteration counts.
      
      i've also published the interface for crypt_r in a new crypt.h header.
      especially since this is not a standard interface, i did not feel
      compelled to match the glibc abi for the crypt_data structure. the
      glibc structure is way too big to allocate on the stack; in fact it's
      so big that the first usage may cause the main thread to exceed its
      pre-committed stack size of 128k and thus could cause the program to
      crash even on systems with overcommit disabled. the only legitimate
      use of crypt_data for crypt_r is to store the hash string to return,
      so i've reserved 256 bytes, which should be more than sufficient
      (longest known password hashes are ~60 characters, and beyond that is
      possibly even exceeding some implementations' passwd file field size
      limit).
      cdf51506
  19. 24 6月, 2012 1 次提交
  20. 21 6月, 2012 1 次提交
  21. 20 6月, 2012 1 次提交
  22. 16 6月, 2012 1 次提交
  23. 14 6月, 2012 3 次提交
  24. 13 6月, 2012 1 次提交
    • R
      add (currently stubbed due to stubbed strverscmp) versionsort function · fbffcee6
      Rich Felker 提交于
      based on patch by Emil Renner Berthing, with minor changes to dirent.h
      for LFS64 and organization of declarations
      
      this code should work unmodified once a real strverscmp is added, but
      I've been hesitant to add it because the GNU strverscmp behavior is
      harmful in a lot of cases (for instance if you have numeric filenames
      in hex). at some point I plan on trying to design a variant of the
      algorithm that behaves better on a mix of filename styles.
      fbffcee6
  25. 08 6月, 2012 1 次提交