On Tue, Jul 7, 2009 at 6:07 PM, John David Anglin<dave@xxxxxxxxxxxxxxxxxx> wrote: > I would guess that the loop terminated early because the l_info array > is all zeros except for the first NEEDED entry. It appears correct. The > loop might have terminated early because of a cache issue, or possibly > the value loaded from memory somehow got corrupted. Another possibility > would be the mmap operation wasn't complete when the memory was examined > by the dynamic loader. When the core dump was done, the operation was > complete. > > I think it's less likely that a cache issue affected the memory used by > the dynamic loader (l_info field) as the data before and after in the > map seemed reasonable. > > The fact PA8700 processors are also experiencing similar problems > would seem to suggest that this isn't a PA8800 L2 issue unless we have > multiple problems. > > I think we need to try running a recent kernel on gsyprf11 for a while > to see if we can capture a similar event. This rang a bell... In glibc/elf/rtld.c we have this: /* Partly clean the `bootstrap_map' structure up. Don't use `memset' since it might not be built in or inlined and we cannot make function calls at this point. Use '__builtin_memset' if we know it is available. We do not have to clear the memory if we do not have to use the temporary bootstrap_map. Global variables are initialized to zero by default. */ #ifndef DONT_USE_BOOTSTRAP_MAP # ifdef HAVE_BUILTIN_MEMSET __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); # else for (size_t cnt = 0; cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); ++cnt) bootstrap_map.l_info[cnt] = 0; # endif On hppa we don't have builtin memset (probably one of the few arches), so we fall back on this weird loop which I always thought was wrong. I was seeing problems with l_info having garbage in it, so I had a local hack which cleared the entire bootstrap_map. Did your l_info come from the bootstrap_map? Cheers, Carlos. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html