Commit Graph

998 Commits

Author SHA1 Message Date
scw 789335a49c 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).
2003-10-14 07:51:45 +00:00
pk f70031fee9 SIGINFO __sigaction & trampoline code. 2003-10-12 14:42:03 +00:00
christos 7152fa1070 use matt's powerpc implementation. It is simpler than mine, and it does
matter as far as performance goes.
2003-10-12 04:23:17 +00:00
ichiro c9be9cafc5 dont use __ARMEB__
It changed so that it might distinguish by BYTE_ORDER
2003-10-09 09:44:25 +00:00
ichiro b6a7f7b339 support big endian 2003-10-09 09:37:56 +00:00
kleink fd04e737c6 Update to use symbolic register names. 2003-10-09 00:17:59 +00:00
skd b3ec0a1d45 Siginfo libc changes for alpha. Approved by thorpej@netbsd.org. 2003-10-07 17:08:07 +00:00
fvdl 4da2d7565d Userland amd64 siginfo support. 2003-10-06 22:57:23 +00:00
matt ed9d433616 Update to new assmbler needs. Add getcontext.S stub. 2003-10-06 05:30:21 +00:00
matt f3198687d6 Add SA_SIGINFO support for ARM. 2003-10-05 19:48:39 +00:00
scw 5238256a02 s/sigcontext/siginfo/ 2003-10-05 10:46:41 +00:00
scw b469b163b9 libc bits for siginfo on sh5. 2003-10-05 10:01:49 +00:00
kleink 09c5c31fc8 Convert to use register prefixes. 2003-10-03 22:37:35 +00:00
matt c1704e15b4 Enable the SIGINFO trampoline. 2003-09-30 19:05:41 +00:00
matt 4abc70c356 Deal with changed filename. 2003-09-28 16:30:18 +00:00
matt 117653c214 Since this a signal trampoline #2, make that's in the file name. 2003-09-27 21:43:29 +00:00
matt 4ba9658201 Remove __LIBC12_SOURCE 2003-09-27 03:33:00 +00:00
matt 20745b5469 Invoke the proper signal trampoline depending on SA_SIGINFO. 2003-09-27 01:03:40 +00:00
matt 4e7e0da41e Add siginfo signal trampoline. 2003-09-25 22:46:22 +00:00
cl ae9566397a SA_SIGINFO support for m68k (libc) 2003-09-22 14:42:02 +00:00
uwe 616df9fb1f Do not profile. Indent delay slots. 2003-09-22 02:42:02 +00:00
uwe 237ead7bc8 Indent delay slot. 2003-09-22 02:38:13 +00:00
uwe 849c5af36b Do not profile. Indent delay slot. 2003-09-22 02:35:46 +00:00
uwe 89a06df4c7 Indent delay slots. Add a comment that the magic number 8 is SIGFPE. 2003-09-22 02:27:59 +00:00
uwe e023f7cb8d Do not profile. Indent delay slot. 2003-09-22 02:18:40 +00:00
uwe 391ab004a4 Do not profile. Indent delay slot. 2003-09-22 02:08:07 +00:00
uwe f722916cc6 Indent delay slots. Whitespace change only, same object code produced. 2003-09-22 01:57:16 +00:00
christos ab0a78e1a7 - don't define __LIBC12_SOURCE__
- need to SIG_IGN SIGSYS for the version check
- simplify code
2003-09-12 20:42:15 +00:00
christos 8adecf9fbe need __HAVE_SIGINFO to get the right flavor of the sigreturn symbol. 2003-09-12 13:29:46 +00:00
christos 86ad7a15ee __sigreturn14 -> compat_16___sigreturn14; thanks yamt 2003-09-12 12:42:34 +00:00
christos 5a93912d03 No reason for __ in static variable. 2003-09-11 20:24:39 +00:00
christos c18cae3e90 For kernels that have COMPAT_16 enabled, detect that and use the old
sigcontext trampoline code when SA_SIGINFO is not set.
2003-09-11 20:23:46 +00:00
christos ec30b8c224 Add __sigtramp2.S 2003-09-06 22:56:47 +00:00
christos 9c5c2215ea siginfo signal trampoline code. 2003-09-06 22:10:40 +00:00
uwe 2194ee2027 Add a comment that explains that
. this function cannot have _PROF_PROLOGUE
  . this function cannot be called via PLT

Change ENTRY to NENTRY for the former.

XXX: The latter is important in the gcc3 world, that have shared
libraries.  We will need to play tricks with .hidden to make sure
every shared library gets its own private __udivsi3 that it can call
directly, without going through the PLT.
2003-08-27 15:03:06 +00:00
ragge 0303d5ba8a execl, execle and execlp must be weak-aliased. 2003-08-24 21:04:53 +00:00
uwe 42a8e50b21 Add missing prototypes to make softfloat compile with -DSOFTFLOAT_NEED_FIXUNS. 2003-08-21 02:12:33 +00:00
fvdl 6f517be9eb Return the right value for modf(). Fixes PR 22503. 2003-08-16 21:45:50 +00:00
scw ac6cbd4ac3 Pop the caller's PIC prologue and push our own, as we can be called
by other shared libraries with different GOTs (e.g. libposix).
2003-08-12 13:28:55 +00:00
matt 4907369a14 export size_t __getcachelinesize(void) for memset() 2003-08-11 02:11:23 +00:00
scw 6ba9f44930 Repeat after me: Thou shalt run the regression tests. 2003-08-10 20:39:15 +00:00
agc eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
lukem a93ea220fc 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".
2003-08-01 17:03:41 +00:00
mrg 05602c761d add a cast appease gcc3.3 2003-07-27 05:04:02 +00:00
salo 99410184e7 netbsd.org->NetBSD.org 2003-07-26 19:24:24 +00:00
marcus 9b73f39949 Generate proper PIC code for libc_pic.a. 2003-07-01 14:35:44 +00:00
uwe 439470c9f0 Registers _REG_Ri defines are numbered backwards, so when we fill
r4-r7 with arguments, use the correct *minus* i to compute the i-th
register index.
2003-06-23 10:45:20 +00:00
kleink 8929f86e50 Delint a use of uintptr_t; not strictly necessary with -current lint(1),
but consistent with makecontext.c.
2003-05-30 07:23:25 +00:00
petrov 09ec250b4c Declare global register. 2003-05-23 18:20:14 +00:00
simonb 5d5afc14d8 Match END label with LEAF label. 2003-05-23 06:36:10 +00:00