about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--sysdeps/alpha/dl-machine.h4
-rw-r--r--sysdeps/mach/alpha/syscall.S10
-rw-r--r--sysdeps/mach/alpha/sysdep.h9
4 files changed, 34 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index fa5687c3f1..39c756bceb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2002-04-24  Roland McGrath  <roland@frob.com>
+
+	* sysdeps/mach/alpha/syscall.S: Don't use .frame, ENTRY will have it;
+	use END macro instead of our own .end directive.
+	Use `callsys' insn mnemonic instead of `call_pal'.
+
+	* sysdeps/mach/alpha/sysdep.h (ENTRY): New macro.
+
+	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New
+	macro; we need this for Hurd.
+
+	Log entry was missing for 2002/03/24 commit of rev 1.8,
+	goes with 2002-03-17 changes.
+	* sysdeps/mach/hurd/i386/Makefile [$(subdir) = misc]
+	(sysdep_routines): Append ioperm here.
+	(sysdep_headers): Append sys/io.h here.
+
 2002-04-23  Roland McGrath  <roland@frob.com>
 
 	* sysdeps/mach/hurd/send.c: int -> size_t for WROTE.
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index f6d33739a0..2b15e33518 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -29,6 +29,10 @@
 #include <string.h>
 
 
+/* Mask identifying addresses reserved for the user program,
+   where the dynamic linker should not map anything.  */
+#define ELF_MACHINE_USER_ADDRESS_MASK	0x120000000UL
+
 /* Return nonzero iff ELF header is compatible with the running host.  */
 static inline int
 elf_machine_matches_host (const Elf64_Ehdr *ehdr)
diff --git a/sysdeps/mach/alpha/syscall.S b/sysdeps/mach/alpha/syscall.S
index 8cb85bff55..15fc5b75b7 100644
--- a/sysdeps/mach/alpha/syscall.S
+++ b/sysdeps/mach/alpha/syscall.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994,97,2002 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
@@ -17,10 +17,8 @@
    02111-1307 USA.  */
 
 #include <sysdep.h>
-#include <mach/machine/alpha_instruction.h>
 
 ENTRY (syscall)
-	.frame sp,0,ra
 	mov a0, v0		/* Load system call number from first arg.  */
 	mov a1, a0
 	mov a2, a1
@@ -34,6 +32,6 @@ ENTRY (syscall)
 	ldq t2,24(sp)
 	ldq t3,32(sp)
 	ldq t4,40(sp)
-	call_pal op_chmk
-	RET
-	.end	syscall
+	callsys
+	ret
+END (syscall)
diff --git a/sysdeps/mach/alpha/sysdep.h b/sysdeps/mach/alpha/sysdep.h
index ddd98d666a..84e21c8d5d 100644
--- a/sysdeps/mach/alpha/sysdep.h
+++ b/sysdeps/mach/alpha/sysdep.h
@@ -43,6 +43,15 @@
 #define ALIGN 3
 #include <sysdeps/mach/sysdep.h>
 
+/* Alpha needs the .ent and .frame magic that the generic version lacks.  */
+#undef ENTRY
+#define ENTRY(name)				\
+  .globl name;					\
+  .align 3;					\
+  .ent name, 0;					\
+  name##:					\
+  .frame sp, 0, ra
+
 #include <mach/alpha/asm.h>
 #undef	at
 #define at	28