Commit Graph

19 Commits

Author SHA1 Message Date
brooks
94f539fc96 Correct MDSRCS use in <arch>/string/Makefile.inc.
- Remove .c files which duplicate entries in MISRCS.
- Use the same, less merge conflict prone style in all cases.
- Use MDSRCS for mips (.c and .S files both ended up in SRCS).
- Remove pointless sparc64 Makefile.inc.
- Remove uninformative foreign VCS ID entries.

Reviewed by:	emaste, imp, jhb
MFC after:	1 week
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D9841
2017-03-02 17:05:52 +00:00
kib
2b6ac44d5d Annotate arm userspace assembler sources stating their tolerance to
the non-executable stack.

Reviewed by:	andrew
Sponsored by:	The FreeBSD Foundation
2015-09-29 16:09:58 +00:00
andrew
f860fdb4f8 Add the needed if-then instructions to build as Thumb-2. 2015-05-31 14:04:11 +00:00
andrew
c05d95287e Switch to the ARM unified assembly language as the clang integrated as only
supports it. Binutils supports it when the ".syntax unified" directive
is set.

Sponsored by:	ABT Systems Ltd
2014-11-29 15:56:52 +00:00
ian
59d82a0684 In ARM asm code, ensure that every ENTRY(foo) has a matching END(foo).
The EABI unwind info requires a .fnend for every .fnstart, and newer
binutils will complain about seeing two .fnstart in a row.  This change
allows newer tools to compile our code.

Reported by:	bapt
Reviewed by:	imp
2014-08-31 17:21:51 +00:00
ed
6014007e00 Merge index() and strchr() together.
As I looked through the C library, I noticed the FreeBSD MIPS port has a
hand-written version of index(). This is nice, if it weren't for the
fact that most applications call strchr() instead.

Also, on the other architectures index() and strchr() are identical,
meaning we have two identical pieces of code in the C library and
statically linked applications.

Solve this by naming the actual file strchr.[cS] and let it use
__strong_reference()/STRONG_ALIAS() to provide the index() routine. Do
the same for rindex()/strrchr().

This seems to make the C libraries and static binaries slightly smaller,
but this reduction in size seems negligible.
2012-01-03 07:14:01 +00:00
joel
63d94ede34 The NetBSD Foundation has granted permission to remove clause 3 and 4 from
their software.

Obtained from:	NetBSD
2010-03-02 22:16:40 +00:00
stas
b91bec2bd9 - Eliminate extra subcs instruction. I have not noticed before that we
always perform substraction now, so no instruction could be rordered
  to eliminate the conditional substraction.
2009-06-21 13:15:56 +00:00
stas
4cb23c58c6 - Fix strncmp on arm. Return 0 as result without performing the
main cycle only if the len passed is equal to 0. If end address
  overflows use last possible address as the end address.

Based on:	discussion on arm@
MFC after:	1 month
2009-06-21 12:58:56 +00:00
sam
3567962cfa revert r191633; this breaks at91 & xscale (likely all arm) 2009-05-06 01:50:04 +00:00
cognet
98bad52869 Change the test at the beginning of strncmp(), from being if (len - 1) < 0
to if (len == 0).
The length is supposed to be unsigned, so len - 1 < 0 won't happen except
if len == 0 anyway, and it would return 0 when it shouldn't, if len was
> INT_MAX.

Spotted out by:	Channa <channa kad gmail com>
2009-04-28 19:20:13 +00:00
cognet
270e0a1e33 MFKernel: do not use __XSCALE__ to detect if clz/pld/ldrd/strd are
available, use _ARM_ARCH_5/_ARM_ARCH_5E instead.

MFC After:	3 days
2007-10-13 12:06:31 +00:00
cognet
8d7cf84363 Fix a long line in copyright notice.
Pointed out by:	Gavin Atkinson gavin.atkinson ury york ac uk
2005-10-03 14:43:27 +00:00
cognet
c1683d9248 Add an asm version of strlen() for arm (how useful). 2005-10-03 14:21:49 +00:00
cognet
98ebb25e56 Use the RET macro.
For setjmp() and longjmp(), put the signal mask where it's supposed to be,
instead of in the space reserved for fp regs.
2004-11-09 16:49:14 +00:00
cognet
913f8c4e59 MFKernel: Implement ffs with clz on Xscale. 2004-11-07 16:54:54 +00:00
cognet
65373cda62 Always use bx for returning on Xscale.
Obtained from:	NetBSD
2004-09-23 23:11:32 +00:00
cognet
35da58a9fd Fix the align-to-32-bits code.
Obtained from:	NetBSD
2004-09-23 23:10:56 +00:00
cognet
bb6bbd6342 Import the FreeBSD/arm libc bits.
Obtained from:	NetBSD
2004-05-14 12:04:31 +00:00