summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2011-03-26 01:13:29 +0100
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-06-15 14:00:34 +0200
commitd5f3b8031b87fbc2d355e167c4358f28392d5c4d (patch)
treef943951600d99474f54da80a1b51695cbd1712cb
parent8eab3dcbe2c9d0eb1d326329cac9dcce84b6f304 (diff)
dl-string.h: change IS_IN_libdl guard to IS_IN_rtld
The guard is changed to allow to be used the file in libc as well. Include string.h (although already included by ldso.h). Guard the rest of the file according to config options. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--ldso/include/dl-string.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/ldso/include/dl-string.h b/ldso/include/dl-string.h
index 60dfd2b01..c01881cb4 100644
--- a/ldso/include/dl-string.h
+++ b/ldso/include/dl-string.h
@@ -23,7 +23,7 @@
#define NULL ((void *) 0)
#endif
-#ifndef IS_IN_libdl
+#ifdef IS_IN_rtld
static __always_inline size_t _dl_strlen(const char *str)
{
register const char *ptr = (char *) str-1;
@@ -198,7 +198,8 @@ static __always_inline char * _dl_get_last_path_component(char *path)
;/* empty */
return ptr == path ? ptr : ptr+1;
}
-#else /* IS_IN_libdl */
+#else /* IS_IN_rtld */
+# include <string.h>
# define _dl_strlen strlen
# define _dl_strcat strcat
# define _dl_strcpy strcpy
@@ -207,8 +208,9 @@ static __always_inline char * _dl_get_last_path_component(char *path)
# define _dl_memcpy memcpy
# define _dl_memcmp memcmp
# define _dl_memset memset
-#endif /* IS_IN_libdl */
+#endif /* IS_IN_rtld */
+#if defined IS_IN_rtld || defined __SUPPORT_LD_DEBUG__
/* Early on, we can't call printf, so use this to print out
* numbers using the SEND_STDERR() macro. Avoid using mod
* or using long division */
@@ -226,7 +228,9 @@ static __always_inline char * _dl_simple_ltoa(char *local, unsigned long i)
} while (i > 0);
return p;
}
+#endif
+#ifdef IS_IN_rtld
static __always_inline char * _dl_simple_ltoahex(char *local, unsigned long i)
{
/* 16 digits plus a leading "0x" plus a null terminator,
@@ -246,9 +250,6 @@ static __always_inline char * _dl_simple_ltoahex(char *local, unsigned long i)
return p;
}
-
-
-
/* The following macros may be used in dl-startup.c to debug
* ldso before ldso has fixed itself up to make function calls */
@@ -342,4 +343,6 @@ static __always_inline char * _dl_simple_ltoahex(char *local, unsigned long i)
# define SEND_ADDRESS_STDERR_DEBUG(X, add_a_newline)
#endif
+#endif /* IS_IN_rtld */
+
#endif