From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH] t/hooks

Add link rules to sort hooks, otherwise they are not properly recorded

2012-04-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * Makerules (shlib.lds): Add hurd hooks sorting rules.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

---
 Makerules |   39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

--- a/Makerules
+++ b/Makerules
@@ -501,6 +501,45 @@ $(common-objpfx)shlib.lds: $(common-objp
 		 PROVIDE(__start___libc_thread_subfreeres = .);\
 		 __libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
 		 PROVIDE(__stop___libc_thread_subfreeres = .);\
+		 PROVIDE(__start__hurd_fd_subinit = .);\
+		 _hurd_fd_subinit : { *(_hurd_fd_subinit) }\
+		 PROVIDE(__stop__hurd_fd_subinit = .);\
+		 PROVIDE(__start__hurd_XXX = .);\
+		 _hurd_XXX : { *(_hurd_XXX) }\
+		 PROVIDE(__stop__hurd_XXX = .);\
+		 PROVIDE(__start__hurd_subinit = .);\
+		 _hurd_subinit : { *(_hurd_subinit) }\
+		 PROVIDE(__stop__hurd_subinit = .);\
+		 PROVIDE(__start__hurd_proc_subinit = .);\
+		 _hurd_proc_subinit : { *(_hurd_proc_subinit) }\
+		 PROVIDE(__stop__hurd_proc_subinit = .);\
+		 PROVIDE(__start__hurd_reauth_hook = .);\
+		 _hurd_reauth_hook : { *(_hurd_reauth_hook) }\
+		 PROVIDE(__stop__hurd_reauth_hook = .);\
+		 PROVIDE(__start__hurd_pgrp_changed_hook = .);\
+		 _hurd_pgrp_changed_hook : { *(_hurd_pgrp_changed_hook) }\
+		 PROVIDE(__stop__hurd_pgrp_changed_hook = .);\
+		 PROVIDE(__start__hurd_preinit_hook = .);\
+		 _hurd_preinit_hook : { *(_hurd_preinit_hook) }\
+		 PROVIDE(__stop__hurd_preinit_hook = .);\
+		 PROVIDE(__start__hurd_fork_prepare_hook = .);\
+		 _hurd_fork_prepare_hook : { *(_hurd_fork_prepare_hook) }\
+		 PROVIDE(__stop__hurd_fork_prepare_hook = .);\
+		 PROVIDE(__start__hurd_fork_setup_hook = .);\
+		 _hurd_fork_setup_hook : { *(_hurd_fork_setup_hook) }\
+		 PROVIDE(__stop__hurd_fork_setup_hook = .);\
+		 PROVIDE(__start__hurd_fork_child_hook = .);\
+		 _hurd_fork_child_hook : { *(_hurd_fork_child_hook) }\
+		 PROVIDE(__stop__hurd_fork_child_hook = .);\
+		 PROVIDE(__start__hurd_fork_parent_hook = .);\
+		 _hurd_fork_parent_hook : { *(_hurd_fork_parent_hook) }\
+		 PROVIDE(__stop__hurd_fork_parent_hook = .);\
+		 PROVIDE(__start__hurd_fork_locks = .);\
+		 _hurd_fork_locks : { *(_hurd_fork_locks) }\
+		 PROVIDE(__stop__hurd_fork_locks = .);\
+		 PROVIDE(__start___pthread_init = .);\
+		 __pthread_init : { *(__pthread_init) }\
+		 PROVIDE(__stop___pthread_init = .);\
 		 /DISCARD/ : { *(.gnu.glibc-stub.*) }@'
 	test -s $@T
 	mv -f $@T $@
