1. 04 7月, 2016 12 次提交
  2. 03 7月, 2016 1 次提交
    • R
      add consistent reserved fields in mips64/n32 termios structures · 7158481d
      Rich Felker 提交于
      the (unused) speed fields were omitted when these ports were first
      added (within this release cycle, so not present in any release yet)
      in accordance with how glibc defines the structure on mips archs.
      however their omission does not match existing musl practice/intent.
      
      glibc provides its own, mostly-unified termios structure definition
      and performs translation in userspace to match the kernel structure
      for the arch, but has gratuitous differences on a few archs like mips,
      presumably as a result of historical mistakes. some other libcs use
      the kernel definitions directly. musl essentially does that, by
      matching the kernel layout in the part of the structure the kernel
      will read/write, but leaves additional space at the end for
      extensibility. these are nominally the (nonstandard) speed fields and
      (on most archs) extra c_cc elements, but since they are not used they
      could be repurposed if there's ever a need.
      7158481d
  3. 02 7月, 2016 1 次提交
    • R
      fix posix_fadvise syscall args on powerpc, unify with arm fix · 3dd27f3a
      Rich Felker 提交于
      commit 6d38c9cf provided an
      arm-specific version of posix_fadvise to address the alternate
      argument order the kernel expects on arm, but neglected to address
      that powerpc (32-bit) has the same issue. instead of having arch
      variant files in duplicate, simply put the alternate version in the
      top-level file under the control of a macro defined in syscall_arch.h.
      3dd27f3a
  4. 10 6月, 2016 1 次提交
    • S
      add preadv2 and pwritev2 syscall numbers for linux v4.6 · 78b1f3cb
      Szabolcs Nagy 提交于
      the syscalls take an additional flag argument, they were added in commit
      f17d8b35452cab31a70d224964cd583fb2845449 and a RWF_HIPRI priority hint
      flag was added to linux/fs.h in 97be7ebe53915af504fb491fb99f064c7cf3cb09.
      
      the syscall is not allocated for microblaze and sh yet.
      78b1f3cb
  5. 12 5月, 2016 3 次提交
  6. 09 5月, 2016 2 次提交
  7. 18 4月, 2016 1 次提交
  8. 03 4月, 2016 1 次提交
    • R
      add support for mips and mips64 r6 isa · 6d99ad91
      Rich Felker 提交于
      mips32r6 and mips64r6 are actually new isas at both the asm source and
      opcode levels (pre-r6 code cannot run on r6) and thus need to be
      treated as a new subarch. the following changes are made, some of
      which yield code generation improvements for non-r6 targets too:
      
      - add subarch logic in configure script and reloc.h files for dynamic
        linker name.
      
      - suppress use of .set mips2 asm directives (used to allow mips2
        atomic instructions on baseline mips1 builds; the kernel has to
        emulate them on mips1) except when actually needed. they cause wrong
        instruction encodings on r6, and pessimize inlining on at least some
        compilers.
      
      - only hard-code sync instruction encoding on mips1.
      
      - use "ZC" constraint instead of "m" constraint for llsc memory
        operands on r6, where the ll/sc instructions no longer accept full
        16-bit offsets.
      
      - only hard-code rdhwr instruction encoding with .word on targets
        (pre-r2) where it may need trap-and-emulate by the kernel.
        otherwise, just use the instruction mnemonic, and allow an arbitrary
        destination register to be used.
      6d99ad91
  9. 30 3月, 2016 1 次提交
  10. 19 3月, 2016 3 次提交
    • S
      add copy_file_range syscall numbers from linux v4.5 · 84d4f5ee
      Szabolcs Nagy 提交于
      it was introduced for offloading copying between regular files
      in linux commit 29732938a6289a15e907da234d6692a2ead71855
      
      (microblaze and sh does not yet have the syscall number.)
      84d4f5ee
    • S
      mips64: add recent linux syscall numbers · 2de52704
      Szabolcs Nagy 提交于
      add userfaultfd, membarrier and mlock2 system call numbers.
      2de52704
    • S
      deduplicate bits/mman.h · e9f1c798
      Szabolcs Nagy 提交于
      currently five targets use the same mman.h constants and the rest
      share most constants too, so move them to sys/mman.h before the
      bits/mman.h include where the differences can be corrected by
      redefinition of the macros.
      
      this fixes two minor bugs: POSIX_MADV_DONTNEED was wrong on most
      targets (it should be the same as MADV_DONTNEED), and sh defined
      the x86-only MAP_32BIT mmap flag.
      e9f1c798
  11. 11 3月, 2016 2 次提交
  12. 07 3月, 2016 2 次提交
    • F
      add powerpc soft-float support · 5a92dd95
      Felix Fietkau 提交于
      Some PowerPC CPUs (e.g. Freescale MPC85xx) have a completely different
      instruction set for floating point operations (SPE).
      Executing regular PowerPC floating point instructions results in
      "Illegal instruction" errors.
      
      Make it possible to run these devices in soft-float mode.
      5a92dd95
    • R
      add mips64 port · 83933573
      Rich Felker 提交于
      patch by Mahesh Bodapati and Jaydeep Patil of Imagination
      Technologies.
      83933573
  13. 03 3月, 2016 1 次提交
  14. 24 2月, 2016 1 次提交
  15. 09 2月, 2016 1 次提交
    • R
      remove workaround for broken mips assemblers · 869a9df5
      Rich Felker 提交于
      the workaround was for a bug that botched .gpword references to local
      labels, applying a nonsensical random offset of -0x4000 to them.
      
      this reverses commit 5e396fb9 and a
      removes a similar hack that was added to syscall_cp.s in the later
      commit 756c8af8. it turns out one
      additional instance of the same idiom, the GETFUNCSYM macro in
      arch/mips/reloc.h, was still affected by the assembler bug and does
      not admit an easy workaround without making assumptions about how the
      macro is used. the previous workarounds made static linking work but
      left the early-stage dynamic linker broken and thus had limited
      usefulness.
      
      instead, affected users (using binutils versions older than 2.20) will
      need to fix the bug on the binutils side; the trivial patch is commit
      453f5985b13e35161984bf1bf657bbab11515aa4 in the binutils-gdb
      repository.
      869a9df5
  16. 01 2月, 2016 1 次提交
    • S
      better a_sc inline asm constraint on aarch64 and arm · 3b277253
      Szabolcs Nagy 提交于
      "Q" input constraint was used for the written object, instead of "=Q"
      output constraint.  this should not cause problems because "memory"
      is on the clobber list, but "=Q" better documents the intent and more
      consistent with the actual asm code.
      
      this changes the generated code, because different registers are used,
      but other than the register names nothing should change.
      3b277253
  17. 31 1月, 2016 1 次提交
  18. 28 1月, 2016 2 次提交
    • R
      deduplicate the bulk of the arch bits headers · 4dfac115
      Rich Felker 提交于
      all bits headers that were identical for a number of 'clean' archs are
      moved to the new arch/generic tree. in addition, a few headers that
      differed only cosmetically from the new generic version are removed.
      
      additional deduplication may be possible in mman.h and in several
      headers (limits.h, posix.h, stdint.h) that mostly depend on whether
      the arch is 32- or 64-bit, but they are left alone for now because
      greater gains are likely possible with more invasive changes to header
      logic, which is beyond the scope of this commit.
      4dfac115
    • H
      mips: add vdso support · b0bf52f3
      Hauke Mehrtens 提交于
      vdso support is available on mips starting with kernel 4.4, see kernel
      commit a7f4df4e21 "MIPS: VDSO: Add implementations of gettimeofday()
      and clock_gettime()" for details.
      
      In Linux kernel 4.4.0 the mips code returns -ENOSYS in case it can not
      handle the vdso call and assumes the libc will call the original
      syscall in this case. Handle this case in musl. Currently Linux kernel
      4.4.0 handles the following types: CLOCK_REALTIME_COARSE,
      CLOCK_MONOTONIC_COARSE, CLOCK_REALTIME and CLOCK_MONOTONIC.
      b0bf52f3
  19. 27 1月, 2016 3 次提交
    • S
      fix siginfo_t for mips · 9a3b8f97
      Szabolcs Nagy 提交于
      si_errno and si_code are swapped in mips siginfo_t compared to other
      archs and some si_code values are different.  This fix is required
      for POSIX timers to work.
      
      based on patch by Dmitry Ivanov.
      9a3b8f97
    • S
      add MCL_ONFAULT and MLOCK_ONFAULT mlockall and mlock2 flags · 789ff6a9
      Szabolcs Nagy 提交于
      they lock faulted pages into memory (useful when a small part of a
      large mapped file needs efficient access), new in linux v4.4, commit
      b0f205c2a3082dd9081f9a94e50658c5fa906ff1
      
      MLOCK_* is not in the POSIX reserved namespace for sys/mman.h
      789ff6a9
    • S
      add mlock2 syscall number from linux v4.4 · 51d5f139
      Szabolcs Nagy 提交于
      this is mlock with a flags argument, new in linux commit
      a8ca5d0ecbdde5cc3d7accacbd69968b0c98764e
      
      as usual microblaze and sh don't have allocated syscall number yet.
      51d5f139