From: Ivan Maidanski Date: Sun, 11 Sep 2011 14:53:50 +0000 (+0400) Subject: Do not define internal GC_parse_map_entry() unless used. X-Git-Tag: gc7_3alpha2~369 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8472af80befa326c3389ac234807725256a0dd59;p=gc Do not define internal GC_parse_map_entry() unless used. * include/private/gc_priv.h (GC_parse_map_entry): Declare only if DYNAMIC_LOADING. * os_dep.c (GC_parse_map_entry): Define only if DYNAMIC_LOADING or REDIRECT_MALLOC, or IA64, or INCLUDE_LINUX_THREAD_DESCR. --- diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index d3d14ca3..4b69a9f1 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -2115,9 +2115,11 @@ GC_INNER ptr_t GC_store_debug_info(ptr_t p, word sz, const char *str, #endif #ifdef NEED_PROC_MAPS - GC_INNER char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end, - char **prot, unsigned int *maj_dev, - char **mapping_name); +# ifdef DYNAMIC_LOADING + GC_INNER char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end, + char **prot, unsigned int *maj_dev, + char **mapping_name); +# endif GC_INNER char *GC_get_maps(void); /* from os_dep.c */ #endif diff --git a/os_dep.c b/os_dep.c index 1c0b73e1..ec6e0d20 100644 --- a/os_dep.c +++ b/os_dep.c @@ -301,10 +301,12 @@ GC_INNER char * GC_get_maps(void) /* (*end), (*prot), (*maj_dev) and (*mapping_name). mapping_name may */ /* be NULL. (*prot) and (*mapping_name) are assigned pointers into the */ /* original buffer. */ -GC_INNER char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end, - char **prot, unsigned int *maj_dev, - char **mapping_name) -{ +#if defined(REDIRECT_MALLOC) || defined(DYNAMIC_LOADING) || defined(IA64) \ + || defined(INCLUDE_LINUX_THREAD_DESCR) + GC_INNER char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end, + char **prot, unsigned int *maj_dev, + char **mapping_name) + { char *start_start, *end_start, *maj_dev_start; char *p; char *endp; @@ -345,9 +347,9 @@ GC_INNER char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end, *mapping_name = p; while (*p && *p++ != '\n'); } - return p; -} + } +#endif /* REDIRECT_MALLOC || DYNAMIC_LOADING || IA64 || ... */ #if defined(IA64) || defined(INCLUDE_LINUX_THREAD_DESCR) /* Try to read the backing store base from /proc/self/maps. */