On Thursday, August 18, 2016, Mark Kettenis <mark.kette...@xs4all.nl> wrote: ... > > > > There is a functional change here. Our current ld.so doesn't run > > > DT_INIT and DT_FINI for the main executable. The ELF standard is a bit > > > ambiguous about this, but Linux does run tose for the main executable. > > > And Solaris allegedly does as well. So my diff changes that. > > > > ld.so doesn't run them because __start() in csu does! Note that csu > needs > > to run them for static executables, and we use the same crt0.o for both > > static and dynamic executables. I think you're double executing them > with > > this. > > We're not double executing because we don't create a DT_INIT entry for > them.
Hmm, is that a bug? Static and dynamic should ideally behave the same for all these, no? Philip