Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsru…
…he.de>

	* malloc/malloc.c (_malloc_internal): Performance fix.  Move
	if statement out of loop.

	* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite.  Much faster
	implementation using GMP functions.  Contributed by
	Torbjorn Granlund and Ulrich Drepper.

	* stdio/test_rdwr.c: Include <errno.h>.

	* sysdeps/i386/i586/Implies: New file.

	New highly optimized string functions for i[345]86.
	* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
        * sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
        * sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
        * sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
        * sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
        * sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
        * sysdeps/i386/i586/strlen.S: New file.
	* sysdeps/i386/memchr.c: Removed.  There is now an assembler version.

	* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
	not correspond to used values.

	* sysdeps/unix/sysv/linux/nfs/nfs.h: New file.  Simply a wrapper
        around a kernel header file.
	* sysdeps/unix/sysv/linux/Dist: Add it.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
	Likewise.

	* sysdeps/unix/sysv/linux/local_lim.h: Rewrite.  Instead of
        defining ourself we use a kernel header file.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
        call handler for i586.

	* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
Sat Oct 14 02:52:36 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* malloc/malloc.c (_malloc_internal): Performance fix.  Move
	if statement out of loop.

	* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite.  Much faster
	implementation using GMP functions.  Contributed by
	Torbjorn Granlund and Ulrich Drepper.

	* stdio/test_rdwr.c: Include <errno.h>.

	* sysdeps/i386/i586/Implies: New file.

	New highly optimized string functions for i[345]86.
	* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
        * sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
        * sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
        * sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
        * sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
        * sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
        * sysdeps/i386/i586/strlen.S: New file.
	* sysdeps/i386/memchr.c: Removed.  There is now an assembler version.

	* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
	not correspond to used values.

	* sysdeps/unix/sysv/linux/nfs/nfs.h: New file.  Simply a wrapper
        around a kernel header file.
	* sysdeps/unix/sysv/linux/Dist: Add it.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
	Likewise.

	* sysdeps/unix/sysv/linux/local_lim.h: Rewrite.  Instead of
        defining ourself we use a kernel header file.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
        call handler for i586.

	* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
  • Loading branch information
Roland McGrath committed Oct 16, 1995
1 parent 5d82cf5 commit 8f5ca04
Show file tree
Hide file tree
Showing 109 changed files with 9,753 additions and 359 deletions.
2 changes: 1 addition & 1 deletion .cvsignore
Expand Up @@ -5,7 +5,7 @@ glibc-*

configparms

sun4 i386 i386-gnuelf hp300-netbsd hp300 i486-linux
sun[43]* i[345]86* hp300*

ieeetest hppa-sysdeps regex

Expand Down
40 changes: 40 additions & 0 deletions ChangeLog
@@ -1,3 +1,43 @@
Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>

* malloc/malloc.c (_malloc_internal): Performance fix. Move
if statement out of loop.

* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite. Much faster
implementation using GMP functions. Contributed by
Torbjorn Granlund and Ulrich Drepper.

* stdio/test_rdwr.c: Include <errno.h>.

* sysdeps/i386/i586/Implies: New file.

New highly optimized string functions for i[345]86.
* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
* sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
* sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
* sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
* sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
* sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
* sysdeps/i386/i586/strlen.S: New file.
* sysdeps/i386/memchr.c: Removed. There is now an assembler version.

* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
not correspond to used values.

* sysdeps/unix/sysv/linux/nfs/nfs.h: New file. Simply a wrapper
around a kernel header file.
* sysdeps/unix/sysv/linux/Dist: Add it.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
Likewise.

* sysdeps/unix/sysv/linux/local_lim.h: Rewrite. Instead of
defining ourself we use a kernel header file.

* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
call handler for i586.

* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.

Wed Oct 11 00:00:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>

* sysdeps/i386/dl-machine.h (elf_machine_rel): Use +=, not =, to
Expand Down
28 changes: 12 additions & 16 deletions configure.in
Expand Up @@ -82,22 +82,18 @@ changequote(,)dnl
# Expand the configuration machine name into a subdirectory by architecture
# type and particular chip.
case "$machine" in
i[345]86)
machine=i386/$machine ;;
sparc[6789])
machine=sparc/$machine ;;
m68k)
machine=m68k/m68020 ;;
m680?0)
machine=m68k/$machine ;;
m88k)
machine=m88k/m88100 ;;
m88???)
machine=m88k/$machine ;;
mips64*)
machine=mips/mips64/$machine ;;
mips*)
machine=mips/$machine ;;
a29k | am29000) machine=a29k ;;
alpha*) machine=alpha/$machine ;;
hppa*) machine=hppa/$machine ;;
i[345]86) machine=i386/$machine ;;
m680?0) machine=m68k/$machine ;;
m68k) machine=m68k/m68020 ;;
m88???) machine=m88k/$machine ;;
m88k) machine=m88k/m88100 ;;
mips*) machine=mips/$machine ;;
mips64*) machine=mips/mips64/$machine ;;
sparc[6789]) machine=sparc/$machine ;;
supersparc) machine=sparc/sparc8 ;;
esac

# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
Expand Down
4 changes: 2 additions & 2 deletions hurd/Makefile
Expand Up @@ -26,7 +26,7 @@ include ../Makeconfig

headers = hurd.h $(interface-headers) \
$(addprefix hurd/,fd.h id.h port.h signal.h userlink.h \
resource.h threadvar.h)
resource.h threadvar.h lookup.h)

distribute := hurdstartup.h hurdfault.h intr-rpc.defs STATUS

Expand All @@ -44,7 +44,7 @@ routines = hurdstartup hurdinit \
setauth \
pid2task task2pid \
getuids setuids getumask fchroot \
hurdsock hurdauth invoke-trans \
hurdsock hurdauth \
privports \
msgportdemux \
fopenport \
Expand Down
69 changes: 14 additions & 55 deletions hurd/hurd.h
Expand Up @@ -77,11 +77,16 @@ extern struct hurd_port *_hurd_ports;
extern unsigned int _hurd_nports;
extern volatile mode_t _hurd_umask;

/* Shorthand macro for referencing _hurd_ports (see <hurd/port.h>). */
/* Shorthand macro for internal library code referencing _hurd_ports (see
<hurd/port.h>). */

#define __USEPORT(which, expr) \
HURD_PORT_USE (&_hurd_ports[INIT_PORT_##which], (expr))

/* Function version of __USEPORT: calls OPERATE with a send right. */

extern error_t _hurd_ports_use (int which, error_t (*operate) (mach_port_t));


/* Base address and size of the initial stack set up by the exec server.
If using cthreads, this stack is deallocated in startup.
Expand Down Expand Up @@ -150,52 +155,6 @@ extern int setcttyid (mach_port_t);
extern int __setauth (auth_t), setauth (auth_t);


/* Split FILE into a directory and a name within the directory. Look up a
port for the directory and store it in *DIR; store in *NAME a pointer
into FILE where the name within directory begins. The directory lookup
uses CRDIR for the root directory and CWDIR for the current directory.
Returns zero on success or an error code. */

extern error_t __hurd_file_name_split (file_t crdir, file_t cwdir,
const char *file,
file_t *dir, char **name);
extern error_t hurd_file_name_split (file_t crdir, file_t cwdir,
const char *file,
file_t *dir, char **name);

/* Open a port to FILE with the given FLAGS and MODE (see <fcntl.h>).
The file lookup uses CRDIR for the root directory and CWDIR for the
current directory. If successful, returns zero and store the port
to FILE in *PORT; otherwise returns an error code. */

extern error_t __hurd_file_name_lookup (file_t crdir, file_t cwdir,
const char *file,
int flags, mode_t mode,
file_t *port);
extern error_t hurd_file_name_lookup (file_t crdir, file_t cwdir,
const char *filename,
int flags, mode_t mode,
file_t *port);

/* Process the values returned by `dir_lookup' et al, and loop doing
`dir_lookup' calls until one returns FS_RETRY_NONE. CRDIR is the
root directory used for things like symlinks to absolute file names; the
other arguments should be those just passed to and/or returned from
`dir_lookup', `fsys_getroot', or `file_invoke_translator'. This
function consumes the reference in *RESULT even if it returns an error. */

extern error_t __hurd_file_name_lookup_retry (file_t crdir,
enum retry_type doretry,
char retryname[1024],
int flags, mode_t mode,
file_t *result);
extern error_t hurd_file_name_lookup_retry (file_t crdir,
enum retry_type doretry,
char retryname[1024],
int flags, mode_t mode,
file_t *result);


/* Split FILE into a directory and a name within the directory. The
directory lookup uses the current root and working directory. If
successful, stores in *NAME a pointer into FILE where the name
Expand All @@ -213,15 +172,15 @@ extern file_t file_name_split (const char *file, char **name);
extern file_t __file_name_lookup (const char *file, int flags, mode_t mode);
extern file_t file_name_lookup (const char *file, int flags, mode_t mode);

/* Invoke any translator set on the node FILE represents, and return in
*TRANSLATED a port to the translated node. FLAGS are as for
`dir_lookup' et al, but the returned port will not necessarily have
any more access rights than FILE does. */
/* Open a port to FILE with the given FLAGS and MODE (see <fcntl.h>). The
file lookup uses the current root directory, but uses STARTDIR as the
"working directory" for file relative names. Returns a port to the file
if successful; otherwise sets `errno' and returns MACH_PORT_NULL. */

extern error_t __hurd_invoke_translator (file_t file, int flags,
file_t *translated);
extern error_t hurd_invoke_translator (file_t file, int flags,
file_t *translated);
extern file_t __file_name_lookup_under (file_t startdir, const char *file,
int flags, mode_t mode);
extern file_t file_name_lookup_under (file_t startdir, const char *file,
int flags, mode_t mode);


/* Open a file descriptor on a port. FLAGS are as for `open'; flags
Expand Down
6 changes: 6 additions & 0 deletions hurd/hurdinit.c
Expand Up @@ -31,6 +31,12 @@ struct hurd_port *_hurd_ports;
unsigned int _hurd_nports;
mode_t _hurd_umask;

error_t
_hurd_ports_use (int which, error_t (*operate) (mach_port_t))
{
return HURD_PORT_USE (&_hurd_ports[which], (*operate) (port));
}

void _hurd_proc_init (char **argv);

DEFINE_HOOK (_hurd_subinit, (void));
Expand Down

0 comments on commit 8f5ca04

Please sign in to comment.