* sysdeps/mach/alpha/syscall.S: Don't use .frame, ENTRY will have it;
authorRoland McGrath <roland@gnu.org>
Wed, 24 Apr 2002 18:17:16 +0000 (18:17 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 24 Apr 2002 18:17:16 +0000 (18:17 +0000)
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.

ChangeLog
sysdeps/alpha/dl-machine.h
sysdeps/mach/alpha/syscall.S
sysdeps/mach/alpha/sysdep.h

index fa5687c..39c756b 100644 (file)
--- 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.
index f6d3373..2b15e33 100644 (file)
 #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)
index 8cb85bf..15fc5b7 100644 (file)
@@ -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
    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)
index ddd98d6..84e21c8 100644 (file)
 #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