Searched hist:37 (Results 276 - 300 of 673) sorted by relevance
/seL4-refos-master/libs/libmuslc/arch/mips/ | ||
H A D | atomic_arch.h | diff 6d99ad91 Sun Apr 03 04:42:37 MDT 2016 Rich Felker <dalias@aerifal.cx> add support for mips and mips64 r6 isa 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. |
/seL4-refos-master/libs/libmuslc/arch/mips64/ | ||
H A D | atomic_arch.h | diff 6d99ad91 Sun Apr 03 04:42:37 MDT 2016 Rich Felker <dalias@aerifal.cx> add support for mips and mips64 r6 isa 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. |
/seL4-refos-master/libs/libmuslc/arch/or1k/ | ||
H A D | syscall_arch.h | diff 4f449374 Wed Jul 30 21:25:37 MDT 2014 Rich Felker <dalias@aerifal.cx> fix broken offset argument to the mmap2 syscall on or1k for or1k, the kernel expects the offset passed to mmap2 in units of the 8k page size, not the standard unit of 4k used on most other archs. |
/seL4-refos-master/libs/libmuslc/arch/x86_64/bits/ | ||
H A D | float.h | diff 559de8f5 Sat Mar 07 03:00:37 MST 2015 Szabolcs Nagy <nsz@port70.net> fix FLT_ROUNDS to reflect the current rounding mode Implemented as a wrapper around fegetround introducing a new function to the ABI: __flt_rounds. (fegetround cannot be used directly from float.h) |
H A D | user.h | diff 4758f056 Sun Feb 01 02:43:37 MST 2015 Felix Janda <felix.janda@posteo.de> fix typo in x86_64/x32 user_fpregs_struct mxcs_mask should be mxcr_mask |
/seL4-refos-master/libs/libmuslc/arch/x86_64_sel4/bits/ | ||
H A D | float.h | diff 559de8f5 Sat Mar 07 03:00:37 MST 2015 Szabolcs Nagy <nsz@port70.net> fix FLT_ROUNDS to reflect the current rounding mode Implemented as a wrapper around fegetround introducing a new function to the ABI: __flt_rounds. (fegetround cannot be used directly from float.h) |
H A D | user.h | diff 4758f056 Sun Feb 01 02:43:37 MST 2015 Felix Janda <felix.janda@posteo.de> fix typo in x86_64/x32 user_fpregs_struct mxcs_mask should be mxcr_mask |
/seL4-refos-master/libs/libmuslc/include/ | ||
H A D | search.h | diff fe1ba7db Tue Mar 25 10:37:51 MDT 2014 sin <sin@2f30.org> implement hcreate_r, hdestroy_r and hsearch_r the size and alignment of struct hsearch_data are matched to the glibc definition for binary compatibility. the members of the structure do not match, which should not be a problem as long as applications correctly treat the structure as opaque. unlike the glibc implementation, this version of hcreate_r does not require the caller to zero-fill the structure before use. |
/seL4-refos-master/libs/libmuslc/include/sys/ | ||
H A D | epoll.h | diff b10ca0f5 Sat Mar 19 06:37:03 MDT 2016 Szabolcs Nagy <nsz@port70.net> add EPOLLEXCLUSIVE epoll flag from linux v4.5 new flag for exclusive wakeup mode when an event source fd is attached to multiple epoll fds but they should not all receive the events. new in linux commit df0108c5da561c66c333bb46bfe3c1fc65905898 |
H A D | prctl.h | diff 11ac2a6e Mon Dec 15 18:37:33 MST 2014 Szabolcs Nagy <nsz@port70.net> add new prctl command PR_SET_MM_MAP to sys/prctl.h PR_SET_MM_MAP was introduced as a subcommand for PR_SET_MM in linux v3.18 commit f606b77f1a9e362451aca8f81d8f36a3a112139e the associated struct type is replicated in sys/prctl.h using libc types. example usage: struct prctl_mm_map *p; ... prctl(PR_SET_MM, PR_SET_MM_MAP, p, sizeof *p); the kernel side supported struct size may be queried with the PR_SET_MM_MAP_SIZE subcommand. |
/seL4-refos-master/libs/libmuslc/src/fenv/x86_64/ | ||
H A D | fenv.s | 773b0fe4 Mon Jun 13 11:37:43 MDT 2011 Rich Felker <dalias@aerifal.cx> x86_64 fenv support (untested; at least known to build successfully) |
/seL4-refos-master/libs/libmuslc/src/fenv/x86_64_sel4/ | ||
H A D | fenv.s | 773b0fe4 Mon Jun 13 11:37:43 MDT 2011 Rich Felker <dalias@aerifal.cx> x86_64 fenv support (untested; at least known to build successfully) |
/seL4-refos-master/libs/libmuslc/src/math/ | ||
H A D | __rem_pio2l.c | diff 0ce946cf Tue Oct 28 17:34:37 MDT 2014 Szabolcs Nagy <nsz@port70.net> math: use the rounding idiom consistently the idiomatic rounding of x is n = x + toint - toint; where toint is either 1/EPSILON (x is non-negative) or 1.5/EPSILON (x may be negative and nearest rounding mode is assumed) and EPSILON is according to the evaluation precision (the type of toint is not very important, because single precision float can represent the 1/EPSILON of ieee binary128). in case of FLT_EVAL_METHOD!=0 this avoids a useless store to double or float precision, and the long double code became cleaner with 1/LDBL_EPSILON instead of ifdefs for toint. __rem_pio2f and __rem_pio2 functions slightly changed semantics: on i386 a double-rounding is avoided so close to half-way cases may get evaluated differently eg. as sin(pi/4-eps) instead of cos(pi/4+eps) |
H A D | ceil.c | diff 0ce946cf Tue Oct 28 17:34:37 MDT 2014 Szabolcs Nagy <nsz@port70.net> math: use the rounding idiom consistently the idiomatic rounding of x is n = x + toint - toint; where toint is either 1/EPSILON (x is non-negative) or 1.5/EPSILON (x may be negative and nearest rounding mode is assumed) and EPSILON is according to the evaluation precision (the type of toint is not very important, because single precision float can represent the 1/EPSILON of ieee binary128). in case of FLT_EVAL_METHOD!=0 this avoids a useless store to double or float precision, and the long double code became cleaner with 1/LDBL_EPSILON instead of ifdefs for toint. __rem_pio2f and __rem_pio2 functions slightly changed semantics: on i386 a double-rounding is avoided so close to half-way cases may get evaluated differently eg. as sin(pi/4-eps) instead of cos(pi/4+eps) |
H A D | ceill.c | diff 0ce946cf Tue Oct 28 17:34:37 MDT 2014 Szabolcs Nagy <nsz@port70.net> math: use the rounding idiom consistently the idiomatic rounding of x is n = x + toint - toint; where toint is either 1/EPSILON (x is non-negative) or 1.5/EPSILON (x may be negative and nearest rounding mode is assumed) and EPSILON is according to the evaluation precision (the type of toint is not very important, because single precision float can represent the 1/EPSILON of ieee binary128). in case of FLT_EVAL_METHOD!=0 this avoids a useless store to double or float precision, and the long double code became cleaner with 1/LDBL_EPSILON instead of ifdefs for toint. __rem_pio2f and __rem_pio2 functions slightly changed semantics: on i386 a double-rounding is avoided so close to half-way cases may get evaluated differently eg. as sin(pi/4-eps) instead of cos(pi/4+eps) |
H A D | floor.c | diff 0ce946cf Tue Oct 28 17:34:37 MDT 2014 Szabolcs Nagy <nsz@port70.net> math: use the rounding idiom consistently the idiomatic rounding of x is n = x + toint - toint; where toint is either 1/EPSILON (x is non-negative) or 1.5/EPSILON (x may be negative and nearest rounding mode is assumed) and EPSILON is according to the evaluation precision (the type of toint is not very important, because single precision float can represent the 1/EPSILON of ieee binary128). in case of FLT_EVAL_METHOD!=0 this avoids a useless store to double or float precision, and the long double code became cleaner with 1/LDBL_EPSILON instead of ifdefs for toint. __rem_pio2f and __rem_pio2 functions slightly changed semantics: on i386 a double-rounding is avoided so close to half-way cases may get evaluated differently eg. as sin(pi/4-eps) instead of cos(pi/4+eps) |
H A D | floorl.c | diff 0ce946cf Tue Oct 28 17:34:37 MDT 2014 Szabolcs Nagy <nsz@port70.net> math: use the rounding idiom consistently the idiomatic rounding of x is n = x + toint - toint; where toint is either 1/EPSILON (x is non-negative) or 1.5/EPSILON (x may be negative and nearest rounding mode is assumed) and EPSILON is according to the evaluation precision (the type of toint is not very important, because single precision float can represent the 1/EPSILON of ieee binary128). in case of FLT_EVAL_METHOD!=0 this avoids a useless store to double or float precision, and the long double code became cleaner with 1/LDBL_EPSILON instead of ifdefs for toint. __rem_pio2f and __rem_pio2 functions slightly changed semantics: on i386 a double-rounding is avoided so close to half-way cases may get evaluated differently eg. as sin(pi/4-eps) instead of cos(pi/4+eps) |
H A D | hypotf.c | diff c2a0dfea Tue Sep 03 08:37:48 MDT 2013 Szabolcs Nagy <nsz@port70.net> math: rewrite hypot method: if there is a large difference between the scale of x and y then the larger magnitude dominates, otherwise reduce x,y so the argument of sqrt (x*x+y*y) does not overflow or underflow and calculate the argument precisely using exact multiplication. If the argument has less error than 1/sqrt(2) ~ 0.7 ulp, then the result has less error than 1 ulp in nearest rounding mode. the original fdlibm method was the same, except it used bit hacks instead of dekker-veltkamp algorithm, which is problematic for long double where different representations are supported. (the new hypot and hypotl code should be smaller and faster on 32bit cpu archs with fast fpu), the new code behaves differently in non-nearest rounding, but the error should be still less than 2ulps. ld80 and ld128 are supported |
H A D | truncl.c | diff 0ce946cf Tue Oct 28 17:34:37 MDT 2014 Szabolcs Nagy <nsz@port70.net> math: use the rounding idiom consistently the idiomatic rounding of x is n = x + toint - toint; where toint is either 1/EPSILON (x is non-negative) or 1.5/EPSILON (x may be negative and nearest rounding mode is assumed) and EPSILON is according to the evaluation precision (the type of toint is not very important, because single precision float can represent the 1/EPSILON of ieee binary128). in case of FLT_EVAL_METHOD!=0 this avoids a useless store to double or float precision, and the long double code became cleaner with 1/LDBL_EPSILON instead of ifdefs for toint. __rem_pio2f and __rem_pio2 functions slightly changed semantics: on i386 a double-rounding is avoided so close to half-way cases may get evaluated differently eg. as sin(pi/4-eps) instead of cos(pi/4+eps) |
/seL4-refos-master/libs/libmuslc/src/network/ | ||
H A D | sendmsg.c | diff 96107564 Thu Jul 12 19:37:54 MDT 2012 Rich Felker <dalias@aerifal.cx> workaround another sendmsg kernel bug on 64-bit machines the kernel wrongly expects the cmsg length field to be size_t instead of socklen_t. in order to work around the issue, we have to impose a length limit and copy to a local buffer. the length limit should be more than sufficient for any real-world use; these headers are only used for passing file descriptors and permissions between processes over unix sockets. |
/seL4-refos-master/libs/libmuslc/src/signal/x86_64/ | ||
H A D | restore.s | diff 54991729 Sat Nov 12 17:43:37 MST 2016 Rich Felker <dalias@aerifal.cx> work around gdb issues recognizing sigreturn trampoline on x86_64 gdb can only backtrace/unwind across signal handlers if it recognizes the sa_restorer trampoline. for x86_64, gdb first attempts to determine the symbol name for the function in which the program counter resides and match it against "__restore_rt". if no name can be found (e.g. in the case of a stripped binary), the exact instruction sequence is matched instead. when matching the function name, however, gdb's unwind code wrongly considers the interval [sym,sym+size] rather than [sym,sym+size). thus, if __restore_rt begins immediately after another function, gdb wrongly identifies pc as lying within the previous adjacent function. this patch adds a nop before __restore_rt to preclude that possibility. it also removes the symbol name __restore and replaces it with a macro since the stability of whether gdb identifies the function as __restore_rt or __restore is not clear. for the no-symbols case, the instruction sequence is changed to use %rax rather than %eax to match what gdb expects. based on patch by Szabolcs Nagy, with extended description and corresponding x32 changes added. |
/seL4-refos-master/libs/libmuslc/src/stat/ | ||
H A D | mknod.c | diff 1a70198b Thu May 16 14:27:37 MDT 2013 Rich Felker <dalias@aerifal.cx> fix mknod and mknodat to accept large dev_t values support for these was recently added to sysmacros.h. note that the syscall argument is a long, despite dev_t being 64-bit, so on 32-bit archs the high bits will be lost. it appears the high bits are just glibc silliness and not part of the kernel api, anyway, but it's nice that we have them there for future expansion if needed. |
/seL4-refos-master/libs/libmuslc/src/thread/ | ||
H A D | clone.c | diff 3f72cdac Sun Sep 18 08:14:37 MDT 2011 Rich Felker <dalias@aerifal.cx> overhaul clone syscall wrapping several things are changed. first, i have removed the old __uniclone function signature and replaced it with the "standard" linux __clone/clone signature. this was necessary to expose clone to applications anyway, and it makes it easier to port __clone to new archs, since it's now testable independently of pthread_create. secondly, i have removed all references to the ugly ldt descriptor structure (i386 only) from the c code and pthread structure. in places where it is needed, it is now created on the stack just when it's needed, in assembly code. thus, the i386 __clone function takes the desired thread pointer as its argument, rather than an ldt descriptor pointer, just like on all other sane archs. this should not affect applications since there is really no way an application can use clone with threads/tls in a way that doesn't horribly conflict with and clobber the underlying implementation's use. applications are expected to use clone only for creating actual processes, possibly with new namespace features and whatnot. |
H A D | pthread_mutexattr_setpshared.c | 1d6b1f15 Tue Mar 08 00:33:37 MST 2011 Rich Felker <dalias@aerifal.cx> implement pthread_mutexattr_[gs]etpshared functions |
H A D | pthread_setcanceltype.c | diff a7778dae Sun Sep 04 19:37:07 MDT 2011 Rich Felker <dalias@aerifal.cx> handle pending cancellation when enabling async cancellation this is not strictly required by the standard, but without it, there is a race condition where cancellation arriving just before async cancellation is enabled might not be acted upon. it is impossible for a conforming application to work around this race condition since calling pthread_testcancel after setting async cancellation mode is not allowed (pthread_testcancel is not specified to be async-cancel-safe). thus the implementation should be responsible for eliminating the race, from a quality-of-implementation standpoint. |
Completed in 201 milliseconds