git: a3876ab1eb87 - stable/13 - rtld-elf/paths.h: Make it usable outside rtld

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Sat, 23 Oct 2021 01:12:32 UTC
The branch stable/13 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=a3876ab1eb8724f5fc4c3b5c44925603882426da

commit a3876ab1eb8724f5fc4c3b5c44925603882426da
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-10-12 15:50:49 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2021-10-22 23:32:27 +0000

    rtld-elf/paths.h: Make it usable outside rtld
    
    (cherry picked from commit 33dba3bb0ec2a0f0a401bed145cc0ef95f37a5c3)
---
 libexec/rtld-elf/arm/reloc.c               |  2 +-
 libexec/rtld-elf/libmap.c                  |  2 +-
 libexec/rtld-elf/rtld.c                    |  2 +-
 libexec/rtld-elf/rtld_malloc.c             |  2 +-
 libexec/rtld-elf/{paths.h => rtld_paths.h} | 18 ++++++++++++++----
 5 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/libexec/rtld-elf/arm/reloc.c b/libexec/rtld-elf/arm/reloc.c
index 7779169667be..4eb3fc7e6929 100644
--- a/libexec/rtld-elf/arm/reloc.c
+++ b/libexec/rtld-elf/arm/reloc.c
@@ -16,7 +16,7 @@ __FBSDID("$FreeBSD$");
 
 #include "debug.h"
 #include "rtld.h"
-#include "paths.h"
+#include "rtld_paths.h"
 
 #ifdef __ARM_FP
 /*
diff --git a/libexec/rtld-elf/libmap.c b/libexec/rtld-elf/libmap.c
index e4388d14b951..854c73f39ef7 100644
--- a/libexec/rtld-elf/libmap.c
+++ b/libexec/rtld-elf/libmap.c
@@ -16,7 +16,7 @@
 #include "debug.h"
 #include "rtld.h"
 #include "libmap.h"
-#include "paths.h"
+#include "rtld_paths.h"
 #include "rtld_libc.h"
 
 TAILQ_HEAD(lm_list, lm);
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index d598bb044f8e..8b1f84c6901a 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$");
 #include "debug.h"
 #include "rtld.h"
 #include "libmap.h"
-#include "paths.h"
+#include "rtld_paths.h"
 #include "rtld_tls.h"
 #include "rtld_printf.h"
 #include "rtld_malloc.h"
diff --git a/libexec/rtld-elf/rtld_malloc.c b/libexec/rtld-elf/rtld_malloc.c
index 63fa6f5e2ee7..d08254b67d9f 100644
--- a/libexec/rtld-elf/rtld_malloc.c
+++ b/libexec/rtld-elf/rtld_malloc.c
@@ -55,7 +55,7 @@ static char *rcsid = "$FreeBSD$";
 #include <unistd.h>
 #include "rtld.h"
 #include "rtld_printf.h"
-#include "paths.h"
+#include "rtld_paths.h"
 
 /*
  * Pre-allocate mmap'ed pages
diff --git a/libexec/rtld-elf/paths.h b/libexec/rtld-elf/rtld_paths.h
similarity index 88%
rename from libexec/rtld-elf/paths.h
rename to libexec/rtld-elf/rtld_paths.h
index 75f3b1d47dd4..4ce423ce6dbb 100644
--- a/libexec/rtld-elf/paths.h
+++ b/libexec/rtld-elf/rtld_paths.h
@@ -26,15 +26,19 @@
  * $FreeBSD$
  */
 
-#ifndef PATHS_H
-#define PATHS_H
+#ifndef _RTLD_PATHS_H
+#define _RTLD_PATHS_H
 
 #undef _PATH_ELF_HINTS
 
+#ifndef	_COMPAT32_BASENAME_RTLD
+#define	_COMPAT32_BASENAME_RTLD		"ld-elf32.so.1"
+#endif
+
 #ifdef COMPAT_32BIT
 #define	_PATH_ELF_HINTS		"/var/run/ld-elf32.so.hints"
 #define	_PATH_LIBMAP_CONF	"/etc/libmap32.conf"
-#define	_BASENAME_RTLD		"ld-elf32.so.1"
+#define	_BASENAME_RTLD		_COMPAT32_BASENAME_RTLD
 #define	STANDARD_LIBRARY_PATH	"/lib32:/usr/lib32"
 #define	LD_			"LD_32_"
 #endif
@@ -55,6 +59,10 @@
 #define	_PATH_RTLD		"/libexec/" _BASENAME_RTLD
 #endif
 
+#ifndef _COMPAT32_PATH_RTLD
+#define	_COMPAT32_PATH_RTLD	"/libexec/" _COMPAT32_BASENAME_RTLD
+#endif
+
 #ifndef STANDARD_LIBRARY_PATH
 #define	STANDARD_LIBRARY_PATH	"/lib/casper:/lib:/usr/lib"
 #endif
@@ -69,10 +77,12 @@
 #define	SOFT_STANDARD_LIBRARY_PATH "/usr/libsoft"
 #define	LD_SOFT_		"LD_SOFT_"
 
+#ifdef IN_RTLD
 extern const char *ld_elf_hints_default;
 extern const char *ld_path_libmap_conf;
 extern const char *ld_path_rtld;
 extern const char *ld_standard_library_path;
 extern const char *ld_env_prefix;
+#endif
 
-#endif /* PATHS_H */
+#endif /* _RTLD_PATHS_H */