move allocation of talloc contexts into link-time constructor

This is much more optimal than checking if the context exists every
time we allocate the respective object.
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index 0703e93..b63a717 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -219,9 +219,6 @@
 	struct gsm_bts_paging_state *bts_entry = &bts->paging;
 	struct gsm_paging_request *req;
 
-	if (!tall_paging_ctx)
-		tall_paging_ctx = talloc_named_const(NULL, 1, "paging_request");
-
 	if (paging_pending_request(bts_entry, subscr)) {
 		DEBUGP(DPAG, "Paging request already pending\n");
 		return;
@@ -310,3 +307,8 @@
 {
 	bts->paging.available_slots = free_slots;
 }
+
+static __attribute__((constructor)) void on_dso_load_paging(void)
+{
+	tall_paging_ctx = talloc_named_const(NULL, 1, "paging_request");
+}