new syscall stub support for ia64 libc
Jakub Jelinek
jakub@redhat.com
Thu Nov 13 21:44:00 GMT 2003
On Thu, Nov 13, 2003 at 01:34:13PM -0800, David Mosberger wrote:
> --- elf/rtld.c
> +++ elf/rtld.c
> @@ -1169,7 +1169,7 @@
> l->l_ldnum = ph->p_memsz / sizeof (ElfW(Dyn));
> break;
> }
> - if (ph->p_type == PT_LOAD)
> + if (i == 0 && ph->p_type == PT_LOAD)
> assert ((void *) ph->p_vaddr == GL(dl_sysinfo_dso));
> }
> elf_get_dynamic_info (l, dyn_temp);
Shouldn't this be:
+#ifndef NDEBUG
+ uint_fast16_t pt_load_num = 0;
+#endif
for (uint_fast16_t i = 0; i < l->l_phnum; ++i)
{
const ElfW(Phdr) *const ph = &l->l_phdr[i];
if (ph->p_type == PT_DYNAMIC)
{
l->l_ld = (void *) ph->p_vaddr;
l->l_ldnum = ph->p_memsz / sizeof (ElfW(Dyn));
break;
}
+#ifndef NDEBUG
if (ph->p_type == PT_LOAD)
- assert ((void *) ph->p_vaddr == GL(dl_sysinfo_dso));
+ {
+ assert (pt_load_num
+ || (void *) ph->p_vaddr == GL(dl_sysinfo_dso));
+ pt_load_num++;
+ }
+#endif
}
?
Jakub
More information about the Libc-hacker
mailing list