about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-30 16:57:48 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-30 16:57:48 +0000
commit69f155d4fc11f2f0e1dd1bfcd804192303ba1627 (patch)
treeced40eb216ea58b252952737a6747f19d1db8e4f /sysdeps/unix/sysv/linux
parent3dd2c3e24702b91473b30d5a0baf9954c37fd35b (diff)
downloadglibc-69f155d4fc11f2f0e1dd1bfcd804192303ba1627.tar.gz
glibc-69f155d4fc11f2f0e1dd1bfcd804192303ba1627.tar.xz
glibc-69f155d4fc11f2f0e1dd1bfcd804192303ba1627.zip
Update.
1998-04-30 16:45  Ulrich Drepper  <drepper@cygnus.com>

	* inet/ether_aton.c: Including netinet/if_ether.h is not necessary.

	* locale/Makefile (distribute): Add programs/repertoire.h.
	(localedef-modules): Add repertoire.
	(CPPFLAGS): Define REPERTOIREMAP_PATH.
	* locale/programs/repertoire.c: New file.
	* locale/programs/repertoire.h: New file.
	* locale/programs/charmap.c: Starting fixing character set handling
	to handle multi-byte encodings.
	* locale/programs/charset.c: Likewise.
	* locale/programs/charset.h: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/locfile-kw.h: Likewise.
	* locale/programs/locfile-token.h: Likewise.
	* locale/programs/locfile.h: Likewise.
	* locale/programs/stringtrans.c: Likewise.

1998-04-18  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/arm/memset.S: Fix off by one error.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): On error, call
	__syscall_error rather than syscall_error directly.

1998-04-17  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/unix/sysv/linux/arm/mmap.S: New file; implementation of
	mmap() syscall for ARM.

	* sysdeps/unix/arm/start.c: New file; startup code for ARM a.out
	binaries.
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/arm/mmap.S39
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.h2
2 files changed, 40 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/mmap.S b/sysdeps/unix/sysv/linux/arm/mmap.S
new file mode 100644
index 0000000000..905303e8e3
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/mmap.S
@@ -0,0 +1,39 @@
+/* Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sysdep.h>
+
+	.text
+
+ENTRY (__mmap)
+
+	/* Because we can only get five args through the syscall interface, and
+	   mmap() takes six, we need to build a parameter block and pass its	
+	   address instead.  The 386 port does a similar trick.  */
+
+	mov	ip, sp
+	stmdb	ip!, {a1-a4}
+	mov	a1, ip
+	swi	SYS_ify (mmap)
+	cmn	r0, $4096
+	bhs	PLTJMP(syscall_error);
+	ret
+
+PSEUDO_END (__mmap)
+
+weak_alias (__mmap, mmap)
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h
index 8a5111f082..14dd17c02a 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -53,7 +53,7 @@
   ENTRY (name)								      \
     DO_CALL (args, syscall_name);					      \
     cmn r0, $4096;							      \
-    bhs PLTJMP(syscall_error);
+    bhs PLTJMP(C_SYMBOL_NAME(__syscall_error));
 
 #undef	PSEUDO_END
 #define	PSEUDO_END(name)						      \