Hi! On Thu, 10 May 2012 10:44:00 +0200, Samuel Thibault <samuel.thiba...@gnu.org> wrote: > Thomas Schwinge, le Thu 10 May 2012 11:17:01 +0800, a écrit : > > On Mon, 23 Apr 2012 14:38:41 +0000, Samuel Thibault > > <samuel.thiba...@ens-lyon.org> wrote: > > > The branch, t/hooks has been created > > > at 56798c444bc584c118b69a3506c4050b34edc35f (commit) > > > > > > - Log ----------------------------------------------------------------- > > > commit 56798c444bc584c118b69a3506c4050b34edc35f > > > Author: Samuel Thibault <samuel.thiba...@ens-lyon.org> > > > Date: Sat Apr 21 21:03:12 2012 +0200 > > > > > > Add link rules to sort hooks > > > > > > otherwise they are not properly recorded > > > > What is this about, what kind of issue does it address? (I'm afraid I > > don't know a lot about this hooks stuff.) > > See the RUN_HOOK macro. It needs that all the symbols referenced by > text_set_element are folded between the __stop__ and __start__ symbols, > otherwise the for loop doesn't find them.
Thanks, that helps. How did this work before, though? Due to __symbol_set_attribute specifying weak linkage for the static case, I can see why we didn't get undefined symbol errors when linking for the static case, but what about the dynamic case? (And that'd mean the whole loop just was a no-op before, right?) Did you find this while working on a specific problem? Also, what about data_set_element which is only used in hurd/dtable.c for _hurd_fork_locks, which is manually run through twice in sysdeps/mach/hurd/fork.c, but which I can't find start and stop markers being defined for? And, might something like that in fact be responsible for the issue I had already seen months ago, but have just earlier today finally posted as <http://www.bddebian.com:8888/~hurd-web/open_issues/fork_deadlock/>? Lastly, _hurd_fork_setup_hook is only defined but never used, it seems. Grüße, Thomas
pgpLQLnQEdUsB.pgp
Description: PGP signature