about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-10-15 14:13:37 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-10-15 14:13:50 -0700
commitd6e855d810730193280276a2d30584437e2abf4d (patch)
treebced08a2b5295166d4f1a7bf6fea7dcc12bae817
parenta1afb41193e908668eeac7e3a25a48ac535aff67 (diff)
downloadglibc-d6e855d810730193280276a2d30584437e2abf4d.tar.gz
glibc-d6e855d810730193280276a2d30584437e2abf4d.tar.xz
glibc-d6e855d810730193280276a2d30584437e2abf4d.zip
Mark _dl_catch_error hidden
Since _dl_catch_error is only used internally in ld.so, it should be
declared in sysdeps/generic/ldsodefs.h, not include/dlfcn.h and it can
be made hidden.

	[BZ #19122]
	* include/dlfcn.h (_dl_catch_error): Moved to ...
	* sysdeps/generic/ldsodefs.h (_dl_catch_error): Add
	attribute_hidden.
-rw-r--r--ChangeLog4
-rw-r--r--include/dlfcn.h13
-rw-r--r--sysdeps/generic/ldsodefs.h12
3 files changed, 16 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index b93c0a80ed..110d6706fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
 2015-10-15  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #19122]
+	* include/dlfcn.h (_dl_catch_error): Moved to ...
+	* sysdeps/generic/ldsodefs.h (_dl_catch_error): Add
+	attribute_hidden.
+
 	* sysdeps/generic/_itoa.h (_itoa): Add attribute_hidden.
 	(_itoa_word): Likewise.
 
diff --git a/include/dlfcn.h b/include/dlfcn.h
index 0ce0af5276..2524292ebc 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -71,19 +71,6 @@ extern void *_dl_vsym (void *handle, const char *name, const char *version,
 		       void *who)
     internal_function;
 
-/* Call OPERATE, catching errors from `dl_signal_error'.  If there is no
-   error, *ERRSTRING is set to null.  If there is an error, *ERRSTRING is
-   set to a string constructed from the strings passed to _dl_signal_error,
-   and the error code passed is the return value and *OBJNAME is set to
-   the object name which experienced the problems.  ERRSTRING if nonzero
-   points to a malloc'ed string which the caller has to free after use.
-   ARGS is passed as argument to OPERATE.  MALLOCEDP is set to true only
-   if the returned string is allocated using the libc's malloc.  */
-extern int _dl_catch_error (const char **objname, const char **errstring,
-			    bool *mallocedp, void (*operate) (void *),
-			    void *args)
-     internal_function;
-
 /* Helper function for <dlfcn.h> functions.  Runs the OPERATE function via
    _dl_catch_error.  Returns zero for success, nonzero for failure; and
    arranges for `dlerror' to return the error details.
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index bb1b3ed7d2..a8caf47bc3 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -738,6 +738,18 @@ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
 			       void *args)
      internal_function attribute_hidden;
 
+/* Call OPERATE, catching errors from `dl_signal_error'.  If there is no
+   error, *ERRSTRING is set to null.  If there is an error, *ERRSTRING is
+   set to a string constructed from the strings passed to _dl_signal_error,
+   and the error code passed is the return value and *OBJNAME is set to
+   the object name which experienced the problems.  ERRSTRING if nonzero
+   points to a malloc'ed string which the caller has to free after use.
+   ARGS is passed as argument to OPERATE.  MALLOCEDP is set to true only
+   if the returned string is allocated using the libc's malloc.  */
+extern int _dl_catch_error (const char **objname, const char **errstring,
+			    bool *mallocedp, void (*operate) (void *),
+			    void *args)
+     internal_function attribute_hidden;
 
 /* Open the shared object NAME and map in its segments.
    LOADER's DT_RPATH is used in searching for NAME.