diff options
-rw-r--r-- | ldso/include/dl-string.h | 15 |
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 |