New backend call os_get_config_dirs
diff --git a/backend.h b/backend.h
index cfac65e..2767a94 100644
--- a/backend.h
+++ b/backend.h
@@ -316,7 +316,7 @@
 
 /* This callback needs to be implemented if arch.h defines
  * ARCH_HAVE_DYNLINK_DONE.  It is called after the dynamic linker is
- * done with the process startup.  */
+ * done with the process start-up.  */
 void arch_dynlink_done(struct process *proc);
 
 /* This callback needs to be implemented if arch.h defines
@@ -334,6 +334,22 @@
 int arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr,
 		       arch_addr_t *ret);
 
+/* This is called to obtain a list of directories to search when
+ * loading config files.  The callback sets *RETP to a pointer to the
+ * first element of a NULL-terminated array of directory names.  It's
+ * legitimate to set *RETP to NULL to indicate there are no
+ * directories.  The function returns 0 on success or a negative value
+ * on a failure.
+ *
+ * If PRIVATE is set, the list in *RETP should contain only user's own
+ * directories (presumably under HOME if there's any such thing on the
+ * given OS).  Otherwise only system directories should be reported.
+ *
+ * The directories don't have to exist.  Directories passed in -F are
+ * handled separately by the caller and this callback shouldn't
+ * concern itself with it.  */
+int os_get_config_dirs(int private, const char ***retp);
+
 /* If arch.h defines ARCH_HAVE_FETCH_ARG, the following callbacks have
  * to be implemented: arch_fetch_arg_init, arch_fetch_arg_clone,
  * arch_fetch_arg_done, arch_fetch_arg_next and arch_fetch_retval.