summaryrefslogtreecommitdiff
path: root/lib/libc/arch/mips
AgeCommit message (Collapse)Author
2022-12-03Trailing whitespaceskrll
2022-04-07s/psuedo/pseudo/andvar
2021-11-18Decorate the MIPS signal trampoline with the appropriate .cfithorpej
directives to allow exception unwind / backtrace across a signal handler.
2021-10-31Tidy up how __sigaction14_sigtramp.c is added to SRCS.thorpej
2021-10-26Merge all MD __sigaction14_sigtramp.c copies into one:christos
- sparc and sparc64 were not using version 0 sigcontext when there were no arguments in the signal version. This was probably a bug. - vax is using +1 the version numbers of the other archs. - Only hppa was defining __LIBC12_SOURCE__ so it was getting a working sigcontext before. all the other ports that supported sigcontext had the compat code disabled. [pointed out by thorpej, thanks!] If we want to remove sigcontext support from userland at least now there is less work to do so.
2021-04-25Use ${MACHINE_MIPS64}christos
2021-02-19Remove the incorrect register shuffle - we pass SYS___syscall as thesimonb
syscall number in v0 and pass all the original __syscall() args in their original slots/regs.
2021-02-06For mips n32/n64 explicitly save the GP reg on the stack, andsimonb
restore it _after_ the call to __errno(). Fixes sending the __errno() call off to nowhereland when this code is included in another library (eg __posix_cerror() in libposix). Failure picked up by the ATF lib/libposix/posix1/t_rename test.
2020-10-15Remove '_OFFSETOF' prefix for genassm(1) generate CPP identifers forskrll
consistency with other arches. NFCI and libc.so is the same before and after.
2020-10-15Trailing whitespaceskrll
2020-04-18Rename "syscall" to "_syscall" and provide "syscall" as a weak alias.thorpej
2018-11-07On ports without __HAVE_LONG_DOUBLE, make fabsl alias fabs.riastradh
For some reason, fabs lives in libc, not in libm, and our tests now detect when fabs or fabsl is missing from libm. For those ports that sometimes have long double and sometimes don't, make it conditional. Still missing: fabs _and_ fabsl on ia64. Need help from an itanium wizard! Other portmasters: Please take a look and see if I missed any ports that might have long double where this alias will not work.
2017-02-27fix asm operands: "ctc1" uses the register as an input, not an output.chs
2017-02-25Switch from __ABICALLS__ to __mips_abicalls like upstream GCC does injoerg
the generic MIPS target logic.
2017-02-07Mark exect(3) obsolete and bind it to plain execve(2) on all platformskamil
The original exect(2) from BSD4.2 was enabling bit for tracing (single-step mode) and calling execve(2). The purpose of it was to generate a signal for a tracer once the application will change its image to a new program. This approach no longer works as: - exect(2) traces (single-steps) libc and it requires hundreds or thousands steps before entering a new image - it's vax and x86 specific code - this functionality has been moved to the kernel - once a process is traced it will generate SIGTRAP with si_code TRAP_EXEC and route it to its debugger - the side effects and unportability make this interface unusable - there are no known users of this interface - it apparently never worked better since day0 of NetBSD ("day0 bug") Users are requested to move to other execve(2) variants. Calling current execve(2) as it is the most similar behavior to this one from BSD4.2. Discussed several times on mailing lists and in PR/51700. Add warning to exect(3) telling about marking this function obsolete. This function is prepared to be removed in next libc major bump. Sponsored by <The NetBSD Foundation>
2016-10-07Sync with compat and remove dup implementations of ldexp and modf, switchingchristos
mips and m68k to the compat copies.
2016-09-21Fix for [on]{32,64}skrll
/usr/tests/lib/libc/sys/t_getcontext /usr/tests/lib/libc/sys/t_swapcontext /usr/tests/lib/libc/sys/t_ucontext /usr/tests/lib/libpthread/t_swapcontext All pass now. Changes amount to - saving GP from caller in context for n{32,64} - performing (the equivalient of) PIC_PROLOGUE for swapcontext and __resumecontext - Call setcontext via the PLT in __resumecontext
2016-09-21Trailing whitespace.skrll
2016-08-13Add a NOP_Lskrll
2016-08-13PIC_TAILCALL on n32/n64 would mess up GP, so just use SYSTRAP to callskrll
setcontext. Fixes tests/lib/libc/sys/t_getcontext.c:setcontext_link
2016-08-12Provide _OFFSETOF_UC_GREGS_GP and use _OFFSETOF_UC_GREGS_* in getcontextskrll
2016-08-12Trailing whitespaceskrll
2016-08-10We need to save the GP of the caller in the context for n32/n64skrll
2016-08-10Fix commentsskrll
2016-01-24cache stuff needs _KERNTYPESchristos
2016-01-24Use namespace protected types.christos
2016-01-24assym.h needs _KERNTYPESchristos
2015-03-19Call libc's fpgetround.joerg
2014-09-17Explicitly set noat around instructions using $at.joerg
2014-09-17Use canonical three operand form of add.d.joerg
2014-01-31Since N32/N64 pass the first 8 arguments in registers, we can load allmatt
the arguments into those registers before invoking the syscall having the kernel syscall handler from having to do that.
2014-01-30Use fixunssfsi and fixunsdfsi from compiler-rt.joerg
2013-09-12Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is smalljoerg
vs big PIC mode. Retire -DPIC and -DBIGPIC.
2013-06-26Use t1 instead of v1matt
2012-09-12setcontext() used to be incompatible with -lpthread since it affectedmanu
the TLS pointer, therefore wrecking the pthread environement. Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha) that controlled whether setcontext() would change the TLS pointer. This change let libpthread override setcontext() with its own version that unsets _UC_TLSBASE, enabling safe usage of setcontext() with -lpthread. We also have the following required changes here: - rename alpha's _UC_UNIQUE into _UC_TLSBASE - add _UC_TLSBASE definition in header file for all ports (powerpc, sh3, sparc and sparc64 lack the implementation for now) - introduce a libc stub that can be overriden for setcontext() - modify MD libcs swapcontext() implementations so that they use the setcontext() libc stub instead of doing a plain system call. While we are there: - document various MD _UC_* flags in header file - add libc and libpthread tests for swapcontext() behavior (hopefully helpful to spot MD problems introduced with this change) Future work: - Deciding whether kernel support or _UC_TLSBASE should be added for powerpc, sh3, sparc and sparc64 is left to portmasters sparc64 Approved by core@
2012-07-08Slight optimization.matt
2012-06-24fix old style definitions; XXX: gcc should have picked them up but it did not.christos
2012-03-29nbytes is now size_tchristos
2012-03-29make constant explicitly unsignedchristos
2012-03-29fix lint, should nbytes be changed to size_t to match with the struct passed?christos
2012-03-20Revert unneeded casts.matt
2012-03-20Cast to unsigned int before doing shift operations, to appease lint.he
2012-03-19Convert to C89 definitions.matt
Cleanup up type usage.
2012-02-27Fix pasto.tsutsui
2012-02-27Make __cerror protected to restore ABI leak in older libc versions,joerg
where e.g. librt referenced the copy from libc. This still allows libc to use PC-relative jumps.
2011-09-20Explicitly add back __resumecontext wrapperjoerg
2011-09-19Mark _resumecontext as dead. ANSIfy all declarations for it.joerg
2011-07-09Don't build tf (long double) if building for O32.matt
2011-07-09Add ieee754 versions of the compiler runtime functionsmatt
__fixuns{sf,df,tf}{si,di}. Add an ieee754 version of the compiler runtime function __floatuntfdi
2011-07-07Don't define a new enum. Just #define round_* to their FP_Rx instead.matt