Commit Graph

3 Commits

Author SHA1 Message Date
Greg McGary
2ed5fd9a2a update
2000-07-26  Greg McGary  <greg@mcgary.org>

	* Makeconfig (+link-bounded, link-libc-bounded,
	link-extra-libs-bounded): New variables.
	(built-program-cmd): Omit $(run-program-prefix) for static BP tests.
	* Makerules (do-tests-clean, common-mostlyclean): Remove BP test files.
	* Rules (tests-bp.out): New variable.
	(tests): Conditionally add BP tests.
	(binaries-bounded): Add variable and associated rule.
	* csu/Makefile [build-bounded] (extra-objs, install-lib):
	Move conditional stuff after place where condition is defined.

	* malloc/malloc.c (bp-checks.h): Add #include.
	(mem2chunk, chunk_at_offset, bin_at): Wrap BOUNDED_1 around expression.
	(_bin_at): Add unbounded version of bin_at.
	(IAV, chunk_alloc): Use unbounded _bin_at.
	(mALLOc, rEALLOc, chunk_realloc, mEMALIGn, cALLOc,
	chunk2mem_check, realloc_check, malloc_starter, malloc_atfork):
	Wrap BOUNDED_N around return value.
	(chunk_realloc): Adjust oldsize once.

	* sysdeps/generic/bp-checks.h (__memchr): Remove incorrect decl.
	(__ubp_memchr): Add correct decl.
	(_CHECK_STRING): Use __ubp_memchr.
	* sysdeps/alpha/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
	New alias for unbounded-pointer __memchr.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/ia64/memchr.S: Likewise.
	* sysdeps/m68k/memchr.S: Likewise.
	* sysdeps/sparc/sparc32/memchr.S: Likewise.
	* sysdeps/sparc/sparc64/memchr.S: Likewise.
	* sysdeps/vax/memchr.s: Likewise.

	* sysdeps/i386/strtok.S: Fix bounds checks to pass tests.
	(SAVE_PTR): New macro.  (save_ptr): Expand size as BP.
	(strtok): Don't bother to write into SAVE_PTR when returning NULL.
	* sysdeps/i386/i686/strtok.S: Likewise.
	* sysdeps/i386/bp-asm.h (RETURN_BOUNDED_POINTER,
	RETURN_NULL_BOUNDED_POINTER): Use %ecx as the scratch register.

	* sysdeps/i386/bits/string.h [!__BOUNDED_POINTERS__]: Disable inlines.
	* sysdeps/i386/i486/bits/string.h [!__BOUNDED_POINTERS__]: Likewise.

	* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Copy
	bounds of copy_result to mount_proc.
2000-07-26 18:21:25 +00:00
Greg McGary
abf7063390 * sysdeps/generic/bp-checks.h: Use unbounded __memchr
rather than non-existent __ubp_memchr. 
(CHECK_STRINGopt, CHECK_FCNTL, BOUNDED_N, BOUNDED_1): New macros. 
(_CHECK_STRING, _CHECK_N): New macros. 
(CHECK_STRING, CHECK_N, CHECK_Nopt): Rewrite in terms of _CHECK_*. 
(CHECK_IOCTL): Move inside `#if !__ASSEMBLER__'. 
* sysdeps/alpha/memchr.S: Change strong name to "__memchr". 
Add weak alias "memchr". 
* sysdeps/generic/memchr.c: Likewise. 
* sysdeps/i386/memchr.S: Likewise. 
* sysdeps/ia64/memchr.S: Likewise. 
* sysdeps/m68k/memchr.S: Likewise. 
* sysdeps/sparc/sparc32/memchr.S: Likewise. 
* sysdeps/sparc/sparc64/memchr.S: Likewise. 
* sysdeps/vax/memchr.s: Likewise.
	* sysdeps/generic/bp-checks.h: Use unbounded __memchr
	rather than non-existent __ubp_memchr.
	(CHECK_STRINGopt, CHECK_FCNTL, BOUNDED_N, BOUNDED_1): New macros.
	(_CHECK_STRING, _CHECK_N): New macros.
	(CHECK_STRING, CHECK_N, CHECK_Nopt): Rewrite in terms of _CHECK_*.
	(CHECK_IOCTL): Move inside `#if !__ASSEMBLER__'.
	* sysdeps/alpha/memchr.S: Change strong name to "__memchr".
	Add weak alias "memchr".
	* sysdeps/generic/memchr.c: Likewise.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/ia64/memchr.S: Likewise.
	* sysdeps/m68k/memchr.S: Likewise.
	* sysdeps/sparc/sparc32/memchr.S: Likewise.
	* sysdeps/sparc/sparc64/memchr.S: Likewise.
	* sysdeps/vax/memchr.s: Likewise.
2000-07-17 22:36:16 +00:00
Richard Henderson
ae6b873031 Sparc string routines from Jakub.
1999-03-29  Jakub Jelinek  <jj@ultra.linux.cz>

	* sysdeps/sparc/sparc32/sparcv8/Makefile: New file.
	* sysdeps/sparc/sparc32/sparcv8/rem.S: Delay after write %y.
	* sysdeps/sparc/sparc32/sparcv8/sdiv.S: Likewise.
	* sysdeps/sparc/sparc32/sparcv8/udiv.S: Likewise.
	* sysdeps/sparc/sparc32/sparcv8/urem.S: Likewise.

	* sysdeps/sparc/sparc32/sparcv9/bcopy.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/bzero.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/memchr.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/memcmp.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/memcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/memset.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/stpcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strcat.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strchr.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strcmp.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strcspn.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strlen.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strncpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strpbrk.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strrchr.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/strspn.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/dotmul.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/rem.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/sdiv.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/udiv.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/umul.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/urem.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/Makefile: New file.
	* sysdeps/sparc/sparc32/sparcv9/stpncpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/strncmp.S: New file.

	* sysdeps/sparc/sparc32/bcopy.c: New file.
	* sysdeps/sparc/sparc32/bzero.c: New file.
	* sysdeps/sparc/sparc32/memchr.S: New file.
	* sysdeps/sparc/sparc32/memcpy.S: New file.
	* sysdeps/sparc/sparc32/memmove.c: New file.
	* sysdeps/sparc/sparc32/memset.S: New file.
	* sysdeps/sparc/sparc32/stpcpy.S: New file.
	* sysdeps/sparc/sparc32/strchr.S: New file.
	* sysdeps/sparc/sparc32/strrchr.c: New file.
	* sysdeps/sparc/sparc32/strcpy.S: New file.
	* sysdeps/sparc/sparc32/strlen.S: New file.
	* sysdeps/sparc/sparc32/strcat.S: New file.
	* sysdeps/sparc/sparc32/strcmp.S: New file.

	* sysdeps/sparc/sparc64/bcopy.c: New file.
	* sysdeps/sparc/sparc64/bzero.c: New file.
	* sysdeps/sparc/sparc64/memchr.S: New file.
	* sysdeps/sparc/sparc64/memcmp.S: New file.
	* sysdeps/sparc/sparc64/memcpy.S: New file.
	* sysdeps/sparc/sparc64/memset.S: New file.
	* sysdeps/sparc/sparc64/stpcpy.S: New file.
	* sysdeps/sparc/sparc64/strcat.S: New file.
	* sysdeps/sparc/sparc64/strchr.S: New file.
	* sysdeps/sparc/sparc64/strcmp.S: New file.
	* sysdeps/sparc/sparc64/strcpy.S: New file.
	* sysdeps/sparc/sparc64/strcspn.S: New file.
	* sysdeps/sparc/sparc64/strlen.S: New file.
	* sysdeps/sparc/sparc64/strncpy.S: New file.
	* sysdeps/sparc/sparc64/strpbrk.S: New file.
	* sysdeps/sparc/sparc64/strrchr.c: New file.
	* sysdeps/sparc/sparc64/strspn.S: New file.
	* sysdeps/sparc/sparc64/stpncpy.S: New file.
	* sysdeps/sparc/sparc64/strncmp.S: New file.

	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (ASFLAGS-.os):
	Append -fPIC, don't replace.

	* configure.in: Recognize sparcv8plus / sparcv9.
1999-03-29 13:25:15 +00:00