]> granicus.if.org Git - gc/commitdiff
Do not define internal GC_parse_map_entry() unless used.
authorIvan Maidanski <ivmai@mail.ru>
Sun, 11 Sep 2011 14:53:50 +0000 (18:53 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 11 Sep 2011 14:53:50 +0000 (18:53 +0400)
* 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.

include/private/gc_priv.h
os_dep.c

index d3d14ca355b37b25c78cf8e20e3d0a712dd84087..4b69a9f1243db2f378b84f2ddffeb96181c848e5 100644 (file)
@@ -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
 
index 1c0b73e1e9f7cc4f4a2f7fa7da9a2ff367118133..ec6e0d2006fc641a88cf542ac2856b1dd179824d 100644 (file)
--- 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.           */