aboutsummaryrefslogtreecommitdiff
path: root/iconv
diff options
context:
space:
mode:
Diffstat (limited to 'iconv')
-rw-r--r--iconv/gconv_cache.c3
-rw-r--r--iconv/gconv_conf.c3
-rw-r--r--iconv/gconv_db.c6
-rw-r--r--iconv/gconv_dl.c5
4 files changed, 10 insertions, 7 deletions
diff --git a/iconv/gconv_cache.c b/iconv/gconv_cache.c
index c13fc5ef96..f2100ca88f 100644
--- a/iconv/gconv_cache.c
+++ b/iconv/gconv_cache.c
@@ -449,7 +449,8 @@ __gconv_release_cache (struct __gconv_step *steps, size_t nsteps)
/* Free all resources if necessary. */
-libc_freeres_fn (free_mem)
+void
+__gconv_cache_freemem (void)
{
if (cache_malloced)
free (gconv_cache);
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index a75ac13e3f..c76011d6bc 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -530,7 +530,8 @@ __gconv_load_conf (void)
/* Free all resources if necessary. */
-libc_freeres_fn (free_mem)
+void
+__gconv_conf_freemem (void)
{
if (__gconv_path_elem != NULL && __gconv_path_elem != &empty_path_elem)
free ((void *) __gconv_path_elem);
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index e9b1c07620..0ee8076287 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -169,7 +169,7 @@ add_derivation (const char *fromset, const char *toset,
not all memory will be freed. */
}
-static void __libc_freeres_fn_section
+static void
free_derivation (void *p)
{
struct known_derivation *deriv = (struct known_derivation *) p;
@@ -793,7 +793,6 @@ __gconv_close_transform (struct __gconv_step *steps, size_t nsteps)
/* Free the modules mentioned. */
static void
-__libc_freeres_fn_section
free_modules_db (struct gconv_module *node)
{
if (node->left != NULL)
@@ -812,7 +811,8 @@ free_modules_db (struct gconv_module *node)
/* Free all resources if necessary. */
-libc_freeres_fn (free_mem)
+void
+__gconv_db_freemem (void)
{
/* First free locale memory. This needs to be done before freeing
derivations, as ctype cleanup functions dereference steps arrays which we
diff --git a/iconv/gconv_dl.c b/iconv/gconv_dl.c
index 911c2031f0..cb51568e4c 100644
--- a/iconv/gconv_dl.c
+++ b/iconv/gconv_dl.c
@@ -184,7 +184,7 @@ __gconv_release_shlib (struct __gconv_loaded_object *handle)
/* We run this if we debug the memory allocation. */
-static void __libc_freeres_fn_section
+static void
do_release_all (void *nodep)
{
struct __gconv_loaded_object *obj = (struct __gconv_loaded_object *) nodep;
@@ -196,7 +196,8 @@ do_release_all (void *nodep)
free (obj);
}
-libc_freeres_fn (free_mem)
+void
+__gconv_dl_freemem (void)
{
__tdestroy (loaded, do_release_all);
loaded = NULL;