summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Retire hp300, mvme68k and mvme88k ports. These ports have no users, keepingmiod2014-03-18100-4130/+0
| | | | | | | this hardware alive is becoming increasingly difficult, and I should heed the message sent by the three disks which have died on me over the last few days. Noone sane will mourn these ports anyway. So long, and thanks for the fish.
* match what hppa is doing now (not tested, but should be right)deraadt2014-01-101-5/+1
| | | | ok miod jsing
* correct argument handling; this has been broken since to beginningderaadt2014-01-101-3/+2
| | | | | and was writing to wrong memory. ok jsing miod guenther
* Remove #ifdef _REENTRANT code that isn't used here. These days, the codekettenis2013-12-312-33/+2
| | | | | | handling per-thread errno lives in librthread. ok miod@, espie@
* yup, we do ELFderaadt2013-12-241-6/+1
|
* 1 << 31 cleanup. Eitan Adler pointed out that there has been aderaadt2013-11-262-8/+8
| | | | | resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
* bring in math.h to provide prototypesderaadt2013-11-133-3/+6
|
* add proto for amd64 case; unify otherwisederaadt2013-11-122-3/+5
|
* Remove the `let's zero %r2 if %r3 is nonzero' dance. It's been more than 10miod2013-09-081-10/+2
| | | | | years that fork() returns through child_return(), which takes care of zeroing %r2.
* VAX ELF userland bits. Consists mostly of register prefix additions.miod2013-07-0535-338/+354
|
* bcopy (and family) can check for 0 length, but negative lengths shouldderaadt2013-06-111-3/+3
| | | | | proceed through to crash and show the bug. ok miod
* On second thought, do not use a tcnd instruction to test for divide-by-zero,miod2013-06-054-9/+17
| | | | | as it forces a pipeline synchronization; replace it with a bcnd + unconditional trap, to only synchronize when the trap is needed.
* ...also add __modsi3 and __umodsi3, and make these symbols weak by default.miod2013-06-055-4/+112
|
* Add __divsi3 and __udivsi3 gcc-compatible routines. Not used by anything yetmiod2013-06-053-6/+93
| | | | | (as gcc does not emit code calling them), but will be shortly; belatedly riding the libc minor bump.
* Do a PC-relative relocation for _map rather than going throughmartynas2013-04-231-2/+2
| | | | | | | | | GOTPCREL. Uncovered after the binutils patch where it isn't optimized away at assembly and is forced to go through GOTPCREL. But _map is effectively a local variable. Found with cephes by guenther@. OK guenther@, kettenis@, deraadt@.
* Fix obviously stupid bug in the PIC_{LOAD,STORE} macros when compiling withmiod2013-04-111-3/+3
| | | | -fPIC. Harmless since we build libc -fpic so far.
* Switch libc and libm to use strong aliases rather than weak aliasesmartynas2013-03-2816-93/+38
| | | | | | | | | | | where appropriate. Among other things makes the symbols consistent across all architectures (notably where ldbl mantissa is 53 bits). While at it, kill unused LINTLIBRARY/PROTOLIB1 cruft which was there to trick lint into recording the right prototypes for aliased functions. Most of the work done at the awesome n2k13 hackathon. Agreed by kettenis@, guenther@, matthew@.
* Userland bits for m68k/ELF. Mostly addition of register prefixes to themiod2013-02-0278-610/+637
| | | | | assembler instructions, and cope with the few changes in return values location.
* Oops, due to the way return from system calls work, we can not use a delaymiod2013-01-242-6/+16
| | | | | | slot in the branch to cerror, for the delay slot instruction would also run as part of a successful return. Doh. Fortunately almost nothing in the tree uses brk() or sbrk() anymore... but binaries linked against libiberty.
* The kernel sources mention that the system call entry point is trap #450; themiod2013-01-239-19/+19
| | | | | fact that #128 and #129 may also be used for this purpose was never documented, so there is no reason to have libc use #128. Switch to #450 for consistency.
* Fix PIC_LOAD and PIC_STORE macros to really access the variable, instead ofmiod2013-01-201-5/+7
| | | | the GOT pointer. Oops.
* PIC-related code should follow the #ifdef __PIC__ line, not the #else line.miod2013-01-203-14/+14
| | | | Doh!
* Remove machine-dependent glue for strtorQ, since hppa64 quad-precisionmartynas2013-01-132-47/+2
| | | | support has been removed from our compiler a year ago.
* Add END() directives to the various functions.miod2013-01-1120-31/+142
| | | | | | Make the code PIC-aware when necessary (i.e. invoke other functions through the PLT, and access global data through the GOT). No change for non-PIC compilation.
* Add a bunch of macros to help writing PIC code for libc .S routines. Handlesmiod2013-01-111-10/+42
| | | | both -fpic and -fPIC.
* fix __cerror non-weak symbol namemiod2013-01-081-2/+2
|
* Switch m88k ports to ELF.miod2013-01-0528-319/+319
|
* Actually invoke the system call in libc's sigreturn() wrapper; went unnoticedmiod2012-12-261-4/+3
| | | | for 15 years or so (sigcode, of course, was correct).
* Make sure the stack is 16-byte aligned otherwise the use of certain SSEkettenis2012-12-221-1/+4
| | | | | | instructions will fail. ok guenther@
* Remove excessive sys/cdefs.h inclusionderaadt2012-12-0525-46/+29
| | | | ok guenther millert kettenis
* Add two missing quad-precision emulation functions: _Qp_cmp and _Qp_cmpe. Atkettenis2012-12-031-9/+12
| | | | least the former is emitted by modern versions of GCC.
* Adapt ieee.h, gdtoa and libc to the fact that we don't have 80-bitmartynas2012-09-159-239/+3
| | | | floats on m88k. Agreed by miod@.
* Add support for -fPICderaadt2012-09-045-8/+61
| | | | ok kettenis
* remove lint leftovers; ok guenther@okan2012-09-0416-41/+16
|
* these are no longer used; ok guentherderaadt2012-09-048-366/+0
|
* Make this __STDC__ aware.miod2012-09-011-1/+8
|
* Fix missing PIC -> __PIC__ conversions; ok pascalderaadt2012-08-224-10/+10
|
* Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure ccpascal2012-08-2263-149/+149
| | | | | | | invocations. This allows us to use the compiler builtin define __PIC__ to check for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot. ok matthew@, conceptually ok kurt@
* Fix almost ten-years old bug in siglongjmp(), which would not restore a signalmiod2012-08-123-87/+57
| | | | | | | | | | | | | mask of zero (because of flawed logic assuming finding zero in the sigjmp_buf signal mask means sigsetjmp was invoked with a zero `savemask' argument). While there, clean comments of all *{set,long}jmp routines, and shave a few instructions by using bcnd insead of cmp + bb to test for zero values. Passes the regress tests, and now devel/libsigsegv configure siglongjmp test will not spin (this test is however flawed as it expects a signal handler declared as running on the sigaltstack and `returning' through siglongjmp to be invoked on the signal stack the next time the signal is raised).
* adapt the NetBSD code to make sigpending work on shjsg2012-07-031-2/+6
| | | | ok miod@ kettenis@
* The kernel returns the pending set; this stub has to save it throughguenther2012-07-011-4/+8
| | | | | | the pointer ok miod@ kettenis@
* make this actually workkettenis2012-07-011-23/+21
| | | | ok miod@
* Do not use <machine/float.h>, that is an deformed BSD-ism.deraadt2012-06-259-18/+18
| | | | | It turns out <float.h> is the right file to pull in. ok millert
* __tfork() needs to set the stack address of the new thread in the kernel,guenther2012-06-2114-125/+72
| | | | | | | | | so that it can't get a signal while still running on the parent thread's stack. Also, pass in sizeof(struct __tfork) to provide forward compat when more members are added. This is an ABI change, so switch syscall numbers and bump lib majors this time. ok deraadt@ matthew@
* rely on the compiler giving us a built-in alloca. any new architecturederaadt2012-04-1911-219/+14
| | | | | or compiler we use will. ok millert
* alloca.c cannot be usedderaadt2012-04-1213-34/+12
|
* remove rfork(); ok guenther miodderaadt2012-04-1215-556/+0
|
* Mark outermost frame such that backtraces in thread terminate atkettenis2012-04-111-2/+3
| | | | | | __tfork_thread(). ok guenther@
* Provide __tfork_thread() for hppa64. This makes libc compile again.jsing2012-04-111-0/+57
| | | | ok miod@
* Move __tfork_thread() from rthreads (libpthread) to libc so thatguenther2012-03-2213-0/+921
| | | | | | it can be used for not-strictly-threading purposes ok matthew@ kurt@