mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
2000-04-11 Andreas Jaeger <aj@suse.de>
* sysdeps/mips/dl-machine.h: Update some comments. (ELF_MACHINE_ALIGN_MASK): Removed, it's not needed.
This commit is contained in:
parent
8a31d74288
commit
8f2aad91d6
@ -52,11 +52,6 @@
|
||||
in l_info array. */
|
||||
#define DT_MIPS(x) (DT_MIPS_##x - DT_LOPROC + DT_NUM)
|
||||
|
||||
#if 0
|
||||
/* We may need 64k alignment. */
|
||||
#define ELF_MACHINE_ALIGN_MASK 0xffff
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MIPS libraries are usually linked to a non-zero base address. We
|
||||
* subtract the base address from the address where we map the object
|
||||
@ -204,8 +199,13 @@ elf_machine_runtime_link_map (ElfW(Addr) gpreg, ElfW(Addr) stub_pc)
|
||||
special argument registers t7 ($15) and t8 ($24):
|
||||
t7 address to return to the caller of the function
|
||||
t8 index for this function symbol in .dynsym
|
||||
to usual c arguments. */
|
||||
to usual c arguments.
|
||||
|
||||
Other architectures call fixup from dl-runtime.c in
|
||||
_dl_runtime_resolve. MIPS instead calls __dl_runtime_resolve. We
|
||||
have to use our own version because of the way the got section is
|
||||
treaded on MIPS (we've also got ELF_MACHINE_PLT defined). */
|
||||
|
||||
#define ELF_MACHINE_RUNTIME_TRAMPOLINE \
|
||||
/* The flag _dl_mips_gnu_objects is set if all dynamic objects are \
|
||||
generated by the gnu linker. */ \
|
||||
@ -240,6 +240,7 @@ __dl_runtime_resolve (ElfW(Word) sym_index, \
|
||||
/* Look up the symbol's run-time value. */ \
|
||||
definer = &symtab[sym_index]; \
|
||||
\
|
||||
/* FIXME: Handle symbol versioning correctly. */ \
|
||||
loadbase = _dl_lookup_symbol (strtab + definer->st_name, l, &definer, \
|
||||
l->l_scope, R_MIPS_REL32); \
|
||||
\
|
||||
@ -457,7 +458,7 @@ elf_machine_got_rel (struct link_map *map, int lazy)
|
||||
ElfW(Sym) *sym;
|
||||
int i, n;
|
||||
const char *strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]);
|
||||
|
||||
/* FIXME: The macro RESOLVE_GOTSYM is not handling versioning. */
|
||||
#define RESOLVE_GOTSYM(sym) \
|
||||
({ \
|
||||
const ElfW(Sym) *ref = sym; \
|
||||
@ -523,7 +524,7 @@ elf_machine_got_rel (struct link_map *map, int lazy)
|
||||
}
|
||||
|
||||
/* Set up the loaded object described by L so its stub function
|
||||
will jump to the on-demand fixup code in dl-runtime.c. */
|
||||
will jump to the on-demand fixup code __dl_runtime_resolve. */
|
||||
|
||||
static inline int
|
||||
elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
|
||||
|
Loading…
Reference in New Issue
Block a user