about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-06-08 12:52:42 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-06-08 12:52:42 -0700
commit37b66c0b1a2156a43fb813499326230639ba2773 (patch)
treeb39f1559b927e4e0487d7da71a826e032560de03 /elf/rtld.c
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-37b66c0b1a2156a43fb813499326230639ba2773.tar.gz
glibc-37b66c0b1a2156a43fb813499326230639ba2773.tar.xz
glibc-37b66c0b1a2156a43fb813499326230639ba2773.zip
ld.so: Consolidate 2 strtouls into _dl_strtoul [BZ #21528]
There are 2 minimal strtoul implementations in ld.so:

1. __strtoul_internal in elf/dl-minimal.c.
2. tunables_strtoul in elf/dl-tunables.c.

This patch adds _dl_strtoul to replace them.  Tested builds with and
without --enable-tunables.

	[BZ #21528]
	* elf/dl-minimal.c (__strtoul_internal): Removed.
	(strtoul): Likewise.
	* elf/dl-misc.c (_dl_strtoul): New function.
	* elf/dl-tunables.c (tunables_strtoul): Removed.
	(tunable_initialize): Replace tunables_strtoul with _dl_strtoul.
	* elf/rtld.c (process_envvars): Likewise.
	* sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init):
	Likewise.
	* sysdeps/generic/ldsodefs.h (_dl_strtoul): New prototype.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 3746653afb..2446a87680 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -2409,8 +2409,7 @@ process_envvars (enum mode *modep)
 	  /* Mask for the important hardware capabilities.  */
 	  if (!__libc_enable_secure
 	      && memcmp (envline, "HWCAP_MASK", 10) == 0)
-	    GLRO(dl_hwcap_mask) = __strtoul_internal (&envline[11], NULL,
-						      0, 0);
+	    GLRO(dl_hwcap_mask) = _dl_strtoul (&envline[11], NULL);
 	  break;
 #endif