| History log of /src/lib/libc/arch/arm |
| Revision | Date | Author | Comments |
| 1.29 | 31-Oct-2021 |
thorpej | Tidy up how __sigaction14_sigtramp.c is added to SRCS.
|
| 1.28 | 20-Aug-2015 |
pooka | In rumprun mode on ARM, don't build syscall or signal code into libc. (like on x86)
|
| 1.27 | 29-Jan-2014 |
joerg | Include compiler-rt in libc, libm and libkern.
|
| 1.26 | 17-Jan-2014 |
joerg | Use generic version of fabs for softfloat.
|
| 1.25 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.24 | 21-Aug-2013 |
matt | If not earmv7, use -marm on all assembly files
|
| 1.23 | 18-Aug-2013 |
skrll | Revert previous.
|
| 1.22 | 18-Aug-2013 |
skrll | Only add in __aeabi_read_tp.S when building for earm.
|
| 1.21 | 30-Apr-2013 |
matt | Match against LIBC_MACHINE_ARCH for MKCOMPAT
|
| 1.20 | 03-Feb-2013 |
matt | Add support for earmhf and earmhfeb and add SRCS.hardfloat.
|
| 1.19 | 29-Jan-2013 |
matt | for earm*, add arm_initfini.c
|
| 1.18 | 26-Jan-2013 |
matt | When building for earm*, compile __aeabi_[df]cmpun.c and __aeabi_[il]div0.c
|
| 1.17 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.16 | 27-Sep-2012 |
skrll | Remove magic numbers.
|
| 1.15 | 06-Aug-2012 |
matt | branches: 1.15.2; Use the generic fixuns ieee754 instead of the ones from softfloat.
|
| 1.14 | 06-Aug-2012 |
matt | Don't need -I${.CURDIR}/arch/arm anymore
|
| 1.13 | 05-Aug-2012 |
matt | Only compile __aeabi_*ldivmod for earm/earmeb.
|
| 1.12 | 05-Aug-2012 |
matt | For ARM EABI, we need -DDSOFTFLOAT_NEED_FIXUNS too.
|
| 1.11 | 05-Aug-2012 |
matt | Add __aeabi_uldivmod (unsigned long long div/mod). Only use 32-bit softfloat if arm/armeb. earm/earmeb will use the 64-bit softfloat.
|
| 1.10 | 18-Nov-2011 |
joerg | branches: 1.10.4; Hook up TLS support on ARM. Tested by martin@, kernel support from matt@
|
| 1.9 | 06-Jul-2010 |
mrg | branches: 1.9.6; remove almost all the ability to build netbsd with an a.out target. we're ELF now, and there are many missing checks against OBJECT_FMT. if we ever consider switching, the we can figure out what new ones we need but for now it's just clutter.
this doesn't remove any of the support for exec_aout or any actually required-for-boot a.out support, only the ability to build a netbsd release in a.out format. ie, most of this code has been dead for over a decade.
i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari, amiga, shark, cats, dreamcast, landisk, mmeye and x68k. this covers the 5 MACHINE_ARCH's affected, and all the other arch code touched. it also includes some actual run-time testing of sparc, i386 and shark, and i performed binary comparison upon amiga and x68k as well.
some minor details relevant: - move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them down to only the parts ldconfig needs - remove various unused source files - switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
|
| 1.8 | 17-Jun-2006 |
uwe | G/c KMSRCS and KMINCLUDES now that we have common/lib/libc
|
| 1.7 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.6 | 05-Oct-2003 |
matt | Add SA_SIGINFO support for ARM.
|
| 1.5 | 10-Jul-2002 |
thorpej | Enable the libc-provided signal trampoline. The old __sigaction14 entry point has been replaced by the new __sigaction14() which is a wrapper around the __sigaction_sigtramp system call (which is itself not directly exposed outside of libc).
No shared library version change is necessary; no new symbols are exposed outside of libc.
|
| 1.4 | 21-May-2002 |
bjh21 | Import the 32-bit version of SoftFloat 2a and separate it and the 64-bit version into different directories. Which version a given port uses is controlled by the SOFTFLOAT_BITS make variable. This is set to 64 (which uses the same code we had before) by default. 32-bit platforms that don't need extended precision support might get better performance by using 32.
Set the ARM port to use the 32-bit version of SoftFloat, since this is more than a factor of two faster than the 64-bit version. This should get the floating-point performance back to what it was in 1.5.
|
| 1.3 | 08-Mar-2001 |
bjh21 | Re-instate __fixunssfsi() and __fixunsdfsi(), but only for arm32 with a.out binaries, because libc's provided them there forever.
|
| 1.2 | 07-Mar-2001 |
bjh21 | Leave selection of APCS mode to the compiler -- future versions of cpp will get it right.
Always include new softfloat code -- it seems OK on arm32.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.3 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 21-Jun-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.9.6.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.9.6.3 | 23-Jan-2013 |
yamt | sync with head
|
| 1.9.6.2 | 30-Oct-2012 |
yamt | sync with head
|
| 1.9.6.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.10.4.1 | 28-Nov-2012 |
matt | Pullup EABI changes.
|
| 1.15.2.4 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.15.2.3 | 23-Jun-2013 |
tls | resync from head
|
| 1.15.2.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.15.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.16 | 23-Jul-2023 |
skrll | ENTRY / END indentation. NFCI.
|
| 1.15 | 19-Aug-2013 |
matt | Group all syscalls together.
|
| 1.14 | 16-Aug-2013 |
matt | Save r3 instead of r4 when calling CERROR in thumb mode.
|
| 1.13 | 16-Aug-2013 |
matt | Rework SYSTRAP for thumb. Add END to PSEUDO_NOERROR and PSEUDO
|
| 1.12 | 01-Aug-2013 |
matt | Make __minbrk, __curbrk, and CERROR hidden and avoid using the GOT to access them.
|
| 1.11 | 18-Jul-2013 |
matt | Remove non-__ELF__ defines
|
| 1.10 | 14-Jan-2011 |
matt | branches: 1.10.6; 1.10.12; 1.10.16; Change __cerror to be marked hidden and change callers to avoid the PLT.
|
| 1.9 | 21-Aug-2004 |
rearnsha | branches: 1.9.16; Use RET macro for returning from PSEUDO & PSEUDO_NOERROR
|
| 1.8 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.7 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.6 | 26-May-2002 |
wiz | Revert previous: .S files are currently compiled with -traditional-cpp, so __STDC__ is _not_ always defined.
|
| 1.5 | 26-May-2002 |
wiz | __STDC__ is always defined on NetBSD.
|
| 1.4 | 10-Feb-2002 |
bjh21 | Switch libc syscall veneers over to using our shiny new official SWI range.
|
| 1.3 | 14-Jan-2002 |
thorpej | * Add WSYSCALL() to SYS.h, which creates a system call with an internal name and a weak alias for the name. * Add a WEAKASM syscall list, and process it. * Make sysarch() have an internal name (_sysarch()).
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.5 | 21-Jun-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.4 | 22-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.3 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.9.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.10.16.1 | 23-Jul-2013 |
riastradh | sync with HEAD
|
| 1.10.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.10.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2 | 06-Aug-2012 |
matt | Moving this to <arm/aeabi.h> in sys
|
| 1.1 | 06-Aug-2012 |
matt | Mostly for reference, this header defines the "C" portion of the ARM run time API for AAPCS (EABI).
|
| 1.4 | 23-Nov-2021 |
thorpej | Decorate the ARM signal trampoline with the appropriate .cfi directives to allow exception unwind / backtrace across a signal handler.
|
| 1.3 | 24-Oct-2020 |
skrll | Provide _UC_REGS_* defines for all registers
|
| 1.2 | 30-Apr-2013 |
skrll | Don't hardcode offset in assembler. This ensures the return value in the context is the correct value (0) on earm*
|
| 1.1 | 27-Sep-2012 |
skrll | branches: 1.1.2; 1.1.4; 1.1.6; Remove magic numbers.
|
| 1.1.6.2 | 28-Nov-2012 |
matt | Pullup EABI changes.
|
| 1.1.6.1 | 27-Sep-2012 |
matt | file genassym.cf was added on branch matt-nb6-plus on 2012-11-28 02:21:41 +0000
|
| 1.1.4.3 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.4.2 | 27-Sep-2012 |
skrll | Remove magic numbers.
|
| 1.1.4.1 | 27-Sep-2012 |
skrll | file genassym.cf was added on branch tls-maxphys on 2012-09-27 11:20:21 +0000
|
| 1.1.2.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.2.2 | 30-Oct-2012 |
yamt | sync with head
|
| 1.1.2.1 | 27-Sep-2012 |
yamt | file genassym.cf was added on branch yamt-pagecache on 2012-10-30 18:58:39 +0000
|
| 1.1 | 15-Mar-2006 |
kleink | Add strtof(3) and strtold(3); welcome libc 12.137.
|
| 1.1 | 25-Jan-2006 |
kleink | Add machine-dependent definitions for gdtoa.
|
| 1.1 | 25-Jan-2006 |
kleink | Add machine-dependent definitions for gdtoa.
|
| 1.28 | 29-Jan-2014 |
joerg | Include compiler-rt in libc, libm and libkern.
|
| 1.27 | 17-Jan-2014 |
joerg | Use generic version of fabs for softfloat.
|
| 1.26 | 25-Dec-2013 |
joerg | Explicitly enable FPU support.
|
| 1.25 | 21-Aug-2013 |
matt | divide.S need -marm
|
| 1.24 | 20-Jun-2013 |
msaitoh | Fix compile error.
|
| 1.23 | 20-Jun-2013 |
matt | modsi3/umodsi3 is not needed for earm since __aeabi_*divmod takes care of it.
|
| 1.22 | 30-Apr-2013 |
matt | Match against LIBC_MACHINE_ARCH for MKCOMPAT
|
| 1.21 | 26-Jan-2013 |
matt | When building for earm*, compile __aeabi_[df]cmpun.c and __aeabi_[il]div0.c
|
| 1.20 | 30-Oct-2012 |
christos | add new files to fix static linking
|
| 1.19 | 10-Oct-2012 |
christos | add split files
|
| 1.18 | 30-Jul-2012 |
skrll | branches: 1.18.2; Backout previous. ld.so requires the division routines so this needs more thought.
|
| 1.17 | 11-Jul-2012 |
reinoud | On the libc/libgcc clashes cleanup that removed divsi3.o from libc, ARM/evbarm was forgotten. This patch fixes it making static binaries possible again!
|
| 1.16 | 06-Dec-2009 |
uebayasi | branches: 1.16.6; 1.16.8; Rename ${SRCS.{alpha,arm,...}.gen} to ${LSRCS.{alpha,arm,...}.gen} because they ended up in ${LSRCS}, not ${SRCS}. ${SRCS.*} namespace will be used for more useful things. No functional changes intended.
|
| 1.15 | 28-Jun-2006 |
drochner | build frexp/ldexp/modf in the "compat" part (code is identical) (These are the easy cases where no assembler implementations exist.)
|
| 1.14 | 16-Oct-2005 |
christos | compat shuffle.
|
| 1.13 | 15-Apr-2005 |
kleink | Push back the descriptions of NaN formats, and descriptions of the distinction between signalling NaNs and quiet NaNs back into the machine-dependent headers; treat the implementation of __nanf in the same spirit.
IEEE 754 leaves the distinction between signalling NaNs and quiet NANs to the implementation, and unlike our headers used to suggest they're not identical in the interpretation of the fraction's MSb; in due course, make those of hppa, mips, sh3, and sh5 reflect reality.
|
| 1.12 | 04-Mar-2004 |
kleink | branches: 1.12.6; * Turn isinf(3) and isnan(3) into C99-style macros. * Make it possible for ports to override these (i.e., VAX). * Remove isnanl(), which was internal to libc only.
|
| 1.11 | 15-Jan-2004 |
kleink | Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros.
|
| 1.10 | 28-Oct-2003 |
kleink | Retire FPA support from this file at last; suggested by Richard Earnshaw and not objected to by port-arm.
|
| 1.9 | 26-Oct-2003 |
kleink | On FPA, switch back `long double' to double-precision. According to Richard Earnshaw, extended-precision was never supported by the compiler.
|
| 1.8 | 25-Oct-2003 |
kleink | Add __infinityf and __infinityl, float respectively long double analogs of __infinity.
|
| 1.7 | 24-Oct-2003 |
kleink | * Since there is no single portable IEEE 754 format for a long double, keep a common implementation of isinfl() and isnanl() to be used by platforms where `long double' == `double'; move others into machine-dependent code. * In due course, consider __VFP_FP__ on arm.
|
| 1.6 | 01-Aug-2003 |
lukem | Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES. This is a change of behaviour. If a Makefile wants the clean semantics it must specifically append to CLEANFILES. Resolves PR toolchain/5204.
* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS that have a suffix of: .c .m .s .S .C .cc .cpp .cxx
* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES
* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}
* Deprecate the (short lived) DEPENDSRCS
Update the various Makefiles to these new semantics; generally either adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing specific .o dependencies with DPSRCS entries.
Tested with "make -j 8 distribution" and "make distribution".
|
| 1.5 | 17-May-2003 |
thorpej | Build _isinfl() and _isnanl().
|
| 1.4 | 12-May-2003 |
kleink | Rename ieee754_function.c to function_ieee754.c, following the convention used in exec_format.c, loadfile_format.c, subsys_machdep.c etc. Per discussion with Christos.
|
| 1.3 | 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
| 1.2 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.4 | 22-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.3 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 16-Nov-2001 |
thorpej | Implement _lwp_makecontext().
|
| 1.1.2.1 | 15-Nov-2001 |
thorpej | ARM-specific makecontext(), _resumecontext(), swapcontext(), and getcontext(). From Klaus Kein <kleink@netbsd.org>.
|
| 1.12.6.1 | 19-Apr-2005 |
tron | Pull up revision 1.13 (requested by kleink in ticket #163): Push back the descriptions of NaN formats, and descriptions of the distinction between signalling NaNs and quiet NaNs back into the machine-dependent headers; treat the implementation of __nanf in the same spirit. IEEE 754 leaves the distinction between signalling NaNs and quiet NANs to the implementation, and unlike our headers used to suggest they're not identical in the interpretation of the fraction's MSb; in due course, make those of hppa, mips, sh3, and sh5 reflect reality.
|
| 1.16.8.3 | 19-Nov-2012 |
riz | Pull up following revision(s) (requested by christos in ticket #654): common/lib/libc/arch/arm/gen/modsi3.S: revision 1.1 common/lib/libc/arch/arm/gen/umodsi3.S: revision 1.1 sys/lib/libkern/arch/arm/Makefile.inc: revision 1.11 sys/lib/libkern/arch/arm/Makefile.inc: revision 1.12 common/lib/libc/arch/arm/gen/divide.S: revision 1.1 lib/libc/arch/arm/gen/Makefile.inc: revision 1.20 common/lib/libc/arch/arm/gen/divsi3.S: revision 1.3 common/lib/libc/arch/arm/gen/udivsi3.S: revision 1.1 common/lib/libc/arch/arm/gen/divsi3.S: revision 1.4 Split out modsi3 and umodsi3 from the divsi3 file. This is so that we don't get re-defined symbols in libc from libgcc in static linking. Example: cc -pthread -static main-calls-pthread-create.c add split files. add new divsi3 related files. add new files to fix static linking split udivsi3 and divsi3 to fix static linking. This could be done better. Fixes PR#47139
|
| 1.16.8.2 | 31-Jul-2012 |
martin | branches: 1.16.8.2.2; Backout #416 (requested by skrll in ticket #416): lib/libc/arch/arm/gen/Makefile.inc: revision 1.18 Backout previous (pulled up via #416) - it causes major regressions and needs more thought.
|
| 1.16.8.1 | 16-Jul-2012 |
riz | Pull up following revision(s) (requested by reinoud in ticket #416): lib/libc/arch/arm/gen/Makefile.inc: revision 1.17 On the libc/libgcc clashes cleanup that removed divsi3.o from libc, ARM/evbarm was forgotten. This patch fixes it making static binaries possible again!
|
| 1.16.8.2.2.1 | 28-Nov-2012 |
matt | Merge from HEAD. split udivsi3 and divsi3 to fix static linking.
|
| 1.16.6.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.16.6.2 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
| 1.16.6.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.18.2.4 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.18.2.3 | 23-Jun-2013 |
tls | resync from head
|
| 1.18.2.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.18.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.1 | 26-Jan-2013 |
matt | branches: 1.1.4; 1.1.10; Add __aeabi_[fd]cmpun for IEEE unordered compares (requires by ARM RTABI).
|
| 1.1.10.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.10.1 | 26-Jan-2013 |
yamt | file __aeabi_dcmpun.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.4.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.1.4.1 | 26-Jan-2013 |
tls | file __aeabi_dcmpun.c was added on branch tls-maxphys on 2013-02-25 00:27:48 +0000
|
| 1.1 | 26-Jan-2013 |
matt | branches: 1.1.4; 1.1.10; Add __aeabi_[fd]cmpun for IEEE unordered compares (requires by ARM RTABI).
|
| 1.1.10.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.10.1 | 26-Jan-2013 |
yamt | file __aeabi_fcmpun.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.4.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.1.4.1 | 26-Jan-2013 |
tls | file __aeabi_fcmpun.c was added on branch tls-maxphys on 2013-02-25 00:27:48 +0000
|
| 1.7 | 16-Oct-2005 |
christos | compat shuffle.
|
| 1.6 | 21-Aug-2004 |
rearnsha | Use RET and RETc macros for returning.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.3 | 13-Nov-2001 |
chris | Update asm files to use sp instead of r13. Also tweak a couple of bits in the longjmp code to save an instruction.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.4 | 16-Oct-2005 |
christos | compat shuffle.
|
| 1.3 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.8 | 22-Mar-2012 |
he | Follow the pattern from powerpc, make lint happy.
|
| 1.7 | 21-Mar-2012 |
christos | no need for linted annotations
|
| 1.6 | 21-Mar-2012 |
bsh | shut up lint(1)
|
| 1.5 | 24-Feb-2011 |
joerg | branches: 1.5.4; 1.5.8; Allow storing and receiving the LWP private pointer via ucontext_t on all platforms except VAX and IA64. Add fast access via register for AMD64, i386 and SH3 ports. Use this fast access in libpthread to replace the stack based pthread_self(). Implement skeleton support for Alpha, HPPA, PowerPC, SPARC and SPARC64, but leave it disabled.
Ports that support this feature provide __HAVE____LWP_GETPRIVATE_FAST in machine/types.h and a corresponding __lwp_getprivate_fast in machine/mcontext.h.
This material is based upon work partially supported by The NetBSD Foundation under a contract with Joerg Sonnenberger.
|
| 1.4 | 12-Jun-2005 |
lukem | branches: 1.4.40; Add missing __RCSID()
|
| 1.3 | 07-Apr-2003 |
kleink | Make sure we reference getcontext() by its internal name.
|
| 1.2 | 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
| 1.1 | 16-Nov-2001 |
thorpej | branches: 1.1.2; file _lwp.c was initially added on branch nathanw_sa.
|
| 1.1.2.2 | 16-Nov-2001 |
thorpej | Make sure the stack provided to the new LWP is 8-byte aligned.
|
| 1.1.2.1 | 16-Nov-2001 |
thorpej | Implement _lwp_makecontext().
|
| 1.4.40.1 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
| 1.5.8.1 | 28-Nov-2012 |
matt | Pullup EABI changes.
|
| 1.5.4.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.20 | 08-May-2025 |
uwe | arm: setjmp - fix thumb
"mov" should be spelled "movs" for thumb in unified syntax
|
| 1.19 | 06-May-2025 |
uwe | arm/asm.h: revert PCREL_GET &c in previous (ok riastradh)
This change needs to be redone and re-verified. I have detailed some issues in the PR, and it also turns out that some of the changes were in the !_REENTRANT branch of #ifdef and thus not checked at all. riastradh asked to back out the changes for now.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.18 | 03-May-2025 |
riastradh | arm: Nix most __PIC__ conditionals in .S files.
New macros PCREL_GET(rN,label,pclabel) and PCREL_SYM(label,pclabel) to enable this by the pattern:
ldr rN, label #ifdef __PIC__ pclabel: add rN, rN, pc #endif ... label: #ifdef __PIC__ .word (label - (pclabel + 2*sizeof(instruction))) #else .word label #endif
(sizeof(instruction) = 2 for thumb, 4 for non-thumb.)
No binary change in libc with MKPIE=no (i.e., testing both for changes to the PIC build and changes to the non-PIC build).
In principle, assembly routines could improve instruction scheduling by splitting up the ldr and add instructions. But in practice, the maintenance and auditing burden likely makes this worthwhile by improving legibility vs a tangle of in-line #ifdefs.
brk.S does things a little differently making it harder to unify. Could redo it but I don't want to make changes without testing them first.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.17 | 05-Dec-2020 |
skrll | branches: 1.17.8; spaces to tab
|
| 1.16 | 30-Nov-2013 |
joerg | Use PLT_SYM.
|
| 1.15 | 21-Oct-2013 |
skrll | Fix bug introduced in revision 1.13 which meant longjmp would never work on EABI where VFP didn't exist.
Hi gimpy!
|
| 1.14 | 12-Sep-2013 |
joerg | Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small vs big PIC mode. Retire -DPIC and -DBIGPIC.
|
| 1.13 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.12 | 19-Apr-2013 |
matt | A small optimization
|
| 1.11 | 19-Apr-2013 |
skrll | Actually fail if the magic number is found to be wrong in __longjmp.
Avoid overwriting the {,_}longjmp return value in __ARM_EABI__
ok matt@
|
| 1.10 | 29-Jan-2013 |
matt | AAPCS (EABI) requires that VFP D8-D15 are always saved, regardless whether the soft float or hard float ABI is being used. However, if there isn't a FPU that can't be done. So only save/restore them if a FPU is present. When libc initializes, it does a sysctl to determine if there is a FPU and stores the result which _setjmp/setjmp uses. If there was a FPU, the magic in the jmp_buf is changed to reflect that the VFP registers were saved. longjmp uses the magic to determine if it needs to restore the VFP registers.
|
| 1.9 | 25-Jan-2013 |
matt | Use __ARM_PCS_VFP to determine whether the VFP is being used.
|
| 1.8 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.7 | 01-Aug-2012 |
matt | branches: 1.7.2; Add #error cases in case someone tries to compile hardfloat VFP libraries.
|
| 1.6 | 21-Aug-2004 |
rearnsha | branches: 1.6.16; 1.6.50; Use RET and RETc macros for returning.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.3 | 13-Nov-2001 |
chris | Update asm files to use sp instead of r13. Also tweak a couple of bits in the longjmp code to save an instruction.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.6.50.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6.50.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.6.50.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.6.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.7.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.7.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.7.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.17.8.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.5 | 17-Aug-2013 |
matt | Thumbify & add END
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.16; 1.4.50; 1.4.56; Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 13-Nov-2001 |
chris | Update arm libc files for 8 byte aligned stack.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.4.56.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.4.50.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.4.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.5 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.4 | 21-Aug-2004 |
rearnsha | Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 01-Jul-2002 |
bjh21 | Avoid leaving junk in the top half of R0 on return. This fixes port-arm/17440.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; 1.1.4; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.4.1 | 02-Jul-2002 |
lukem | Pull up revision 1.2 (requested by bjh21 in ticket #419): Avoid leaving junk in the top half of R0 on return. This fixes port-arm/17440.
|
| 1.1.2.1 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.4 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.3 | 21-Aug-2004 |
rearnsha | Use RET and RETc macros for returning.
|
| 1.2 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.7 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.6 | 21-Aug-2004 |
rearnsha | Use RET and RETc macros for returning.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.3 | 13-Nov-2001 |
chris | Update arm libc files for 8 byte aligned stack.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.4 | 17-Jan-2014 |
joerg | GC
|
| 1.3 | 16-May-2006 |
mrg | branches: 1.3.44; 1.3.50; make sure there is a prototype in scope.
|
| 1.2 | 26-May-2002 |
wiz | __STDC__ is always defined on NetBSD.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 21-Jun-2002 |
nathanw | Catch up to -current.
|
| 1.3.50.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.3.44.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6 | 08-Apr-2022 |
andvar | fix various typos, mainly in comments, but also log messages, docs, game text.
|
| 1.5 | 19-Mar-2015 |
joerg | Call libc's fpgetround.
|
| 1.4 | 21-Mar-2012 |
he | branches: 1.4.10; Use c89 function declaration.
|
| 1.3 | 25-Feb-2006 |
wiz | branches: 1.3.44; Fix typos, reported by Alexey Dobriyan ("Gathered from Linux"), forwarded by jmc@openbsd.
|
| 1.2 | 12-Jun-2005 |
lukem | Add missing __RCSID()
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.3.44.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.4.10.1 | 21-Mar-2015 |
snj | Pull up following revision(s) (requested by joerg in ticket #632): lib/libc/arch/arm/gen/flt_rounds.c: revision 1.5 lib/libc/arch/mips/gen/flt_rounds.c: revision 1.9 lib/libc/arch/powerpc/gen/flt_rounds.c: revision 1.12 lib/libc/arch/powerpc64/gen/flt_rounds.c: revision 1.2 lib/libc/arch/sh3/gen/flt_rounds.c: revision 1.6 Call libc's fpgetround.
|
| 1.2 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.6 | 28-Oct-2003 |
kleink | Retire FPA support from this file at last; suggested by Richard Earnshaw and not objected to by port-arm.
|
| 1.5 | 26-Oct-2003 |
kleink | On FPA, switch back `long double' to double-precision. According to Richard Earnshaw, extended-precision was never supported by the compiler.
|
| 1.4 | 25-Oct-2003 |
kleink | Redo the VFP/endianness conditional logic of this file, making it easier to read. No functional change except for the side-effect of fixing the ARMEB FPA case, which wasn't supported anyway.
|
| 1.3 | 19-Feb-2002 |
bjh21 | Replace infinity.c with one in the style of the new ieee754_infinity.c, but with extra #ifdefs for FPA-format doubles. This gets it compiling again.
|
| 1.2 | 28-Oct-2001 |
bjh21 | Handle machines using VFP-format doubles (as we do in ARM ELF) and big-endian systems correctly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.3 | 22-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.3 | 28-Oct-2003 |
kleink | Retire FPA support from this file at last; suggested by Richard Earnshaw and not objected to by port-arm.
|
| 1.2 | 26-Oct-2003 |
kleink | On FPA, switch back `long double' to double-precision. According to Richard Earnshaw, extended-precision was never supported by the compiler.
|
| 1.1 | 25-Oct-2003 |
kleink | Add __infinityf and __infinityl, float respectively long double analogs of __infinity.
|
| 1.3 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.2 | 29-Oct-2001 |
bjh21 | Change isnan() and isinf() to use a union to convert from double to struct ieee_double, rather than a pointer cast. This seems to enable GCC 2.95.3 to get the instruction dependencies right (the old one fell foul of ANSI aliasing rules), and it also generates more sensible code in general.
If this is the correct solution, it should be applied to the other ports. If it's not, someone should come up with one that _is_ correct.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.5 | 26-Oct-2003 |
kleink | On FPA, switch back `long double' to double-precision. According to Richard Earnshaw, extended-precision was never supported by the compiler.
|
| 1.4 | 25-Oct-2003 |
kleink | Remove an unnecessary line continuation backslash from previous.
|
| 1.3 | 25-Oct-2003 |
kleink | Update for FPA 80-bit extended-precision format.
|
| 1.2 | 25-Oct-2003 |
kleink | Swap VFP and FPA sections to match the style of most other code; no functional change.
|
| 1.1 | 24-Oct-2003 |
kleink | * Since there is no single portable IEEE 754 format for a long double, keep a common implementation of isinfl() and isnanl() to be used by platforms where `long double' == `double'; move others into machine-dependent code. * In due course, consider __VFP_FP__ on arm.
|
| 1.3 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.2 | 29-Oct-2001 |
bjh21 | Change isnan() and isinf() to use a union to convert from double to struct ieee_double, rather than a pointer cast. This seems to enable GCC 2.95.3 to get the instruction dependencies right (the old one fell foul of ANSI aliasing rules), and it also generates more sensible code in general.
If this is the correct solution, it should be applied to the other ports. If it's not, someone should come up with one that _is_ correct.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.4 | 26-Oct-2003 |
kleink | On FPA, switch back `long double' to double-precision. According to Richard Earnshaw, extended-precision was never supported by the compiler.
|
| 1.3 | 25-Oct-2003 |
kleink | Update for FPA 80-bit extended-precision format.
|
| 1.2 | 25-Oct-2003 |
kleink | Swap VFP and FPA sections to match the style of most other code; no functional change.
|
| 1.1 | 24-Oct-2003 |
kleink | * Since there is no single portable IEEE 754 format for a long double, keep a common implementation of isinfl() and isnanl() to be used by platforms where `long double' == `double'; move others into machine-dependent code. * In due course, consider __VFP_FP__ on arm.
|
| 1.3 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.2 | 08-Nov-2001 |
bjh21 | Rename a parameter to fix build problem with new toolchain.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.4 | 21-Mar-2012 |
christos | no need for linted annotations
|
| 1.3 | 28-Apr-2008 |
martin | branches: 1.3.4; 1.3.8; 1.3.26; Remove clause 3 and 4 from TNF licenses
|
| 1.2 | 18-Jan-2003 |
thorpej | branches: 1.2.30; Merge the nathanw_sa branch.
|
| 1.1 | 15-Nov-2001 |
thorpej | branches: 1.1.2; file makecontext.c was initially added on branch nathanw_sa.
|
| 1.1.2.2 | 16-Nov-2001 |
kleink | As observed on the trunk: Update arm libc files for 8 byte aligned stack.
|
| 1.1.2.1 | 15-Nov-2001 |
thorpej | ARM-specific makecontext(), _resumecontext(), swapcontext(), and getcontext(). From Klaus Kein <kleink@netbsd.org>.
|
| 1.2.30.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.3.26.1 | 28-Nov-2012 |
matt | Pullup EABI changes.
|
| 1.3.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.3.8.1 | 28-Apr-2008 |
martin | file makecontext.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.3.4.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.2 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.4 | 22-Feb-2009 |
martin | Make NAN a compile time constant (with help from the compiler). Suggested by krister. Fixes PR 40695. Make references to the old construct (which we can't remove for binary compatibility reasons) emit a linker warning.
|
| 1.3 | 15-Apr-2005 |
kleink | branches: 1.3.2; 1.3.32; Push back the descriptions of NaN formats, and descriptions of the distinction between signalling NaNs and quiet NaNs back into the machine-dependent headers; treat the implementation of __nanf in the same spirit.
IEEE 754 leaves the distinction between signalling NaNs and quiet NANs to the implementation, and unlike our headers used to suggest they're not identical in the interpretation of the fraction's MSb; in due course, make those of hppa, mips, sh3, and sh5 reflect reality.
|
| 1.2 | 19-Feb-2002 |
simonb | Clean up some rampant code duplication wrt ieee number handling: - Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.3.32.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.3.2.2 | 19-Apr-2005 |
tron | Pull up revision 1.3 (requested by kleink in ticket #163): Push back the descriptions of NaN formats, and descriptions of the distinction between signalling NaNs and quiet NaNs back into the machine-dependent headers; treat the implementation of __nanf in the same spirit. IEEE 754 leaves the distinction between signalling NaNs and quiet NANs to the implementation, and unlike our headers used to suggest they're not identical in the interpretation of the fraction's MSb; in due course, make those of hppa, mips, sh3, and sh5 reflect reality.
|
| 1.3.2.1 | 15-Apr-2005 |
tron | file nanf.c was added on branch netbsd-3 on 2005-04-19 12:30:50 +0000
|
| 1.5 | 19-Sep-2011 |
joerg | Mark _resumecontext as dead. ANSIfy all declarations for it.
|
| 1.4 | 28-Apr-2008 |
martin | branches: 1.4.8; Remove clause 3 and 4 from TNF licenses
|
| 1.3 | 08-Dec-2006 |
martin | branches: 1.3.10; Sync all resumecontext.c versions with the changes originally made by Matthias Drochner to i386 and alpha:
-check for a NULL uc_link before calling setcontext(2); do a real exit(3) instead with exit handlers and all that -If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather than relying on a sensible return value to use as exit code. Makes it less likely that an ucontext corruption goes unnoticed.
|
| 1.2 | 18-Jan-2003 |
thorpej | branches: 1.2.16; Merge the nathanw_sa branch.
|
| 1.1 | 15-Nov-2001 |
thorpej | branches: 1.1.2; file resumecontext.c was initially added on branch nathanw_sa.
|
| 1.1.2.1 | 15-Nov-2001 |
thorpej | ARM-specific makecontext(), _resumecontext(), swapcontext(), and getcontext(). From Klaus Kein <kleink@netbsd.org>.
|
| 1.2.16.1 | 09-Dec-2006 |
bouyer | Pull up following revision(s) (requested by martin in ticket #264): lib/libc/arch/sh5/gen/resumecontext.c: revision 1.2 lib/libc/arch/sh3/gen/resumecontext.c: revision 1.3 lib/libc/arch/sparc/gen/resumecontext.c: revision 1.3 lib/libc/arch/powerpc/gen/resumecontext.c: revision 1.3 lib/libc/arch/arm/gen/resumecontext.c: revision 1.3 lib/libc/arch/mips/gen/resumecontext.c: revision 1.3 lib/libc/arch/vax/gen/resumecontext.c: revision 1.2 lib/libc/arch/powerpc64/gen/resumecontext.c: revision 1.2 lib/libc/arch/hppa/gen/resumecontext.c: revision 1.2 Sync all resumecontext.c versions with the changes originally made by Matthias Drochner to i386 and alpha: -check for a NULL uc_link before calling setcontext(2); do a real exit(3) instead with exit handlers and all that -If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather than relying on a sensible return value to use as exit code. Makes it less likely that an ucontext corruption goes unnoticed.
|
| 1.3.10.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.4.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.4.8.1 | 28-Apr-2008 |
martin | file resumecontext.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.22 | 08-May-2025 |
uwe | arm: setjmp - fix thumb
"mov" should be spelled "movs" for thumb in unified syntax
|
| 1.21 | 06-May-2025 |
uwe | arm/asm.h: revert PCREL_GET &c in previous (ok riastradh)
This change needs to be redone and re-verified. I have detailed some issues in the PR, and it also turns out that some of the changes were in the !_REENTRANT branch of #ifdef and thus not checked at all. riastradh asked to back out the changes for now.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.20 | 03-May-2025 |
riastradh | arm: Nix most __PIC__ conditionals in .S files.
New macros PCREL_GET(rN,label,pclabel) and PCREL_SYM(label,pclabel) to enable this by the pattern:
ldr rN, label #ifdef __PIC__ pclabel: add rN, rN, pc #endif ... label: #ifdef __PIC__ .word (label - (pclabel + 2*sizeof(instruction))) #else .word label #endif
(sizeof(instruction) = 2 for thumb, 4 for non-thumb.)
No binary change in libc with MKPIE=no (i.e., testing both for changes to the PIC build and changes to the non-PIC build).
In principle, assembly routines could improve instruction scheduling by splitting up the ldr and add instructions. But in practice, the maintenance and auditing burden likely makes this worthwhile by improving legibility vs a tangle of in-line #ifdefs.
brk.S does things a little differently making it harder to unify. Could redo it but I don't want to make changes without testing them first.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.19 | 06-May-2024 |
skrll | branches: 1.19.2; arm longjmp: Restore stack first, then signal mask.
Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here:
- Move the botched sp and lr tests earlier.
PR lib/57946
|
| 1.18 | 13-Dec-2022 |
skrll | branches: 1.18.2; Trailing whitespace
|
| 1.17 | 30-Nov-2013 |
joerg | branches: 1.17.28; Use PLT_SYM.
|
| 1.16 | 12-Sep-2013 |
joerg | Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small vs big PIC mode. Retire -DPIC and -DBIGPIC.
|
| 1.15 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.14 | 19-Apr-2013 |
matt | A small optimization
|
| 1.13 | 19-Apr-2013 |
skrll | Actually fail if the magic number is found to be wrong in __longjmp.
Avoid overwriting the {,_}longjmp return value in __ARM_EABI__
ok matt@
|
| 1.12 | 29-Jan-2013 |
matt | AAPCS (EABI) requires that VFP D8-D15 are always saved, regardless whether the soft float or hard float ABI is being used. However, if there isn't a FPU that can't be done. So only save/restore them if a FPU is present. When libc initializes, it does a sysctl to determine if there is a FPU and stores the result which _setjmp/setjmp uses. If there was a FPU, the magic in the jmp_buf is changed to reflect that the VFP registers were saved. longjmp uses the magic to determine if it needs to restore the VFP registers.
|
| 1.11 | 25-Jan-2013 |
matt | Use __ARM_PCS_VFP to determine whether the VFP is being used.
|
| 1.10 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.9 | 01-Aug-2012 |
matt | branches: 1.9.2; Add #error cases in case someone tries to compile hardfloat VFP libraries.
|
| 1.8 | 16-Oct-2005 |
christos | branches: 1.8.10; 1.8.44; more renaming.
|
| 1.7 | 16-Oct-2005 |
christos | compat shuffle.
|
| 1.6 | 21-Aug-2004 |
rearnsha | Use RET and RETc macros for returning.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.3 | 13-Nov-2001 |
chris | Update arm libc files for 8 byte aligned stack.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.8.44.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.8.44.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.8.44.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.8.10.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.9.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.9.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.9.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.17.28.1 | 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #795):
tests/lib/libc/setjmp/Makefile: revision 1.3 distrib/sets/lists/debug/mi: revision 1.425 lib/libc/arch/sh3/gen/setjmp.S: revision 1.12 lib/libc/arch/i386/gen/sigsetjmp.S: revision 1.19 lib/libc/arch/x86_64/gen/__setjmp14.S: revision 1.4 tests/lib/libc/setjmp/t_sigstack.c: revision 1.10 tests/lib/libc/setjmp/t_sigstack.c: revision 1.11 tests/lib/libc/setjmp/t_sigstack.c: revision 1.12 tests/lib/libc/setjmp/t_sigstack.c: revision 1.1 lib/libc/arch/sh3/gen/sigsetjmp.S: revision 1.11 tests/lib/libc/setjmp/t_sigstack.c: revision 1.2 tests/lib/libc/setjmp/t_sigstack.c: revision 1.3 tests/lib/libc/setjmp/t_sigstack.c: revision 1.4 tests/lib/libc/setjmp/t_sigstack.c: revision 1.5 tests/lib/libc/setjmp/t_sigstack.c: revision 1.6 lib/libc/arch/arm/gen/setjmp.S: revision 1.19 tests/lib/libc/setjmp/t_sigstack.c: revision 1.7 tests/lib/libc/setjmp/t_sigstack.c: revision 1.8 tests/lib/libc/setjmp/t_sigstack.c: revision 1.9 lib/libc/arch/i386/gen/setjmp.S: revision 1.18 lib/libc/arch/x86_64/gen/__sigsetjmp14.S: revision 1.4 distrib/sets/lists/tests/mi: revision 1.1306 (patch)
longjmp(3): Add test for PR lib/57946.
longjmp(3): Paranoia: more error checking in PR lib/57946 test.
longjmp(3): Test signal mask vs stack restore with siglongjmp too. PR lib/57946
longjmp(3) t_sigstack: Print which entry failed. PR lib/57946
longjmp(3) t_sigstack: Note aarch64 seems to DTRT. But only by code inspection; it appears to have another problem: on re-entry, the signal handler is called on the normal stack, not on the alternate signal stack. PR lib/57946
longjmp(3) t_sigstack: Use a sigaltstack per handler entry. longjmp evidently doesn't reset the state of whether the process is executing on the alternate signal stack. So when we re-enter the signal handler, the alternate stack appears to be still in use, and the system chooses the original stack for the second call to the signal handler -- which trips our assertion asking to verify that the signal handler is always using an alternate stack.
Not strictly necessary for the signal handler to use an alternate stack on re-entry, but this makes it clearer that the signal handler itself is always using the alternate stack so we can verify that the interrupted code is _not_ in the signal handler. With this change, the test now passes on aarch64. PR lib/57946
longjmp(3) t_sigstack: Fix fencepost error. Extremely unlikely to cause trouble, but let's just turn that into `never' to keep it easier for readers. PR lib/57946
amd64 longjmp: Restore stack first, then signal mask. Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here: - Tidy the code a little bit. - Sprinkle comments to explain what's going on. - Use `xorl %eXX,%eXX' instead of `xorq %rXX,%rXX'. => Same effect, one byte shorter, breaks dep chain on more uarches. - Use forward branches for statically predicted not-taken. => val==0 is unlikely in longjmp PR lib/57946
i386 longjmp: Restore stack first, then signal mask. Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here: - Tidy the code a little bit. - Sprinkle comments to explain what's going on. - Use forward branches for statically predicted not-taken. => val==0 is unlikely in longjmp PR lib/57946
arm longjmp: Restore stack first, then signal mask. Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here: - Move the botched sp and lr tests earlier. PR lib/57946 arm has been fixed
tests/lib/libc/setjmp/t_sigstack: Add missing comment for 1.10. PR lib/57946
sh3: siglongjmp - restore register context first (PR lib/57946)
|
| 1.18.2.1 | 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #795):
tests/lib/libc/setjmp/Makefile: revision 1.3 distrib/sets/lists/debug/mi: revision 1.425 lib/libc/arch/sh3/gen/setjmp.S: revision 1.12 lib/libc/arch/i386/gen/sigsetjmp.S: revision 1.19 lib/libc/arch/x86_64/gen/__setjmp14.S: revision 1.4 tests/lib/libc/setjmp/t_sigstack.c: revision 1.10 tests/lib/libc/setjmp/t_sigstack.c: revision 1.11 tests/lib/libc/setjmp/t_sigstack.c: revision 1.12 tests/lib/libc/setjmp/t_sigstack.c: revision 1.1 lib/libc/arch/sh3/gen/sigsetjmp.S: revision 1.11 tests/lib/libc/setjmp/t_sigstack.c: revision 1.2 tests/lib/libc/setjmp/t_sigstack.c: revision 1.3 tests/lib/libc/setjmp/t_sigstack.c: revision 1.4 tests/lib/libc/setjmp/t_sigstack.c: revision 1.5 tests/lib/libc/setjmp/t_sigstack.c: revision 1.6 lib/libc/arch/arm/gen/setjmp.S: revision 1.19 tests/lib/libc/setjmp/t_sigstack.c: revision 1.7 tests/lib/libc/setjmp/t_sigstack.c: revision 1.8 tests/lib/libc/setjmp/t_sigstack.c: revision 1.9 lib/libc/arch/i386/gen/setjmp.S: revision 1.18 lib/libc/arch/x86_64/gen/__sigsetjmp14.S: revision 1.4 distrib/sets/lists/tests/mi: revision 1.1306
longjmp(3): Add test for PR lib/57946.
longjmp(3): Paranoia: more error checking in PR lib/57946 test.
longjmp(3): Test signal mask vs stack restore with siglongjmp too. PR lib/57946
longjmp(3) t_sigstack: Print which entry failed. PR lib/57946
longjmp(3) t_sigstack: Note aarch64 seems to DTRT. But only by code inspection; it appears to have another problem: on re-entry, the signal handler is called on the normal stack, not on the alternate signal stack. PR lib/57946
longjmp(3) t_sigstack: Use a sigaltstack per handler entry. longjmp evidently doesn't reset the state of whether the process is executing on the alternate signal stack. So when we re-enter the signal handler, the alternate stack appears to be still in use, and the system chooses the original stack for the second call to the signal handler -- which trips our assertion asking to verify that the signal handler is always using an alternate stack.
Not strictly necessary for the signal handler to use an alternate stack on re-entry, but this makes it clearer that the signal handler itself is always using the alternate stack so we can verify that the interrupted code is _not_ in the signal handler. With this change, the test now passes on aarch64. PR lib/57946
longjmp(3) t_sigstack: Fix fencepost error. Extremely unlikely to cause trouble, but let's just turn that into `never' to keep it easier for readers. PR lib/57946
amd64 longjmp: Restore stack first, then signal mask. Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here: - Tidy the code a little bit. - Sprinkle comments to explain what's going on. - Use `xorl %eXX,%eXX' instead of `xorq %rXX,%rXX'. => Same effect, one byte shorter, breaks dep chain on more uarches. - Use forward branches for statically predicted not-taken. => val==0 is unlikely in longjmp PR lib/57946
i386 longjmp: Restore stack first, then signal mask. Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here: - Tidy the code a little bit. - Sprinkle comments to explain what's going on. - Use forward branches for statically predicted not-taken. => val==0 is unlikely in longjmp PR lib/57946
arm longjmp: Restore stack first, then signal mask. Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here: - Move the botched sp and lr tests earlier. PR lib/57946 arm has been fixed
tests/lib/libc/setjmp/t_sigstack: Add missing comment for 1.10. PR lib/57946
sh3: siglongjmp - restore register context first (PR lib/57946)
|
| 1.19.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.8 | 30-Nov-2013 |
joerg | Use PLT_SYM.
|
| 1.7 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.6 | 19-Apr-2013 |
matt | Ignore VFP bit in magic.
|
| 1.5 | 16-Oct-2005 |
christos | branches: 1.5.10; 1.5.44; 1.5.50; more renaming.
|
| 1.4 | 16-Oct-2005 |
christos | compat shuffle.
|
| 1.3 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.5.50.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.5.50.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.5.44.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.5.10.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.18 | 30-Jun-2021 |
skrll | Do previous differtly by pushing two registers in the same way as the _INVOKE_CERROR macro
|
| 1.17 | 30-Jun-2021 |
rin | Fix previous. For Thumb-1: - sp cannot be manipulated directly - {add,sub}s should be used instead of {add,sub}
|
| 1.16 | 29-Jun-2021 |
rin | Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'', which we've not officially supported yet.
|
| 1.15 | 21-Nov-2018 |
skrll | branches: 1.15.2; Fix a comment
|
| 1.14 | 30-Nov-2013 |
joerg | branches: 1.14.24; 1.14.26; Use PLT_SYM.
|
| 1.13 | 04-Sep-2013 |
matt | Fix the .cfi correctly.
|
| 1.12 | 04-Sep-2013 |
htodd | Fix build by matching .cfi/#if.
|
| 1.11 | 04-Sep-2013 |
matt | only emit cfi if __ARM_EABI__ && __UNWIND_TABLES__
|
| 1.10 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.9 | 28-Nov-2012 |
matt | Add missing registers.
|
| 1.8 | 27-Sep-2012 |
skrll | Remove magic numbers.
|
| 1.7 | 27-Sep-2012 |
skrll | Fixup the stack pointer in the ucontext returned by getcontext.
This fixes the following tests
lib/libc/sys/t_swapcontext.c lib/libpthread/t_swapcontext.c
|
| 1.6 | 05-Aug-2012 |
skrll | branches: 1.6.2; Ensure stack alignment. "looks fine" matt@
|
| 1.5 | 28-Apr-2008 |
martin | branches: 1.5.4; 1.5.8; 1.5.24; 1.5.26; Remove clause 3 and 4 from TNF licenses
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.16; 1.4.24; Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
| 1.1 | 15-Nov-2001 |
thorpej | branches: 1.1.2; file swapcontext.S was initially added on branch nathanw_sa.
|
| 1.1.2.2 | 18-Nov-2001 |
thorpej | * Make this work with ELF. * We don't appear to have an internal name for setcontext(), so don't use one (i.e. call setcontext(), rather than _setcontext()).
XXX Namespace considerations wrt. the ucontext functions are not consistent -- need to revisit.
|
| 1.1.2.1 | 15-Nov-2001 |
thorpej | ARM-specific makecontext(), _resumecontext(), swapcontext(), and getcontext(). From Klaus Kein <kleink@netbsd.org>.
|
| 1.4.24.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.4.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.5.26.2 | 28-Nov-2012 |
matt | Pullup EABI changes.
|
| 1.5.26.1 | 01-Nov-2012 |
matt | sync with netbsd-6-0-RELEASE.
|
| 1.5.24.1 | 01-Oct-2012 |
riz | Pull up following revision(s) (requested by skrll in ticket #576): lib/libc/arch/arm/gen/swapcontext.S: revision 1.7 Fixup the stack pointer in the ucontext returned by getcontext. This fixes the following tests lib/libc/sys/t_swapcontext.c lib/libpthread/t_swapcontext.c
|
| 1.5.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.5.8.1 | 28-Apr-2008 |
martin | file swapcontext.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.5.4.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.5.4.2 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
| 1.5.4.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.6.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.6.2.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.6.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.14.26.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.14.24.1 | 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
| 1.15.2.1 | 08-Aug-2021 |
martin | Pull up following revision(s) (requested by skrll in ticket #1329):
lib/libc/arch/arm/gen/swapcontext.S: revision 1.18 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3 lib/libc/arch/arm/sys/__clone.S: revision 1.10 lib/libc/arch/arm/sys/__clone.S: revision 1.11 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2 lib/libc/arch/arm/sys/__clone.S: revision 1.12 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3 lib/libc/arch/arm/sys/__clone.S: revision 1.13 lib/libc/arch/arm/sys/__clone.S: revision 1.14 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3 lib/libc/arch/arm/gen/swapcontext.S: revision 1.16 lib/libc/arch/arm/gen/swapcontext.S: revision 1.17
Align sp to 8-byte boundary as required by EABI.
This is especially important for non-leaf functions; GCC optimizes codes based on assumption that sp is aligned properly.
Mostly fix broken earmv5 userland compiled by GCC10 due to alignment faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].
No regression for ATF is observed for earmv[67]{,hf}{,eb}.
Align sp to 8-byte boundary as required by EABI. IIUC, this change only affects libc compiled for ``Thumb-mode userland'', which we've not officially supported yet.
Fix previous. For Thumb-1: - sp cannot be manipulated directly - {add,sub}s should be used instead of {add,sub}
Trailing whitespace
The _INVOKE_CERROR macro deals with thumb so simplify the code (at the expense of a couple more instructions).
Do previous differently by pushing even number of registers and remove strange r7 usage.
Do previous differtly by pushing two registers in the same way as the _INVOKE_CERROR macro
|
| 1.3 | 17-Jan-2014 |
joerg | Use generic version of fabs for softfloat.
|
| 1.2 | 30-Nov-2013 |
joerg | fabsl alias.
|
| 1.1 | 03-Feb-2013 |
matt | branches: 1.1.4; Add hardfloat version of fabs using the vabs.f64 instruction
|
| 1.1.4.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.4.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.1.4.1 | 03-Feb-2013 |
tls | file fabs.S was added on branch tls-maxphys on 2013-02-25 00:27:48 +0000
|
| 1.1 | 17-Jan-2014 |
joerg | branches: 1.1.4; 1.1.8; Use generic version of fabs for softfloat.
|
| 1.1.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.8.1 | 17-Jan-2014 |
tls | file fabs_ieee754.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
|
| 1.1.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.4.1 | 17-Jan-2014 |
yamt | file fabs_ieee754.S was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.7 | 02-Aug-2013 |
matt | Use vmrs instead of mrc
|
| 1.6 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.5 | 01-Aug-2012 |
matt | branches: 1.5.2; Error out if compiled with -mfp=vfp and -mhard-float
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.50; Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 13-Jan-2002 |
thorpej | Add internal names for fp{get,set}{mask,round,sticky}(), and externally-visible weak aliases for the internal names.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.4.50.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.4.50.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.4.50.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.5.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.5.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.6 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.5 | 24-Jun-2012 |
christos | branches: 1.5.2; fix old style definitions; XXX: gcc should have picked them up but it did not.
|
| 1.4 | 25-Feb-2006 |
wiz | branches: 1.4.44; Fix some typos.
|
| 1.3 | 12-Jun-2005 |
lukem | Add missing __RCSID()
|
| 1.2 | 13-Jan-2002 |
thorpej | Add internal names for fp{get,set}{mask,round,sticky}(), and externally-visible weak aliases for the internal names.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.4.44.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.4.44.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.5.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.6 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.5 | 01-Aug-2012 |
matt | branches: 1.5.2; Error out if compiled with -mfp=vfp and -mhard-float
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.50; Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 13-Jan-2002 |
thorpej | Add internal names for fp{get,set}{mask,round,sticky}(), and externally-visible weak aliases for the internal names.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.4.50.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.4.50.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.5.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.7 | 23-Jan-2014 |
joerg | One vmsr is enough.
|
| 1.6 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.5 | 01-Aug-2012 |
matt | branches: 1.5.2; Error out if compiled with -mfp=vfp and -mhard-float
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.50; Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 13-Jan-2002 |
thorpej | Add internal names for fp{get,set}{mask,round,sticky}(), and externally-visible weak aliases for the internal names.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.4.50.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.4.50.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.4.50.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.5.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.5.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.8 | 03-Feb-2013 |
matt | include <arm/vfpreg.h>
|
| 1.7 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.6 | 25-Feb-2006 |
wiz | branches: 1.6.44; 1.6.50; Fix some typos.
|
| 1.5 | 12-Jun-2005 |
lukem | Add missing __RCSID()
|
| 1.4 | 19-Mar-2002 |
bjh21 | Only abort() if the user specifies a rounding mode other than FP_RN.
|
| 1.3 | 19-Mar-2002 |
bjh21 | ANSIfy.
|
| 1.2 | 13-Jan-2002 |
thorpej | Add internal names for fp{get,set}{mask,round,sticky}(), and externally-visible weak aliases for the internal names.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 22-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.6.50.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.6.44.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6.44.1 | 23-Jan-2013 |
yamt | sync with head
|
| 1.6 | 11-Jan-2013 |
matt | Remove all FPA code. Support VFP for hard float Allow MKSOFTFLOAT=no
|
| 1.5 | 01-Aug-2012 |
matt | branches: 1.5.2; Error out if compiled with -mfp=vfp and -mhard-float
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.50; Use RET and RETc macros for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 13-Jan-2002 |
thorpej | Add internal names for fp{get,set}{mask,round,sticky}(), and externally-visible weak aliases for the internal names.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 28-Jan-2002 |
nathanw | Catch up to -current.
|
| 1.4.50.2 | 23-Jan-2013 |
yamt | sync with head
|
| 1.4.50.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.5.2.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.10 | 03-Mar-2025 |
christos | don't abort, just fail.
|
| 1.9 | 27-Feb-2025 |
christos | use the latest version that does not abort on error.
|
| 1.8 | 27-Feb-2025 |
christos | PR/59063: Martin Husemann: Avoid using malloc through sysctlbyname by doing the sysctl name to mib translation directly. Thanks martin@ for testing!
|
| 1.7 | 08-Sep-2013 |
matt | branches: 1.7.4; 1.7.40; detect whether hw divide is present.
|
| 1.6 | 08-Sep-2013 |
matt | Detect presence of hardware divide.
|
| 1.5 | 19-Aug-2013 |
matt | Put the startup code in .text.startup
|
| 1.4 | 16-Aug-2013 |
matt | Make _libc_arm_fpu_present hidden
|
| 1.3 | 30-Jul-2013 |
skrll | include namespace.h - this fixes 48091
|
| 1.2 | 31-Jan-2013 |
matt | branches: 1.2.4; Reorganize to appease lint.
|
| 1.1 | 29-Jan-2013 |
matt | Add a constructor for EABI to determine if a FPU is present on the system.
|
| 1.2.4.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.4.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.2.4.1 | 31-Jan-2013 |
tls | file arm_initfini.c was added on branch tls-maxphys on 2013-02-25 00:27:49 +0000
|
| 1.7.40.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.7.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.7.4.1 | 08-Sep-2013 |
yamt | file arm_initfini.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_dcmpeq.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_dcmpeq.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.2 | 16-Apr-2013 |
matt | branches: 1.2.2; 1.2.8; Deal with arguments being NaNs
|
| 1.1 | 16-Apr-2013 |
matt | aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.2.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.8.1 | 16-Apr-2013 |
yamt | file __aeabi_dcmpge.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.2.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.2.2.1 | 16-Apr-2013 |
tls | file __aeabi_dcmpge.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.2 | 16-Apr-2013 |
matt | branches: 1.2.2; 1.2.8; Deal with arguments being NaNs
|
| 1.1 | 16-Apr-2013 |
matt | aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.2.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.8.1 | 16-Apr-2013 |
yamt | file __aeabi_dcmpgt.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.2.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.2.2.1 | 16-Apr-2013 |
tls | file __aeabi_dcmpgt.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_dcmple.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_dcmple.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_dcmplt.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_dcmplt.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_dcmpun.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_dcmpun.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_fcmpeq.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_fcmpeq.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.2 | 16-Apr-2013 |
matt | branches: 1.2.2; 1.2.8; Deal with arguments being NaNs
|
| 1.1 | 16-Apr-2013 |
matt | aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.2.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.8.1 | 16-Apr-2013 |
yamt | file __aeabi_fcmpge.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.2.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.2.2.1 | 16-Apr-2013 |
tls | file __aeabi_fcmpge.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.2 | 16-Apr-2013 |
matt | branches: 1.2.2; 1.2.8; Deal with arguments being NaNs
|
| 1.1 | 16-Apr-2013 |
matt | aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.2.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.8.1 | 16-Apr-2013 |
yamt | file __aeabi_fcmpgt.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.2.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.2.2.1 | 16-Apr-2013 |
tls | file __aeabi_fcmpgt.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_fcmple.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_fcmple.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_fcmplt.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_fcmplt.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.1 | 16-Apr-2013 |
matt | branches: 1.1.2; 1.1.8; aeabi floating compare ops are different from the normal gcc softfloat ones.
|
| 1.1.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.8.1 | 16-Apr-2013 |
yamt | file __aeabi_fcmpun.c was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 16-Apr-2013 |
tls | file __aeabi_fcmpun.c was added on branch tls-maxphys on 2013-06-23 06:21:04 +0000
|
| 1.4 | 26-Jan-2013 |
matt | Appease clang by making 64-bit literals use ULL
|
| 1.3 | 24-Dec-2005 |
perry | branches: 1.3.44; 1.3.50; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.2 | 21-Feb-2001 |
bjh21 | Add support for ARM VFP-format doubles, conditional on __VFP_FP__.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.3.50.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.3.44.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2 | 21-Apr-2002 |
bjh21 | All the versions of softfloat-specialize were practically identical, so replace them with a single one.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 25-Apr-2002 |
nathanw | Catch up to -current.
|
| 1.10 | 24-Apr-2013 |
matt | Add #include <stdint.h>
|
| 1.9 | 07-Jul-2011 |
matt | branches: 1.9.2; 1.9.8; Don't define a new enum. Just #define round_* to their FP_Rx instead.
|
| 1.8 | 04-Jul-2011 |
matt | Add __floatunsidf __floatunsisf __floatunsitf routines. XXX i think they are correct but not sure.
|
| 1.7 | 16-May-2006 |
mrg | if SOFTFLOAT_FOR_GCC is not defined, don't declare float_detect_tininess.
|
| 1.6 | 12-May-2002 |
bjh21 | Add SIGFPE support to SoftFloat, so fpsetmask/fpgetmask now work. A new variable, float_exception_mask (#defined to _softfloat_float_exception_mask) contains the current exception mask. Also make the argument to float_raise into an fp_except. Also synchronise file header comments between files.
|
| 1.5 | 06-May-2002 |
bjh21 | Consistently declare the types of float_rounding_mode and float_exception_flags as fp_rnd and fp_except respectively.
|
| 1.4 | 10-Mar-2002 |
bjh21 | Use the values from <machine/ieeefp.h> to define the exception flags, and rounding modes, rather than different ones (oops).
|
| 1.3 | 08-Mar-2001 |
bjh21 | Re-instate __fixunssfsi() and __fixunsdfsi(), but only for arm32 with a.out binaries, because libc's provided them there forever.
|
| 1.2 | 08-Feb-2001 |
bjh21 | branches: 1.2.2; Don't declare functions that are provided elsewhere in libc.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.3 | 21-Jun-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.2 | 22-Mar-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.9.8.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.9.2.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.4 | 31-Jul-2009 |
dsl | Add the 'abs', 'div' and 'erand48' sources to stdlib/Makefile.inc. Change the arch files only include the .S files. This adds imaxdiv() to some archs where it was missing.
|
| 1.3 | 04-Aug-2008 |
matt | branches: 1.3.6; Add C99 functions imaxabs and imaxdiv.
|
| 1.2 | 22-Mar-2006 |
drochner | branches: 1.2.20; build erand48_ieee754.c on everything but vax
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.20.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
| 1.3.6.2 | 04-Aug-2008 |
matt | Add C99 functions imaxabs and imaxdiv.
|
| 1.3.6.1 | 04-Aug-2008 |
matt | file Makefile.inc was added on branch christos-time_t on 2008-08-04 21:29:29 +0000
|
| 1.9 | 21-Aug-2013 |
matt | Add -marm to those sources who aren't thumb friendly.
|
| 1.8 | 30-Jul-2009 |
dsl | branches: 1.8.6; 1.8.12; If SRCS contains any .S files then remove the corresponding .c file from SRCS and add to LSRCS (for lint). Change the 'string' Makefiles so that the arch/*/string/Makefile.inc need only specify the .S files for that architecture and not the .c files for all the files they don't override.
|
| 1.7 | 18-Jul-2009 |
dsl | Remove references to index.c and rindex.c (strchr.c and strrchr.c now provide the definitions).
|
| 1.6 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.5 | 23-Nov-2002 |
chris | Add arm asm version of memcmp, basically it's strncmp.S without the check for *src != 0
|
| 1.4 | 23-Nov-2002 |
chris | Add an asm version of strncmp, based on strcmp. Add RCSID to strcmp, also use numeric label, rather than named label for loop.
|
| 1.3 | 16-Nov-2002 |
rearnsha | Add an assembler version of strcmp, based on example code from the ARM ARM. As an example of the performance difference that this provides a Dhrystone score on my Shark goes from 213k to 261k.
|
| 1.2 | 11-Nov-2001 |
chris | Update the libc version of ffs to make use of an optimsed asm version.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 10-Dec-2002 |
thorpej | Sync with HEAD.
|
| 1.1.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.8.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.8.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.7 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.6 | 09-Oct-2003 |
ichiro | dont use __ARMEB__ It changed so that it might distinguish by BYTE_ORDER
|
| 1.5 | 09-Oct-2003 |
ichiro | support big endian
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.2 | 23-Jan-2001 |
bjh21 | branches: 1.2.2; Correct licence to current TNF one.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.1 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.3 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.4 | 28-Apr-2008 |
martin | branches: 1.4.8; Remove clause 3 and 4 from TNF licenses
|
| 1.3 | 14-Oct-2003 |
scw | branches: 1.3.22; 1.3.30; Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.3.30.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.3.22.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.4.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.4.8.1 | 28-Apr-2008 |
martin | file bzero.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.9 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.8 | 06-May-2005 |
rearnsha | On ARMv5 reduce the value to the LSB before using CLZ. Otherwise we'll calculate the position of the MSB not the LSB.
|
| 1.7 | 21-Aug-2004 |
rearnsha | branches: 1.7.2; Add missing new line.
|
| 1.6 | 21-Aug-2004 |
rearnsha | Use RET to return.
If ARMv5 or later then use CLZ rather than long-winded tale-lookup.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.3 | 17-Aug-2002 |
chris | correct comment, it's r0, not a0.
|
| 1.2 | 13-Nov-2001 |
bjh21 | branches: 1.2.2; Fix .type directive to use the right name for L_ffs_table (pointed out by Ian Fry).
Also, add RCSID and fix some comments.
|
| 1.1 | 11-Nov-2001 |
chris | Update the libc version of ffs to make use of an optimsed asm version.
|
| 1.2.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.2.2.1 | 13-Nov-2001 |
nathanw | file ffs.S was added on branch nathanw_sa on 2001-11-14 19:31:52 +0000
|
| 1.7.2.1 | 07-May-2005 |
tron | Pull up revision 1.8 (requested by rearnsha in ticket #255): On ARMv5 reduce the value to the LSB before using CLZ. Otherwise we'll calculate the position of the MSB not the LSB.
|
| 1.6 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.5 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.4 | 23-Oct-2003 |
scw | Duh, fix the align-to-32-bits code.
|
| 1.3 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.2 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.1 | 23-Nov-2002 |
chris | branches: 1.1.2; Add arm asm version of memcmp, basically it's strncmp.S without the check for *src != 0
|
| 1.1.2.2 | 10-Dec-2002 |
thorpej | Sync with HEAD.
|
| 1.1.2.1 | 23-Nov-2002 |
thorpej | file memcmp.S was added on branch nathanw_sa on 2002-12-10 06:25:43 +0000
|
| 1.5 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.4 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.3 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.2 | 02-Jun-2005 |
scw | Nuke trailing whitespace.
|
| 1.1 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.4 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.3 | 02-Jun-2005 |
scw | Nuke trailing whitespace.
|
| 1.2 | 21-Aug-2004 |
rearnsha | branches: 1.2.2; Always use bx for returning (this code is always ARMv5TE.
|
| 1.1 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.2.2.1 | 26-Aug-2007 |
bouyer | Apply patch, requested by scw in ticket #1806: lib/libc/arch/arm/string/memcpy_xscale.S: patch sys/lib/libkern/arch/arm/memcpy_xscale.S: patch Apply the patch, with some minor tweaks, supplied in PR/36513. This prevents a possible prefetch past the end of the source buffer.
|
| 1.7 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.6 | 02-Jun-2005 |
scw | Nuke trailing whitespace.
|
| 1.5 | 21-Aug-2004 |
rearnsha | branches: 1.5.2; Use RET and RETc for returning.
|
| 1.4 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.5.2.1 | 22-Jun-2007 |
liamjfoy | Pull up following revision(s) (requested by scw in ticket #1805): common/lib/libc/arch/arm/string/memmove.S: revision 1.2 Apply the patch supplied in PR/36512 to fix the buffer overlap check. The patch to memmove.S was provided via patch.
|
| 1.6 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.5 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.4 | 14-Oct-2003 |
scw | Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.1 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.5 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.4 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 23-Nov-2002 |
chris | branches: 1.2.2; Add an asm version of strncmp, based on strcmp. Add RCSID to strcmp, also use numeric label, rather than named label for loop.
|
| 1.1 | 16-Nov-2002 |
rearnsha | Add an assembler version of strcmp, based on example code from the ARM ARM. As an example of the performance difference that this provides a Dhrystone score on my Shark goes from 213k to 261k.
|
| 1.2.2.2 | 10-Dec-2002 |
thorpej | Sync with HEAD.
|
| 1.2.2.1 | 23-Nov-2002 |
thorpej | file strcmp.S was added on branch nathanw_sa on 2002-12-10 06:25:43 +0000
|
| 1.1 | 23-Jan-2013 |
matt | branches: 1.1.2; 1.1.6; 1.1.12; Add simple version of strncat for ARM.
|
| 1.1.12.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.1.12.1 | 23-Jan-2013 |
yamt | file strncat_naive.S was added on branch yamt-pagecache on 2014-05-22 11:36:46 +0000
|
| 1.1.6.2 | 25-Feb-2013 |
tls | resync with head
|
| 1.1.6.1 | 23-Jan-2013 |
tls | file strncat_naive.S was added on branch tls-maxphys on 2013-02-25 00:27:49 +0000
|
| 1.1.2.2 | 07-Feb-2013 |
matt | Sync with HEAD
|
| 1.1.2.1 | 23-Jan-2013 |
matt | file strncat_naive.S was added on branch matt-nb6-plus on 2013-02-07 07:06:28 +0000
|
| 1.4 | 20-Dec-2005 |
christos | Use reach-over sources from common/lib/libc
|
| 1.3 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.2 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.1 | 23-Nov-2002 |
chris | branches: 1.1.2; Add an asm version of strncmp, based on strcmp. Add RCSID to strcmp, also use numeric label, rather than named label for loop.
|
| 1.1.2.2 | 10-Dec-2002 |
thorpej | Sync with HEAD.
|
| 1.1.2.1 | 23-Nov-2002 |
thorpej | file strncmp.S was added on branch nathanw_sa on 2002-12-10 06:25:43 +0000
|
| 1.8 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.7 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.6 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.3 | 09-Jan-2001 |
bjh21 | branches: 1.3.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.2 | 09-Jan-2001 |
bjh21 | Add some explanatory comments.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.3.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.5 | 19-Aug-2013 |
matt | Always compile as ARM even if -mthumb is given.
|
| 1.4 | 17-Aug-2013 |
matt | Enforce that this must be not compiled using Thumb1
|
| 1.3 | 20-Nov-2012 |
matt | Add $NetBSD$ tag. Use ip to save r1 instead of the stack.
|
| 1.2 | 14-Feb-2012 |
matt | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; Add workaround for ARM cores that don't properly implement the MRC instruction used for reading the thread pointer. This is the corresponding change which was made to <arm/mcontext.h>
|
| 1.1 | 18-Nov-2011 |
joerg | Hook up TLS support on ARM. Tested by martin@, kernel support from matt@
|
| 1.2.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.8.1 | 25-Feb-2013 |
tls | resync with head
|
| 1.2.6.1 | 20-Nov-2012 |
matt | Don't push/pop r1 around SYSTRAP, save it in ip instead.
|
| 1.2.4.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.4.3 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
| 1.2.4.2 | 17-Apr-2012 |
yamt | sync with head
|
| 1.2.4.1 | 14-Feb-2012 |
yamt | file __aeabi_read_tp.S was added on branch yamt-pagecache on 2012-04-17 00:05:13 +0000
|
| 1.2.2.1 | 24-Nov-2012 |
riz | Pull up following revision(s) (requested by matt in ticket #701): lib/libc/arch/arm/sys/__aeabi_read_tp.S: revision 1.3 Add $NetBSD$ tag. Use ip to save r1 instead of the stack.
|
| 1.14 | 30-Jun-2021 |
skrll | Do previous differtly by pushing two registers in the same way as the _INVOKE_CERROR macro
|
| 1.13 | 30-Jun-2021 |
skrll | The _INVOKE_CERROR macro deals with thumb so simplify the code (at the expense of a couple more instructions).
|
| 1.12 | 30-Jun-2021 |
skrll | Trailing whitespace
|
| 1.11 | 30-Jun-2021 |
rin | Fix previous. For Thumb-1: - sp cannot be manipulated directly - {add,sub}s should be used instead of {add,sub}
|
| 1.10 | 29-Jun-2021 |
rin | Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'', which we've not officially supported yet.
|
| 1.9 | 30-Nov-2013 |
joerg | branches: 1.9.28; Use PLT_SYM.
|
| 1.8 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.7 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.6 | 24-Apr-2006 |
snj | branches: 1.6.10; 1.6.44; 1.6.50; It's "its."
|
| 1.5 | 21-Aug-2004 |
rearnsha | Use RETc for returning. When v4T or later use BX for calling the target.
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 27-Aug-2002 |
mycroft | Do the appropriate PIC magic for the jump to _exit().
|
| 1.2 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.1 | 22-Jul-2001 |
chris | branches: 1.1.2; 1.1.4; Add __clone() for arm.
|
| 1.1.4.1 | 27-Aug-2002 |
lukem | Pull up revision 1.3 (requested by mycroft in ticket #737): Do the appropriate PIC magic for the jump to _exit().
|
| 1.1.2.4 | 17-Sep-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.2 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 22-Jul-2001 |
nathanw | file __clone.S was added on branch nathanw_sa on 2001-10-08 20:17:07 +0000
|
| 1.6.50.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.6.44.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6.10.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.9.28.1 | 08-Aug-2021 |
martin | Pull up following revision(s) (requested by skrll in ticket #1329):
lib/libc/arch/arm/gen/swapcontext.S: revision 1.18 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3 lib/libc/arch/arm/sys/__clone.S: revision 1.10 lib/libc/arch/arm/sys/__clone.S: revision 1.11 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2 lib/libc/arch/arm/sys/__clone.S: revision 1.12 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3 lib/libc/arch/arm/sys/__clone.S: revision 1.13 lib/libc/arch/arm/sys/__clone.S: revision 1.14 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3 lib/libc/arch/arm/gen/swapcontext.S: revision 1.16 lib/libc/arch/arm/gen/swapcontext.S: revision 1.17
Align sp to 8-byte boundary as required by EABI.
This is especially important for non-leaf functions; GCC optimizes codes based on assumption that sp is aligned properly.
Mostly fix broken earmv5 userland compiled by GCC10 due to alignment faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].
No regression for ATF is observed for earmv[67]{,hf}{,eb}.
Align sp to 8-byte boundary as required by EABI. IIUC, this change only affects libc compiled for ``Thumb-mode userland'', which we've not officially supported yet.
Fix previous. For Thumb-1: - sp cannot be manipulated directly - {add,sub}s should be used instead of {add,sub}
Trailing whitespace
The _INVOKE_CERROR macro deals with thumb so simplify the code (at the expense of a couple more instructions).
Do previous differently by pushing even number of registers and remove strange r7 usage.
Do previous differtly by pushing two registers in the same way as the _INVOKE_CERROR macro
|
| 1.2 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.8 | 26-Oct-2021 |
christos | Merge all MD __sigaction14_sigtramp.c copies into one: - 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.
|
| 1.7 | 28-Apr-2008 |
martin | branches: 1.7.8; Remove clause 3 and 4 from TNF licenses
|
| 1.6 | 19-Feb-2006 |
christos | branches: 1.6.18; make these consistent.
|
| 1.5 | 12-Jun-2005 |
lukem | Add missing __RCSID()
|
| 1.4 | 23-Mar-2004 |
drochner | save errno while trying to install a !SA_SIGINFO trampoline -- this is expected to fail with !COMPAT_16 kernels, and we shouldn't overwrite errno in this case
|
| 1.3 | 05-Oct-2003 |
matt | Add SA_SIGINFO support for ARM.
|
| 1.2 | 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
| 1.1 | 09-Jul-2002 |
thorpej | branches: 1.1.2; New __sigaction14() system call stub which registers the signal trampoline, and the signal trampolines themselves.
NOTE: These are not yet enabled; they will be enabled after further testing on more architectures.
|
| 1.1.2.3 | 02-Oct-2002 |
thorpej | libc: Internally rename __sigaction14 to __libc_sigaction14. Provide a weak alias of __sigaction14 -> __libc_sigaction14.
libpthread: Use __libc_sigaction14 to actually register the signal handler, rather than using __sigaction_sigtramp() directly with a hard-coded trampoline version. While we don't actually use the libc trampoline, we want to avoid depending on any COMPAT_* kernel options down the road (this is already the case for the VAX port).
Be explicit about which version of the signal interface we're interposing (...14), and build pthread_sig.c with __LIBC12_SOURCE__ (required to get the libc-internal interfaces).
|
| 1.1.2.2 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 09-Jul-2002 |
nathanw | file __sigaction14_sigtramp.c was added on branch nathanw_sa on 2002-08-01 03:27:55 +0000
|
| 1.6.18.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.7.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.7.8.1 | 28-Apr-2008 |
martin | file __sigaction14_sigtramp.c was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.5 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.4 | 26-Mar-2004 |
drochner | fix references to the syscall formerly known as SYS___sigreturn14
|
| 1.3 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.2 | 09-Jan-2001 |
bjh21 | Replace boiler-plate code sequences with macro invocations from SYS.h.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.3 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.2 | 26-Mar-2004 |
drochner | fix references to the syscall formerly known as SYS___sigreturn14
|
| 1.1 | 09-Jul-2002 |
thorpej | branches: 1.1.2; New __sigaction14() system call stub which registers the signal trampoline, and the signal trampolines themselves.
NOTE: These are not yet enabled; they will be enabled after further testing on more architectures.
|
| 1.1.2.2 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 09-Jul-2002 |
nathanw | file __sigtramp1.S was added on branch nathanw_sa on 2002-08-01 03:27:55 +0000
|
| 1.5 | 27-Nov-2021 |
skrll | Trailing whitespace
|
| 1.4 | 23-Nov-2021 |
thorpej | Decorate the ARM signal trampoline with the appropriate .cfi directives to allow exception unwind / backtrace across a signal handler.
|
| 1.3 | 16-Aug-2013 |
matt | Add END
|
| 1.2 | 28-Apr-2008 |
martin | branches: 1.2.4; 1.2.8; 1.2.28; Remove clause 3 and 4 from TNF licenses
|
| 1.1 | 05-Oct-2003 |
matt | branches: 1.1.30; Add SA_SIGINFO support for ARM.
|
| 1.1.30.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.2.28.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.2.8.1 | 28-Apr-2008 |
martin | file __sigtramp2.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.2.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.4 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.3 | 09-Jan-2001 |
bjh21 | Replace boiler-plate code sequences with macro invocations from SYS.h.
|
| 1.2 | 09-Jan-2001 |
bjh21 | Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.10 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.9 | 16-Aug-2013 |
matt | Thumbify & optimize a little
|
| 1.8 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.7 | 21-Aug-2004 |
rearnsha | branches: 1.7.16; 1.7.50; 1.7.56; Use RET and RETc for returning.
|
| 1.6 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.3 | 09-Jan-2001 |
bjh21 | branches: 1.3.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.2 | 09-Jan-2001 |
bjh21 | Add some explanatory comments.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.3.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.7.56.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.7.50.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.7.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.13 | 12-Sep-2013 |
joerg | Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small vs big PIC mode. Retire -DPIC and -DBIGPIC.
|
| 1.12 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.11 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.10 | 01-Aug-2013 |
matt | Make __minbrk, __curbrk, and CERROR hidden and avoid using the GOT to access them.
|
| 1.9 | 13-May-2011 |
nonaka | branches: 1.9.4; 1.9.10; Use "_end" instead of "end" for consistency with other architectures.
|
| 1.8 | 21-Aug-2004 |
rearnsha | branches: 1.8.16; Use RET and RETc for returning.
|
| 1.7 | 26-Dec-2003 |
martin | Use an unsigned comparison against minbrk. From Steve Woodford, inspired by a similar change to other archs from OpenBSD.
|
| 1.6 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.5 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.4 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.3 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.2 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.8.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.9.10.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.9.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.18 | 07-May-2025 |
uwe | arm: asm.h - change GOT_INIT to take the normal asm label
Don't pass the label to use for the "current address" as the macro parameter. It obscures its purpose and makes the use of local labels extremely unobvious, so you are forced to invent a name that is mostly useless otherwise:
GOT_INIT(r3, .Lgot.execsp_start, .Lpc.execsp_start) GOT_INITSYM(.Lgot.execsp_start, .Lpc.execsp_start) vs. 0: GOT_INIT(r3, .Lgot.execsp_start) GOT_INITSYM(.Lgot.execsp_start, 0b)
Same object code is generated.
|
| 1.17 | 07-May-2025 |
uwe | arm: cerror.S - use GOT_SYM
Use GOT_SYM instead of open-coding it. It's defined in asm.h but doesn't seem to be used anywhere, so perk it up.
While here, be consistent about declaring errno and use that as a chance to provide a comment why #ifdef _REENTRANT is needed here.
|
| 1.16 | 07-May-2025 |
uwe | arm: cerror.S - factor out code to return -1
Do not repeat verbose ifdefed code that sets (long long){ r0, r1 } to -1LL that indicates an error return from a syscall. Define it once as a macro and use it. Fix the code to actually be compilable as thumb ("mov" vs "movs").
Modulo one fixed "mov" vs "movs" the same object code is generated for all 8 permutations of (arm/thumb x non/reentrant x absolute/pic).
|
| 1.15 | 06-May-2025 |
uwe | arm/asm.h: revert PCREL_GET &c in previous (ok riastradh)
This change needs to be redone and re-verified. I have detailed some issues in the PR, and it also turns out that some of the changes were in the !_REENTRANT branch of #ifdef and thus not checked at all. riastradh asked to back out the changes for now.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.14 | 03-May-2025 |
riastradh | arm: Nix most __PIC__ conditionals in .S files.
New macros PCREL_GET(rN,label,pclabel) and PCREL_SYM(label,pclabel) to enable this by the pattern:
ldr rN, label #ifdef __PIC__ pclabel: add rN, rN, pc #endif ... label: #ifdef __PIC__ .word (label - (pclabel + 2*sizeof(instruction))) #else .word label #endif
(sizeof(instruction) = 2 for thumb, 4 for non-thumb.)
No binary change in libc with MKPIE=no (i.e., testing both for changes to the PIC build and changes to the non-PIC build).
In principle, assembly routines could improve instruction scheduling by splitting up the ldr and add instructions. But in practice, the maintenance and auditing burden likely makes this worthwhile by improving legibility vs a tangle of in-line #ifdefs.
brk.S does things a little differently making it harder to unify. Could redo it but I don't want to make changes without testing them first.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.13 | 30-Nov-2013 |
joerg | branches: 1.13.38; Use PLT_SYM.
|
| 1.12 | 12-Sep-2013 |
joerg | Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small vs big PIC mode. Retire -DPIC and -DBIGPIC.
|
| 1.11 | 04-Sep-2013 |
matt | only emit cfi if __ARM_EABI__ && __UNWIND_TABLES__
|
| 1.10 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.9 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.8 | 27-Feb-2012 |
joerg | branches: 1.8.2; Make __cerror protected to restore ABI leak in older libc versions, where e.g. librt referenced the copy from libc. This still allows libc to use PC-relative jumps.
|
| 1.7 | 14-Jan-2011 |
matt | branches: 1.7.6; 1.7.8; Change __cerror to be marked hidden and change callers to avoid the PLT.
|
| 1.6 | 21-Aug-2004 |
rearnsha | branches: 1.6.16; Use RET and RETc for returning.
|
| 1.5 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.6.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.7.8.1 | 27-Feb-2012 |
riz | Pull up following revision(s) (requested by joerg in ticket #57): lib/libc/arch/arm/sys/cerror.S: revision 1.8 lib/libc/arch/vax/SYS.h: revision 1.12 lib/libc/arch/powerpc64/sys/cerror.S: revision 1.3 lib/libc/arch/powerpc64/sys/cerror.S: revision 1.4 lib/libc/arch/i386/sys/cerror.S: revision 1.16 lib/libc/arch/x86_64/sys/cerror.S: revision 1.5 lib/libc/arch/powerpc/sys/cerror.S: revision 1.10 lib/libc/arch/mips/sys/cerror.S: revision 1.17 lib/libc/arch/powerpc/sys/cerror.S: revision 1.9 Make __cerror protected to restore ABI leak in older libc versions, where e.g. librt referenced the copy from libc. This still allows libc to use PC-relative jumps. PowerPC doesn't have CERROR since it never had a.out. Use _C_LABEL(__cerror) instead.
|
| 1.7.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.7.6.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.8.2.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.13.38.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.5 | 07-Feb-2017 |
kamil | Mark exect(3) obsolete and bind it to plain execve(2) on all platforms
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>
|
| 1.4 | 07-Aug-2003 |
agc | branches: 1.4.80; 1.4.84; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.3 | 09-Jan-2001 |
bjh21 | Replace boiler-plate code sequences with macro invocations from SYS.h.
|
| 1.2 | 09-Jan-2001 |
bjh21 | Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.4.84.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.4.80.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.7 | 16-Aug-2013 |
matt | thumbify and add END
|
| 1.6 | 21-Aug-2004 |
rearnsha | branches: 1.6.50; 1.6.56; Use RET and RETc for returning.
|
| 1.5 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 13-Feb-2003 |
nathanw | Implement pthread_atfork() (in libc, because the required threadlib stub behavior is exactly the same as the usual behavior).
|
| 1.2 | 09-Jan-2001 |
bjh21 | Add some explanatory comments.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.6.56.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.6.50.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.10 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.9 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.8 | 30-Apr-2013 |
skrll | include assym.h
|
| 1.7 | 30-Apr-2013 |
skrll | Don't hardcode offset in assembler. This ensures the return value in the context is the correct value (0) on earm*
|
| 1.6 | 28-Apr-2008 |
martin | branches: 1.6.4; 1.6.8; 1.6.28; Remove clause 3 and 4 from TNF licenses
|
| 1.5 | 30-Mar-2008 |
chris | branches: 1.5.2; Use SYSTRAP macro, rather than inlining the swi instruction.
This makes sure the SWI will be in the NetBSD assigned range of swi numbers.
|
| 1.4 | 21-Aug-2004 |
rearnsha | branches: 1.4.16; Use RET and RETc for returning.
|
| 1.3 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.2 | 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
| 1.1 | 15-Nov-2001 |
thorpej | branches: 1.1.2; file getcontext.S was initially added on branch nathanw_sa.
|
| 1.1.2.2 | 18-Nov-2001 |
thorpej | Make this file work with ELF.
|
| 1.1.2.1 | 15-Nov-2001 |
thorpej | ARM-specific makecontext(), _resumecontext(), swapcontext(), and getcontext(). From Klaus Kein <kleink@netbsd.org>.
|
| 1.4.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.5.2.1 | 18-May-2008 |
yamt | sync with head.
|
| 1.6.28.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.6.28.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.6.8.2 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.6.8.1 | 28-Apr-2008 |
martin | file getcontext.S was added on branch christos-time_t on 2008-04-28 20:22:56 +0000
|
| 1.6.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.8 | 16-Aug-2013 |
matt | Use _INVOKE_CERROR use stmia instead of two str add END
|
| 1.7 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.6 | 21-Aug-2004 |
rearnsha | branches: 1.6.16; 1.6.50; 1.6.56; Use RET and RETc for returning.
|
| 1.5 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.6.56.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.6.50.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.14 | 06-May-2025 |
uwe | arm/asm.h: revert PCREL_GET &c in previous (ok riastradh)
This change needs to be redone and re-verified. I have detailed some issues in the PR, and it also turns out that some of the changes were in the !_REENTRANT branch of #ifdef and thus not checked at all. riastradh asked to back out the changes for now.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.13 | 03-May-2025 |
riastradh | arm: Nix most __PIC__ conditionals in .S files.
New macros PCREL_GET(rN,label,pclabel) and PCREL_SYM(label,pclabel) to enable this by the pattern:
ldr rN, label #ifdef __PIC__ pclabel: add rN, rN, pc #endif ... label: #ifdef __PIC__ .word (label - (pclabel + 2*sizeof(instruction))) #else .word label #endif
(sizeof(instruction) = 2 for thumb, 4 for non-thumb.)
No binary change in libc with MKPIE=no (i.e., testing both for changes to the PIC build and changes to the non-PIC build).
In principle, assembly routines could improve instruction scheduling by splitting up the ldr and add instructions. But in practice, the maintenance and auditing burden likely makes this worthwhile by improving legibility vs a tangle of in-line #ifdefs.
brk.S does things a little differently making it harder to unify. Could redo it but I don't want to make changes without testing them first.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.12 | 30-Nov-2013 |
joerg | branches: 1.12.38; Use PLT_SYM.
|
| 1.11 | 12-Sep-2013 |
joerg | Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small vs big PIC mode. Retire -DPIC and -DBIGPIC.
|
| 1.10 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.9 | 01-Aug-2013 |
matt | CERROR is now hidden so no need to call it via the PLT
|
| 1.8 | 21-Aug-2004 |
rearnsha | branches: 1.8.16; 1.8.50; 1.8.56; Use RET and RETc for returning.
|
| 1.7 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.6 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.5 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.4 | 13-Nov-2001 |
chris | Update arm libc files for 8 byte aligned stack.
|
| 1.3 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.3 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.8.56.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.8.50.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.8.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.12.38.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.14 | 06-May-2025 |
uwe | arm/asm.h: revert PCREL_GET &c in previous (ok riastradh)
This change needs to be redone and re-verified. I have detailed some issues in the PR, and it also turns out that some of the changes were in the !_REENTRANT branch of #ifdef and thus not checked at all. riastradh asked to back out the changes for now.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.13 | 03-May-2025 |
riastradh | arm: Nix most __PIC__ conditionals in .S files.
New macros PCREL_GET(rN,label,pclabel) and PCREL_SYM(label,pclabel) to enable this by the pattern:
ldr rN, label #ifdef __PIC__ pclabel: add rN, rN, pc #endif ... label: #ifdef __PIC__ .word (label - (pclabel + 2*sizeof(instruction))) #else .word label #endif
(sizeof(instruction) = 2 for thumb, 4 for non-thumb.)
No binary change in libc with MKPIE=no (i.e., testing both for changes to the PIC build and changes to the non-PIC build).
In principle, assembly routines could improve instruction scheduling by splitting up the ldr and add instructions. But in practice, the maintenance and auditing burden likely makes this worthwhile by improving legibility vs a tangle of in-line #ifdefs.
brk.S does things a little differently making it harder to unify. Could redo it but I don't want to make changes without testing them first.
PR lib/59391: unnecessary __PIC__ conditionals clutter .S files
|
| 1.12 | 12-Sep-2013 |
joerg | branches: 1.12.38; Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small vs big PIC mode. Retire -DPIC and -DBIGPIC.
|
| 1.11 | 03-Sep-2013 |
matt | Use less got, add END(), make thumb tolerant.
|
| 1.10 | 01-Aug-2013 |
matt | Make __minbrk, __curbrk, and CERROR hidden and avoid using the GOT to access them.
|
| 1.9 | 13-May-2011 |
nonaka | branches: 1.9.4; 1.9.10; Use "_end" instead of "end" for consistency with other architectures.
|
| 1.8 | 21-Aug-2004 |
rearnsha | branches: 1.8.16; Use RET and RETc for returning.
|
| 1.7 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.6 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.5 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.4 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.3 | 05-May-2001 |
kleink | Shameless hack to reference end when using a.out and _end when using ELF.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.2 | 27-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.8.16.1 | 28-Aug-2007 |
matt | More thumb support
|
| 1.9.10.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.9.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.12.38.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.4 | 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
| 1.3 | 17-Aug-2002 |
thorpej | Local label fixup.
|
| 1.2 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.1 | 29-Dec-2000 |
bjh21 | branches: 1.1.2; Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.1.2.2 | 25-Feb-2002 |
nathanw | Move setlogin() stub to C code, and namespace-protect it.
|
| 1.1.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.7 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.6 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.5 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.7 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.6 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.5 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.4 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.3 | 26-Mar-2004 |
drochner | the WARN_REFERENCES text "include <signal.h> for correct reference" is pointless as <signal.h> won't help you, so remove it
|
| 1.2 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.8 | 16-Oct-2005 |
christos | move to the new compat layout.
|
| 1.7 | 21-Aug-2004 |
rearnsha | Use RET and RETc for returning.
|
| 1.6 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.5 | 05-Apr-2003 |
bjh21 | Use the correct instruction for returning ffrom a function (MOV rather than MOVS).
|
| 1.4 | 05-Apr-2003 |
bjh21 | NetBSD/acorn26 has been using APCS-32 for years, so unifdef -U__APCS_26__.
|
| 1.3 | 16-Jul-2001 |
matt | Changes needed for ARM ELF shared library support.
|
| 1.2 | 09-Jan-2001 |
bjh21 | branches: 1.2.2; Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.2.2.1 | 08-Oct-2001 |
nathanw | Catch up to -current.
|
| 1.5 | 18-Apr-2020 |
thorpej | Rename "syscall" to "_syscall" and provide "syscall" as a weak alias.
|
| 1.4 | 07-Aug-2003 |
agc | branches: 1.4.98; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
| 1.3 | 09-Jan-2001 |
bjh21 | Replace boiler-plate code sequences with macro invocations from SYS.h.
|
| 1.2 | 09-Jan-2001 |
bjh21 | Use SYSTRAP() everywhere rather than coding SWI instructions directly.
|
| 1.1 | 29-Dec-2000 |
bjh21 | Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
|
| 1.4.98.1 | 21-Apr-2020 |
martin | Sync with HEAD
|