mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-28 14:30:48 +00:00
* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
g->global_gotsym is NULL.
This commit is contained in:
parent
ea591d42c4
commit
d0c7ff072c
@ -1,3 +1,8 @@
|
||||
2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
|
||||
* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
|
||||
g->global_gotsym is NULL.
|
||||
|
||||
2002-08-08 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* elflink.h (elf_add_default_symbol): Don't warn a defintion
|
||||
|
@ -1446,15 +1446,18 @@ mips_elf_global_got_index (abfd, h)
|
||||
bfd_vma index;
|
||||
asection *sgot;
|
||||
struct mips_got_info *g;
|
||||
long global_got_dynindx = 0;
|
||||
|
||||
g = mips_elf_got_info (abfd, &sgot);
|
||||
if (g->global_gotsym != NULL)
|
||||
global_got_dynindx = g->global_gotsym->dynindx;
|
||||
|
||||
/* Once we determine the global GOT entry with the lowest dynamic
|
||||
symbol table index, we must put all dynamic symbols with greater
|
||||
indices into the GOT. That makes it easy to calculate the GOT
|
||||
offset. */
|
||||
BFD_ASSERT (h->dynindx >= g->global_gotsym->dynindx);
|
||||
index = ((h->dynindx - g->global_gotsym->dynindx + g->local_gotno)
|
||||
BFD_ASSERT (h->dynindx >= global_got_dynindx);
|
||||
index = ((h->dynindx - global_got_dynindx + g->local_gotno)
|
||||
* MIPS_ELF_GOT_SIZE (abfd));
|
||||
BFD_ASSERT (index < sgot->_raw_size);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user