1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00

1999-07-21 Roland McGrath <roland@baalperazim.frob.com>

* elf/dl-reloc.c (_dl_reloc_bad_type): New function.
	* elf/ldsodefs.h: Declare it.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Use it
	instead of assert.
	(elf_machine_lazy_rel): Likewise.  Take new arg MAP.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/mips/mips64/dl-machine.h (elf_machine_rel): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/generic/dl-machine.h (elf_machine_rel): Likewise.
	* sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_lazy_rel): Likewise.
	* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Use
	_dl_reloc_bad_type instead of _dl_signal_error.
	* elf/do-rel.h (elf_dynamic_do_rel): Pass MAP to elf_machine_lazy_rel.
This commit is contained in:
Roland McGrath
1999-07-21 16:58:06 +00:00
parent e26996aa99
commit 421c80d27e
15 changed files with 104 additions and 44 deletions

View File

@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. Stub version.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1999 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
@@ -19,7 +19,6 @@
#define ELF_MACHINE_NAME "stub"
#include <assert.h>
#include <string.h>
#include <link.h>
@@ -81,7 +80,7 @@ elf_machine_rel (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM],
memcpy (reloc_addr, (void *) (loadbase + sym->st_value), sym->st_size);
break;
default:
assert (! "unexpected dynamic reloc type");
_dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 0);
break;
}
}