summaryrefslogtreecommitdiff
path: root/lib/libc/arm
Commit message (Collapse)AuthorAgeFilesLines
* Copy releng/7.4 to release/7.4.0 for 7.4-RELEASE.release/7.4.0_cvsKen Smith2011-02-1647-47/+47
| | | | | | Approved by: re (implicit) This commit was manufactured to restore the state of the 7.4-RELEASE image.
* - MFC r194583:Stanislav Sedov2009-08-151-5/+9
| | | | | | | | | Fix strncmp on arm. Return 0 as result without performing the main cycle only if the len passed is equal to 0. If end address overflows use last possible address as the end address. Notes: svn path=/stable/7/; revision=196249
* Fix remaining syntax errors (missing semicolons)Peter Wemm2007-07-051-2/+2
| | | | | | | | Submitted by: Björn König <bkoenig@cs.tu-berlin.de> Approved by: re (kensmith, followup commits) Notes: svn path=/head/; revision=171261
* Add missing \ characters in PSEUDO() macro on arm. Oops.Peter Wemm2007-07-041-2/+2
| | | | | | | | Submitted by: cognet Approved by: re (kensmith) Notes: svn path=/head/; revision=171222
* Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudoPeter Wemm2007-07-041-3/+6
| | | | | | | | | | | | | syscalls, unless WITHOUT_SYSCALL_COMPAT is defined. The default case will have the .c wrappers still. If you define WITHOUT_SYSCALL_COMPAT, the .c wrappers will go away and libc will make direct syscalls. After 7-stable starts, the direct syscall method will be default. Approved by: re (kensmith) Notes: svn path=/head/; revision=171218
* Adjust the syscall stub macros to be consistent in their meaning. InPeter Wemm2007-07-041-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | particular: SYSCALL() makes a syscall, with errno handling, and continues execution directly after the macro in the non-error case. RSYSCALL() is just like SYSCALL(), but returns after success. Both SYSCALL(name) and RSYSCALL(name) export "__sys_name" as a strong symbol, with "_name" and "name" as weak aliases. PSEUDO() is just like RSYSCALL(), but skipping the "name" weak alias. It still does "__sys_name" and "_name". Change i386 to add errno handling to PSEUDO. The same for amd64 and sparc64, with appear to have copied the behavior. ia64 was correct (as was alpha). Just remove some apparently unused variants of the macros. (untested!) I believe powerpc is correct. Fix arm to not export "name" from the PSEUDO case. Remove apparently extra unused variants. (untested!) The errno problem manifested on i386/amd64/sparc64 by having "PSEUDO" classified syscalls return without setting errno. eg: "addr = mmap()" could return with "addr" = 22 instead of setting errno to 22 and returning -1. Approved by: re (kensmith) Notes: svn path=/head/; revision=171217
* Fix sbrk.S to use _end symbol the same way brk.s was fixed some timeAlexander Kabaev2007-06-271-2/+2
| | | | | | | | | | ago. sbrk.S should have gotten the same change then but was forgotten. Approved by: re (bmah) PR: kern/114049 Notes: svn path=/head/; revision=171061
* Some libc symbol map cleanups.Daniel Eischen2007-05-311-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | net: endhostdnsent is named _endhostdnsent and is private to netdb family of functions. posix1e: acl_size.c has been never compiled in, so there's no "acl_size". rpc: "getnetid" is a static function. stdtime: "gtime" is #ifdef'ed out in the source. some symbols are specific only to some architectures, e.g., ___tls_get_addr is only defined on i386. __htonl, __htons, __ntohl and __ntohs are no longer functions, they are now (internal) defines in <machine/endian.h>. Submitted by: ru Notes: svn path=/head/; revision=170154
* Use __mcount() instead of _mcount() to reduce diffs with NetBSD.Olivier Houchard2007-05-191-1/+1
| | | | Notes: svn path=/head/; revision=169768
* Use built-in _end symbol insteadof 'end' for consistency with otherAlexander Kabaev2007-05-191-2/+2
| | | | | | | architectures. Linker defines end is synonym for _end. Notes: svn path=/head/; revision=169722
* Do not declare float_detect_tininess as external if it will be re-delaredAlexander Kabaev2007-05-191-0/+2
| | | | | | | as static later. Notes: svn path=/head/; revision=169721
* Do not export 'end' symbol. It is not meant to be visible to outsideAlexander Kabaev2007-05-161-1/+1
| | | | | | | | world and it wreak havoc if libc collides with other versioned libraries. Notes: svn path=/head/; revision=169593
* Remove .mcount from gmon's Symbol map and add it to the appropriateDaniel Eischen2007-05-131-1/+24
| | | | | | | | | | arch. It can be named differently depending on the arch (.mcount, _mcount). Submitted by: marius Notes: svn path=/head/; revision=169525
* Use C comments since we now preprocess these files with CPP.Daniel Eischen2007-04-291-11/+13
| | | | Notes: svn path=/head/; revision=169092
* The distinction between quiet and signaling NaN formats isDavid Schultz2007-01-031-0/+23
| | | | | | | | machine-dependent; these files tell the latest version of gdtoa what to do. Notes: svn path=/head/; revision=165747
* Cleanup: we always have to use __error() now, and we shouldn't provide aOlivier Houchard2006-11-092-58/+1
| | | | | | | | | errno symbol, so completely remove the !_REENTRANT case. Spotted out by: ru Notes: svn path=/head/; revision=164109
* Remove a forgotten file.Ruslan Ermilov2006-11-081-4/+0
| | | | Notes: svn path=/head/; revision=164103
* Instead of re-implementing hton[ls] and friends for each arch, add a new MIOlivier Houchard2006-11-064-198/+0
| | | | | | | | | | file, net/ntoh.c, which just implement them using the inline functions from <sys/endian.h>. Suggested by: bde Notes: svn path=/head/; revision=164053
* Provide definitions suitable for arm big-endian.Olivier Houchard2006-11-061-0/+5
| | | | Notes: svn path=/head/; revision=164051
* If __ARMEB__ is defined, we're already using the network byte order, soOlivier Houchard2006-08-214-0/+8
| | | | | | | | | | there's no need to to anything in the hton* functions, beside returning the parameter. Spotted out by: Oleksandr Tymoshenko <gonzo@freebsd.org> Notes: svn path=/head/; revision=161509
* GC old a.out and K&R support.Warner Losh2006-05-231-9/+0
| | | | Notes: svn path=/head/; revision=158846
* Add each directory's symbol map file to SYM_MAPS.Daniel Eischen2006-03-131-0/+1
| | | | Notes: svn path=/head/; revision=156613
* Add symbol maps and initial symbol version definitions to libc.Daniel Eischen2006-03-131-0/+66
| | | | | | | Reviewed by: davidxu Notes: svn path=/head/; revision=156608
* Fix a long line in copyright notice.Olivier Houchard2005-10-031-1/+2
| | | | | | | Pointed out by: Gavin Atkinson gavin.atkinson ury york ac uk Notes: svn path=/head/; revision=150877
* Add an asm version of strlen() for arm (how useful).Olivier Houchard2005-10-032-1/+78
| | | | Notes: svn path=/head/; revision=150875
* Use the correct values for softfloat, in both the little endian and the bigOlivier Houchard2005-03-202-8/+13
| | | | | | | endian cases. Notes: svn path=/head/; revision=143858
* Define LDBL_NBIT to be a mask indicating the position of the integerDavid Schultz2005-03-071-1/+2
| | | | | | | | | | | bit in a long double. For architectures that don't have such a bit, LDBL_NBIT is 0. This makes it possible to say `mantissa & ~LDBL_NBIT' in places that previously used an #ifdef to select the right expression. The optimizer should dispense with the extra arithmetic when LDBL_NBIT is 0. Notes: svn path=/head/; revision=143214
* Update my email address.David Schultz2005-02-061-1/+1
| | | | Notes: svn path=/head/; revision=141379
* Replace the ldexp() implementation in libc with a renamed copy of theDavid Schultz2005-01-221-155/+0
| | | | | | | | | | | | | | | | | | | scalbn() implementation from libm. (The two functions are defined to be identical, but ldexp() lives in libc for backwards compatibility.) The old ldexp() implementation... - was more complicated than this one - set errno instead of raising FP exceptions - got some corner cases wrong (e.g. ldexp(1.0, 2000) in round-to-zero mode) The new implementation lives in libc/gen instead of libc/$MACHINE_ARCH/gen, since we don't need N copies of a machine-independent file. The amd64 and i386 platforms retain their fast and correct MD implementations and override this one. Notes: svn path=/head/; revision=140607
* Eliminate gdtoa.mk and move its contents to ${MACHINE_ARCH}/Makefile.inc.David Schultz2005-01-152-5/+4
| | | | | | | | The purpose of having a separate file involved an abandoned scheme that would have kept contrib/gdtoa out of the include path for the rest of libc. Notes: svn path=/head/; revision=140279
* Use the RET macro.Olivier Houchard2004-11-0917-52/+52
| | | | | | | | For setjmp() and longjmp(), put the signal mask where it's supposed to be, instead of in the space reserved for fp regs. Notes: svn path=/head/; revision=137464
* Add a week alias __siglongjmp => siglongjmp.Olivier Houchard2004-11-091-0/+1
| | | | Notes: svn path=/head/; revision=137461
* MFKernel: Implement ffs with clz on Xscale.Olivier Houchard2004-11-071-0/+6
| | | | Notes: svn path=/head/; revision=137343
* Don't define SOFTFLOAT directly in source files, it's now done in the Makefile.Olivier Houchard2004-11-052-2/+1
| | | | Notes: svn path=/head/; revision=137287
* Fix signalcontext and makecontext.Olivier Houchard2004-11-053-14/+17
| | | | Notes: svn path=/head/; revision=137286
* Remove getcontext.S, it is not needed.Olivier Houchard2004-11-052-64/+1
| | | | Notes: svn path=/head/; revision=137285
* Import a Makefile for arm.Olivier Houchard2004-11-051-0/+8
| | | | Notes: svn path=/head/; revision=137284
* Make setjmp()/longjmp() use sigprocmask.Olivier Houchard2004-09-231-9/+9
| | | | Notes: svn path=/head/; revision=135685
* Add a dummy set_tp().Olivier Houchard2004-09-232-1/+36
| | | | Notes: svn path=/head/; revision=135684
* Always use bx for returning on Xscale.Olivier Houchard2004-09-231-76/+76
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=135683
* Fix the align-to-32-bits code.Olivier Houchard2004-09-231-2/+2
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=135682
* Replace seven nominally MD implementations of frexp() that are brokenDavid Schultz2004-07-182-68/+1
| | | | | | | for subnormals with one implementation that works. Notes: svn path=/head/; revision=132366
* Implement the classification macros isfinite(), isinf(), isnan(), andDavid Schultz2004-07-092-71/+1
| | | | | | | | | | | | | | | | | | | | | | | | isnormal() the hard way, rather than relying on fpclassify(). This is a lose in the sense that we need a total of 12 functions, but it is necessary for binary compatibility because we have never bumped libm's major version number. In particular, isinf(), isnan(), and isnanf() were BSD libc functions before they were C99 macros, so we can't reimplement them in terms of fpclassify() without adding a dependency on libc.so.5. I have tried to arrange things so that programs that could be compiled in FreeBSD 4.X will generate the same external references when compiled in 5.X. At the same time, the new macros should remain C99-compliant. The isinf() and isnan() functions remain in libc for historical reasons; however, I have moved the functions that implement the macros isfinite() and isnormal() to libm where they belong. Moreover, half a dozen MD versions of isinf() and isnan() have been replaced with MI versions that work equally well. Prodded by: kris Notes: svn path=/head/; revision=131852
* Import the FreeBSD/arm libc bits.Olivier Houchard2004-05-1452-0/+6225
Obtained from: NetBSD Notes: svn path=/head/; revision=129202