diff options
author | Roland McGrath <roland@gnu.org> | 2002-04-24 18:17:16 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-04-24 18:17:16 +0000 |
commit | 39bbac1e95d6d1c4004ac4c34525c891307b651b (patch) | |
tree | 57dff8e09f22b0e5d3ff60986f60ce0833ef3492 /sysdeps | |
parent | 5edf59cf936359225f9ccef8c64382e4ba38a994 (diff) | |
download | glibc-39bbac1e95d6d1c4004ac4c34525c891307b651b.zip glibc-39bbac1e95d6d1c4004ac4c34525c891307b651b.tar.gz glibc-39bbac1e95d6d1c4004ac4c34525c891307b651b.tar.bz2 |
* 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.
Diffstat (limited to 'sysdeps')
-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 |
3 files changed, 17 insertions, 6 deletions
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h index f6d3373..2b15e33 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 8cb85bf..15fc5b7 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 ddd98d6..84e21c8 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 |