Change msgb_abort() function in MSGB_ABORT argument with variable arguments

This enables callers to provide format string and arguments to it

Also, put conditionals into the macro, and remove them from the caller
site.
diff --git a/include/osmocore/msgb.h b/include/osmocore/msgb.h
index 395c7c2..af0dd1e 100644
--- a/include/osmocore/msgb.h
+++ b/include/osmocore/msgb.h
@@ -62,10 +62,11 @@
 
 #ifdef MSGB_DEBUG
 #include <osmocore/panic.h>
-static inline void msgb_abort(struct msgb *msg, const char *text)
-{
-	osmo_panic("%s", text);
-}
+#define MSGB_ABORT(msg, fmt, args ...) do {		\
+	osmo_panic("msgb(%p)" fmt, ## args);		\
+	} while(0)
+#else
+#define MSGB_ABORT(msg, fmt, args ...)
 #endif
 
 #define msgb_l1(m)	((void *)(m->l1h))
@@ -106,10 +107,9 @@
 static inline unsigned char *msgb_put(struct msgb *msgb, unsigned int len)
 {
 	unsigned char *tmp = msgb->tail;
-#ifdef MSGB_DEBUG
 	if (msgb_tailroom(msgb) < len)
-		msgb_abort(msgb, "Not enough tailroom\n");
-#endif
+		MSGB_ABORT(msgb, "Not enough tailroom msgb_push (%u < %u)\n",
+			   msgb_tailroom(msgb), len);
 	msgb->tail += len;
 	msgb->len += len;
 	return tmp;
@@ -157,10 +157,9 @@
 }
 static inline unsigned char *msgb_push(struct msgb *msgb, unsigned int len)
 {
-#ifdef MSGB_DEBUG
 	if (msgb_headroom(msgb) < len)
-		msgb_abort(msgb, "Not enough headroom\n");
-#endif
+		MSGB_ABORT(msgb, "Not enough headroom msgb_push (%u < %u)\n",
+			   msgb_headroom(msgb), len);
 	msgb->data -= len;
 	msgb->len += len;
 	return msgb->data;