summaryrefslogtreecommitdiff
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
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.