History log of /src/lib/libc/arch/arm/sys |
Revision | Date | Author | Comments |
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
|