summaryrefslogtreecommitdiff
path: root/posix
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:52:56 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:53:15 -0700
commitb68f8620561d7658b475eb512978d3c33d8a4547 (patch)
treec8f020413abe4033585fbb140e7dab24a2f025bf /posix
parent59c04e67631d370738b80923d42d4d1539d8f95f (diff)
Hide internal regex functions [BZ #18822]
Hide internal regex functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/regex.h (__re_compile_fastmap): Add attribute_hidden. (__regcomp): Add libc_hidden_proto. (__regexec): Likewise. (__regfree): Likewise. * posix/regcomp.c (__regcomp): Add libc_hidden_def. (__regfree): Likewise. * posix/regexec.c (__regexec): Likewise.
Diffstat (limited to 'posix')
-rw-r--r--posix/regcomp.c2
-rw-r--r--posix/regexec.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/posix/regcomp.c b/posix/regcomp.c
index a5b46139a9..871ae2ffab 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -517,6 +517,7 @@ regcomp (regex_t *__restrict preg, const char *__restrict pattern, int cflags)
return (int) ret;
}
#ifdef _LIBC
+libc_hidden_def (__regcomp)
weak_alias (__regcomp, regcomp)
#endif
@@ -644,6 +645,7 @@ regfree (regex_t *preg)
preg->translate = NULL;
}
#ifdef _LIBC
+libc_hidden_def (__regfree)
weak_alias (__regfree, regfree)
#endif
diff --git a/posix/regexec.c b/posix/regexec.c
index f46b1f71ca..a96d86d431 100644
--- a/posix/regexec.c
+++ b/posix/regexec.c
@@ -224,6 +224,8 @@ regexec (const regex_t *__restrict preg, const char *__restrict string,
}
#ifdef _LIBC
+libc_hidden_def (__regexec)
+
# include <shlib-compat.h>
versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4);