mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 11:20:07 +00:00
update from main archive 961203
This commit is contained in:
parent
d57e8fd526
commit
f1fc182396
@ -1,22 +1,22 @@
|
||||
/* Machine-dependent ELF dynamic relocation inline functions. Alpha version.
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Richard Henderson <rth@tamu.edu>.
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Richard Henderson <rth@tamu.edu>.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This was written in the absence of an ABI -- don't expect
|
||||
it to remain unchanged. */
|
||||
@ -37,13 +37,13 @@ elf_machine_matches_host (Elf64_Word e_machine)
|
||||
return e_machine == EM_ALPHA;
|
||||
}
|
||||
|
||||
/* Return the run-time address of the _GLOBAL_OFFSET_TABLE_.
|
||||
Must be inlined in a function which uses global data. */
|
||||
static inline Elf64_Addr *
|
||||
elf_machine_got (void)
|
||||
/* Return the link-time address of _DYNAMIC. The multiple-got-capable
|
||||
linker no longer allocates the first .got entry for this. But not to
|
||||
worry, no special tricks are needed. */
|
||||
static inline Elf64_Addr
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register Elf64_Addr gp __asm__("$29");
|
||||
return (Elf64_Addr *)(gp - 0x8000);
|
||||
return (Elf64_Addr) &_DYNAMIC;
|
||||
}
|
||||
|
||||
/* Return the run-time load address of the shared object. */
|
||||
|
@ -1,21 +1,21 @@
|
||||
/* Machine-dependent ELF dynamic relocation inline functions. m68k version.
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Copyright (C) 1996 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
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef dl_machine_h
|
||||
#define dl_machine_h
|
||||
@ -38,13 +38,14 @@ elf_machine_matches_host (Elf32_Half e_machine)
|
||||
}
|
||||
|
||||
|
||||
/* Return the run-time address of the _GLOBAL_OFFSET_TABLE_.
|
||||
Must be inlined in a function which uses global data. */
|
||||
static inline Elf32_Addr *
|
||||
elf_machine_got (void)
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
static inline Elf32_Addr
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register Elf32_Addr *got asm ("%a5");
|
||||
return got;
|
||||
return *got;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,22 +1,22 @@
|
||||
/* Machine-dependent ELF dynamic relocation inline functions. mips version.
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
|
||||
/* Machine-dependent ELF dynamic relocation inline functions. MIPS version.
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define ELF_MACHINE_NAME "MIPS"
|
||||
|
||||
@ -67,13 +67,14 @@ elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
|
||||
/* FIXME: the offset of gp from GOT may be system-dependent. */
|
||||
return (ElfW(Addr) *) (gpreg - 0x7ff0);
|
||||
}
|
||||
/* Return the run-time address of the _GLOBAL_OFFSET_TABLE_.
|
||||
Must be inlined in a function which uses global data. */
|
||||
static inline ElfW(Addr) *
|
||||
elf_machine_got (void)
|
||||
/* Return the link-time address of _DYNAMIC. Conveniently, this is the
|
||||
first element of the GOT. This must be inlined in a function which
|
||||
uses global data. */
|
||||
static inline ElfW(Addr)
|
||||
elf_machine_dynamic (void)
|
||||
{
|
||||
register ElfW(Addr) gp asm ("$28");
|
||||
return (ElfW(Addr) *) (gp - 0x7ff0);
|
||||
return * (ElfW(Addr) *) (gp - 0x7ff0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,20 +1,20 @@
|
||||
/* Copyright (C) 1993, 1996 Free Software Foundation, Inc.
|
||||
Contributed by Brendan Kehoe (brendan@zen.org).
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <features.h>
|
||||
@ -63,22 +63,6 @@ __syscall_error:
|
||||
lda sp, 16(sp)
|
||||
ret
|
||||
.end __syscall_error
|
||||
|
||||
/* A default non-threaded version of __errno_location that just returns
|
||||
the address of errno. */
|
||||
|
||||
.weak __errno_location
|
||||
.ent __errno_location
|
||||
__errno_location:
|
||||
.frame sp, 0, ra
|
||||
ldgp gp, 0(t12)
|
||||
.mask 0, 0
|
||||
.prologue 1
|
||||
|
||||
lda v0, errno
|
||||
ret
|
||||
.end __errno_location
|
||||
|
||||
#else
|
||||
|
||||
ENTRY(__syscall_error)
|
||||
|
Loading…
Reference in New Issue
Block a user