diff options
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | sysdeps/alpha/dl-machine.h | 4 | ||||
-rw-r--r-- | sysdeps/mach/alpha/syscall.S | 10 | ||||
-rw-r--r-- | sysdeps/mach/alpha/sysdep.h | 9 |
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 |