about summary refs log tree commit diff
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)
downloadglibc-b68f8620561d7658b475eb512978d3c33d8a4547.tar.gz
glibc-b68f8620561d7658b475eb512978d3c33d8a4547.tar.xz
glibc-b68f8620561d7658b475eb512978d3c33d8a4547.zip
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);