Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
H.J. Lu committed Oct 15, 2015
1 parent a1afb41 commit d6e855d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 13 deletions.
4 changes: 4 additions & 0 deletions 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.

Expand Down
13 changes: 0 additions & 13 deletions include/dlfcn.h
Expand Up @@ -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.
Expand Down
12 changes: 12 additions & 0 deletions sysdeps/generic/ldsodefs.h
Expand Up @@ -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.
Expand Down

0 comments on commit d6e855d

Please sign in to comment.