From: Roland McGrath Date: Wed, 24 Apr 2002 18:17:16 +0000 (+0000) Subject: * sysdeps/mach/alpha/syscall.S: Don't use .frame, ENTRY will have it; X-Git-Tag: cvs/glibc-2-3~829 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=39bbac1e95d6d1c4004ac4c34525c891307b651b;p=thirdparty%2Fglibc.git * 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. --- diff --git a/ChangeLog b/ChangeLog index fa5687c3f11..39c756bcebd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2002-04-24 Roland McGrath + + * 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 * 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 f6d33739a01..2b15e33518d 100644 --- a/sysdeps/alpha/dl-machine.h +++ b/sysdeps/alpha/dl-machine.h @@ -29,6 +29,10 @@ #include +/* 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 8cb85bff55c..15fc5b75b73 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 -#include 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 ddd98d666a7..84e21c8d5db 100644 --- a/sysdeps/mach/alpha/sysdep.h +++ b/sysdeps/mach/alpha/sysdep.h @@ -43,6 +43,15 @@ #define ALIGN 3 #include +/* 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 #undef at #define at 28