Port-powerpc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: semi-random crashes on some macppc hardware
Michael wrote:
> I've seen semi-random crashes ( often, but nowhere near always things
> like sshd or makemandb would segfault during boot ) [...]
> To me that looks like insufficient instruction cache syncing when
> writing the PLT entries in ld.elf_so, in order to test this I sprinkled
> __syncicache() calls in a few suspicious-looking places in ppc_reloc.c.
> I haven't seen any PLT-related crashes since.
Thanks for that!
I also saw some stability problems since 7.0 on my sandpoint servers
(probably locking problems), but nothing like this so far.
> The diff is attached, I'm sure it does more __syncicache()ing than
> needed but so far I didn't have time to investigate further.
I don't think that the __syncicache() at line 344 would have any effect, as
all these entries will be invalidated at line 148 in _rtld_setup_pltgod()
anyway.
Also your __syncicache(w, 12) seems irrelevant. The only difference is that
it might invalidate one unmodified word behind the entry, while the
previous version invalidated one unmodified word before the entry.
Probably the __syncicache() for line 399 (obj->gotptr != NULL) was the
important one, although I doubt if this is actually executed as code.
Otherwise there is also a __syncicache() for PPC64 missing at line 389?
--
Frank Wille
Home |
Main Index |
Thread Index |
Old Index