public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Adhemerval Zanella <azanella@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc/azanella/clang] Replace internal usage of strtol and wcstol for internal alias
Date: Fri,  3 Jun 2022 14:00:56 +0000 (GMT)	[thread overview]
Message-ID: <20220603140056.8B948385084E@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3b3975fc9ef622ab4ae407a844e32d1842ac6632

commit 3b3975fc9ef622ab4ae407a844e32d1842ac6632
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Mar 3 12:11:11 2022 -0300

    Replace internal usage of strtol and wcstol for internal alias
    
    To clean up the exported headers to have only one function prototype
    with the ABI aliais (if any) it requires to use the internal alias
    for all symbols, since to redirect the internal usage a new it
    requires to redirect the symbol with an extra prototype (which this
    patch tries to avoid).
    
    The atoi is replace with __strtol due the optimization on stdlib.h.
    
    Checked on x86_64-linux-gnu and powerpc64le-linux-gnu.

Diff:
---
 argp/argp-help.c                        |  2 +-
 argp/argp-parse.c                       |  2 +-
 iconv/gconv_conf.c                      |  2 +-
 include/stdlib.h                        | 25 ++++++++++++++++---------
 include/wchar.h                         | 24 ++++++++++++++++--------
 inet/rexec.c                            |  2 +-
 intl/plural-exp.c                       |  2 +-
 nss/nss_files/files-parse.c             |  4 ++++
 posix/wordexp.c                         |  4 ++--
 resolv/inet_addr.c                      |  2 +-
 resolv/res_init.c                       |  6 +++---
 stdlib/atof.c                           |  2 +-
 stdlib/atoi.c                           |  2 +-
 stdlib/atol.c                           |  2 +-
 stdlib/atoll.c                          |  2 +-
 stdlib/fmtmsg.c                         |  2 +-
 stdlib/strtod.c                         |  7 +++++--
 stdlib/strtol.c                         |  2 +-
 stdlib/strtold.c                        | 18 +++++++++---------
 sysdeps/posix/getaddrinfo.c             |  1 +
 sysdeps/unix/sysv/linux/getlogin_r.c    |  2 +-
 sysdeps/unix/sysv/linux/getsysstats.c   |  4 ++--
 sysdeps/unix/sysv/linux/readonly-area.c |  4 ++--
 sysdeps/unix/sysv/linux/sysconf.c       |  2 +-
 sysdeps/wordsize-64/strtol.c            |  3 +--
 time/tzset.c                            |  2 +-
 26 files changed, 76 insertions(+), 54 deletions(-)

diff --git a/argp/argp-help.c b/argp/argp-help.c
index 90a2795cef..f128313e06 100644
--- a/argp/argp-help.c
+++ b/argp/argp-help.c
@@ -210,7 +210,7 @@ fill_in_uparams (const struct argp_state *state)
 	      }
 	    else if (isdigit ((unsigned char) *arg))
 	      {
-		val = atoi (arg);
+		val = (int) __strtol (arg, NULL, 10);
 		while (isdigit ((unsigned char) *arg))
 		  arg++;
 		SKIPWS (arg);
diff --git a/argp/argp-parse.c b/argp/argp-parse.c
index 68dc45417b..13cd84dd33 100644
--- a/argp/argp-parse.c
+++ b/argp/argp-parse.c
@@ -147,7 +147,7 @@ argp_default_parser (int key, char *arg, struct argp_state *state)
       break;
 
     case OPT_HANG:
-      _argp_hang = atoi (arg ? arg : "3600");
+      _argp_hang = (int) __strtol (arg ? arg : "3600", NULL, 10);
       while (_argp_hang-- > 0)
 	__sleep (1);
       break;
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index f069e28323..989ccc479e 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -290,7 +290,7 @@ add_module (char *rp, const char *directory, size_t dir_len, int modcounter)
       char *endp;
 
       *wp++ = '\0';
-      cost_hi = strtol (rp, &endp, 10);
+      cost_hi = __strtol (rp, &endp, 10);
       if (rp == endp || cost_hi < 1)
 	/* No useful information.  */
 	cost_hi = 1;
diff --git a/include/stdlib.h b/include/stdlib.h
index 1c6f70b082..f1f313b15f 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -221,15 +221,22 @@ libc_hidden_proto (____strtoul_l_internal)
 libc_hidden_proto (____strtoull_l_internal)
 
 #include <bits/floatn.h>
-libc_hidden_proto (strtof)
-libc_hidden_proto (strtod)
+extern __typeof (strtof) __strtof;
+libc_hidden_proto (__strtof)
+extern __typeof (strtod) __strtod;
+libc_hidden_proto (__strtod)
 #if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
-libc_hidden_proto (strtold)
+extern __typeof (strtold) __strtold;
+libc_hidden_proto (__strtold)
 #endif
-libc_hidden_proto (strtol)
-libc_hidden_proto (strtoll)
-libc_hidden_proto (strtoul)
-libc_hidden_proto (strtoull)
+extern __typeof (strtol) __strtol;
+libc_hidden_proto (__strtol)
+extern __typeof (strtoll) __strtoll;
+libc_hidden_proto (__strtoll)
+extern __typeof (strtoul) __strtoul;
+libc_hidden_proto (__strtoul)
+extern __typeof (strtoull) __strtoull;
+libc_hidden_proto (__strtoull)
 
 libc_hidden_proto (atoi)
 
@@ -251,10 +258,10 @@ libc_hidden_proto (__wcstold_nan)
 #include <bits/floatn.h>
 
 #if __HAVE_DISTINCT_FLOAT128
+extern __typeof (strtof128) __strtof128;
+libc_hidden_proto (__strtof128)
 extern __typeof (strtof128_l) __strtof128_l;
-
 libc_hidden_proto (__strtof128_l)
-libc_hidden_proto (strtof128)
 
 extern _Float128 __strtof128_nan (const char *, char **, char);
 extern _Float128 __wcstof128_nan (const wchar_t *, wchar_t **, wchar_t);
diff --git a/include/wchar.h b/include/wchar.h
index db83297bca..094c7ee285 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -71,13 +71,20 @@ libc_hidden_proto (__wcstol_internal)
 libc_hidden_proto (__wcstoll_internal)
 libc_hidden_proto (__wcstoul_internal)
 libc_hidden_proto (__wcstoull_internal)
-libc_hidden_proto (wcstof)
-libc_hidden_proto (wcstod)
-libc_hidden_ldbl_proto (wcstold)
-libc_hidden_proto (wcstol)
-libc_hidden_proto (wcstoll)
-libc_hidden_proto (wcstoul)
-libc_hidden_proto (wcstoull)
+extern __typeof (wcstof) __wcstof;
+libc_hidden_proto (__wcstof)
+extern __typeof (wcstod) __wcstod;
+libc_hidden_proto (__wcstod)
+extern __typeof (wcstold) __wcstold;
+libc_hidden_ldbl_proto (__wcstold)
+extern __typeof (wcstol) __wcstol;
+libc_hidden_proto (__wcstol)
+extern __typeof (wcstoll) __wcstoll;
+libc_hidden_proto (__wcstoll)
+extern __typeof (wcstoul) __wcstoul;
+libc_hidden_proto (__wcstoul)
+extern __typeof (wcstoull) __wcstoull;
+libc_hidden_proto (__wcstoull)
 
 extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
 				    locale_t) attribute_hidden;
@@ -100,6 +107,8 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
      attribute_hidden;
 
 #if __HAVE_DISTINCT_FLOAT128
+extern __typeof (wcstof128) __wcstof128;
+libc_hidden_proto (__wcstof128)
 extern __typeof (wcstof128_l) __wcstof128_l;
 libc_hidden_proto (__wcstof128_l)
 extern _Float128 __wcstof128_internal (const wchar_t *__restrict __nptr,
@@ -110,7 +119,6 @@ extern _Float128 ____wcstof128_l_internal (const wchar_t *, wchar_t **, int,
 					   locale_t) attribute_hidden;
 
 libc_hidden_proto (__wcstof128_internal)
-libc_hidden_proto (wcstof128)
 #endif
 
 libc_hidden_proto (__wcscasecmp_l)
diff --git a/inet/rexec.c b/inet/rexec.c
index 064e979d68..330282ac16 100644
--- a/inet/rexec.c
+++ b/inet/rexec.c
@@ -134,7 +134,7 @@ retry:
 		if (!getnameinfo(&sa2.sa, sa2len,
 				 NULL, 0, servbuff, sizeof(servbuff),
 				 NI_NUMERICSERV))
-			port = atoi(servbuff);
+			port = (int) __strtol (servbuff, NULL, 10);
 		(void) sprintf(num, "%u", port);
 		(void) __write(s, num, strlen(num)+1);
 		{ socklen_t len = sizeof (from);
diff --git a/intl/plural-exp.c b/intl/plural-exp.c
index d5aec23b55..80b0a5afb1 100644
--- a/intl/plural-exp.c
+++ b/intl/plural-exp.c
@@ -120,7 +120,7 @@ EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
 	  if (!(*nplurals >= '0' && *nplurals <= '9'))
 	    goto no_plural;
 #if defined HAVE_STRTOUL || defined _LIBC
-	  n = strtoul (nplurals, &endp, 10);
+	  n = __strtoul (nplurals, &endp, 10);
 #else
 	  for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
 	    n = n * 10 + (*endp - '0');
diff --git a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c
index c90e293802..bd3266702e 100644
--- a/nss/nss_files/files-parse.c
+++ b/nss/nss_files/files-parse.c
@@ -53,6 +53,10 @@
 # define STRUCTURE ENTNAME
 #endif
 
+#if IS_IN(libc)
+# define strtoul __strtoul
+#endif
+
 
 struct parser_data
   {
diff --git a/posix/wordexp.c b/posix/wordexp.c
index d4cb9c734b..7bec5a73aa 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -564,7 +564,7 @@ eval_expr_val (char **expr, long int *result)
 
   /* POSIX requires that decimal, octal, and hexadecimal constants are
      recognized.  Therefore we pass 0 as the third parameter to strtol.  */
-  *result = strtol (digit, expr, 0);
+  *result = __strtol (digit, expr, 0);
   if (digit == *expr)
     return WRDE_SYNTAX;
 
@@ -1398,7 +1398,7 @@ envsubst:
   /* Is it a numeric parameter? */
   else if (isdigit (env[0]))
     {
-      unsigned long n = strtoul (env, NULL, 10);
+      unsigned long n = __strtoul (env, NULL, 10);
 
       if (n >= __libc_argc)
 	/* Substitute NULL. */
diff --git a/resolv/inet_addr.c b/resolv/inet_addr.c
index 8059a23ec9..451531899d 100644
--- a/resolv/inet_addr.c
+++ b/resolv/inet_addr.c
@@ -130,7 +130,7 @@ inet_aton_end (const char *cp, struct in_addr *addr, const char **endp)
 	goto ret_0;
       {
 	char *endp;
-	unsigned long ul = strtoul (cp, &endp, 0);
+	unsigned long ul = __strtoul (cp, &endp, 0);
 	if (ul == ULONG_MAX && errno == ERANGE)
 	  goto ret_0;
 	if (ul > 0xfffffffful)
diff --git a/resolv/res_init.c b/resolv/res_init.c
index cbc16ba021..a6d5364835 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -654,7 +654,7 @@ res_setoptions (struct resolv_conf_parser *parser, const char *options)
       /* Search for and process individual options.  */
       if (!strncmp (cp, "ndots:", sizeof ("ndots:") - 1))
         {
-          int i = atoi (cp + sizeof ("ndots:") - 1);
+	  int i = (int) __strtol (cp + sizeof ("ndots:") - 1, NULL, 10);
           if (i <= RES_MAXNDOTS)
             parser->template.ndots = i;
           else
@@ -662,7 +662,7 @@ res_setoptions (struct resolv_conf_parser *parser, const char *options)
         }
       else if (!strncmp (cp, "timeout:", sizeof ("timeout:") - 1))
         {
-          int i = atoi (cp + sizeof ("timeout:") - 1);
+	  int i = (int) __strtol (cp + sizeof ("timeout:") - 1, NULL, 10);
           if (i <= RES_MAXRETRANS)
             parser->template.retrans = i;
           else
@@ -670,7 +670,7 @@ res_setoptions (struct resolv_conf_parser *parser, const char *options)
         }
       else if (!strncmp (cp, "attempts:", sizeof ("attempts:") - 1))
         {
-          int i = atoi (cp + sizeof ("attempts:") - 1);
+	  int i = (int) __strtol (cp + sizeof ("attempts:") - 1, NULL, 10);
           if (i <= RES_MAXRETRY)
             parser->template.retry = i;
           else
diff --git a/stdlib/atof.c b/stdlib/atof.c
index 782c6053eb..d208c6d329 100644
--- a/stdlib/atof.c
+++ b/stdlib/atof.c
@@ -24,5 +24,5 @@
 double
 atof (const char *nptr)
 {
-  return strtod (nptr, (char **) NULL);
+  return __strtod (nptr, (char **) NULL);
 }
diff --git a/stdlib/atoi.c b/stdlib/atoi.c
index c977506b38..d7560121b7 100644
--- a/stdlib/atoi.c
+++ b/stdlib/atoi.c
@@ -24,6 +24,6 @@
 int
 atoi (const char *nptr)
 {
-  return (int) strtol (nptr, (char **) NULL, 10);
+  return (int) __strtol (nptr, (char **) NULL, 10);
 }
 libc_hidden_def (atoi)
diff --git a/stdlib/atol.c b/stdlib/atol.c
index 5706d6e143..77183bd051 100644
--- a/stdlib/atol.c
+++ b/stdlib/atol.c
@@ -24,5 +24,5 @@
 long int
 atol (const char *nptr)
 {
-  return strtol (nptr, (char **) NULL, 10);
+  return __strtol (nptr, (char **) NULL, 10);
 }
diff --git a/stdlib/atoll.c b/stdlib/atoll.c
index 05ad7c141b..5be05716e2 100644
--- a/stdlib/atoll.c
+++ b/stdlib/atoll.c
@@ -24,5 +24,5 @@
 long long int
 atoll (const char *nptr)
 {
-  return strtoll (nptr, (char **) NULL, 10);
+  return __strtoll (nptr, (char **) NULL, 10);
 }
diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c
index 787a263d63..3e48800331 100644
--- a/stdlib/fmtmsg.c
+++ b/stdlib/fmtmsg.c
@@ -263,7 +263,7 @@ init (void)
 	      /* Second field: severity level, a number.  */
 	      char *cp;
 
-	      level = strtol (sevlevel_var, &cp, 0);
+	      level = __strtol (sevlevel_var, &cp, 0);
 	      if (cp != sevlevel_var && cp < end && *cp++ == ','
 		  && level > MM_INFO)
 		{
diff --git a/stdlib/strtod.c b/stdlib/strtod.c
index 98794f22da..ce54584dd2 100644
--- a/stdlib/strtod.c
+++ b/stdlib/strtod.c
@@ -61,6 +61,8 @@
 
 #define INTERNAL(x) INTERNAL1(x)
 #define INTERNAL1(x) __##x##_internal
+#define DOUBLEUNDESCORE(x) DOUBLEUNDESCORE1(x)
+#define DOUBLEUNDESCORE1(x) __##x
 
 
 FLOAT
@@ -77,12 +79,13 @@ FLOAT
 #ifdef weak_function
 weak_function
 #endif
-STRTOF (const STRING_TYPE *nptr, STRING_TYPE **endptr)
+DOUBLEUNDESCORE (STRTOF) (const STRING_TYPE *nptr, STRING_TYPE **endptr)
 {
   return INTERNAL(STRTOF_L) (nptr, endptr, 0, _NL_CURRENT_LOCALE);
 }
 #if defined _LIBC
-libc_hidden_def (STRTOF)
+weak_alias (DOUBLEUNDESCORE (STRTOF), STRTOF)
+libc_hidden_def (DOUBLEUNDESCORE (STRTOF))
 #endif
 
 #ifdef LONG_DOUBLE_COMPAT
diff --git a/stdlib/strtol.c b/stdlib/strtol.c
index be7719f493..7e9611fb27 100644
--- a/stdlib/strtol.c
+++ b/stdlib/strtol.c
@@ -106,4 +106,4 @@ __strtol (const STRING_TYPE *nptr, STRING_TYPE **endptr, int base)
   return INTERNAL (__strtol_l) (nptr, endptr, base, 0, _NL_CURRENT_LOCALE);
 }
 weak_alias (__strtol, strtol)
-libc_hidden_weak (strtol)
+libc_hidden_weak (__strtol)
diff --git a/stdlib/strtold.c b/stdlib/strtold.c
index a03620e308..34ed8da0ea 100644
--- a/stdlib/strtold.c
+++ b/stdlib/strtold.c
@@ -34,13 +34,13 @@
 #ifdef __LONG_DOUBLE_MATH_OPTIONAL
 # include <wchar.h>
 # define NEW(x) NEW1(x)
-# define NEW1(x) __new_##x
-long double ____new_strtold_internal (const char *, char **, int);
+# define NEW1(x) new_##x
+long double __new_strtold_internal (const char *, char **, int);
 long double __new_strtold (const char *, char **);
-long double ____new_wcstold_internal (const wchar_t *, wchar_t **, int);
+long double __new_wcstold_internal (const wchar_t *, wchar_t **, int);
 long double __new_wcstold (const wchar_t *, wchar_t **);
-libc_hidden_proto (____new_strtold_internal)
-libc_hidden_proto (____new_wcstold_internal)
+libc_hidden_proto (__new_strtold_internal)
+libc_hidden_proto (__new_wcstold_internal)
 libc_hidden_proto (__new_strtold)
 libc_hidden_proto (__new_wcstold)
 #else
@@ -63,12 +63,12 @@ libc_hidden_proto (__new_wcstold)
 # include <math_ldbl_opt.h>
 # ifdef USE_WIDE_CHAR
 long_double_symbol (libc, __new_wcstold, wcstold);
-long_double_symbol (libc, ____new_wcstold_internal, __wcstold_internal);
-libc_hidden_ver (____new_wcstold_internal, __wcstold_internal)
+long_double_symbol (libc, __new_wcstold_internal, __wcstold_internal);
+libc_hidden_ver (__new_wcstold_internal, __wcstold_internal)
 # else
 long_double_symbol (libc, __new_strtold, strtold);
-long_double_symbol (libc, ____new_strtold_internal, __strtold_internal);
-libc_hidden_ver (____new_strtold_internal, __strtold_internal)
+long_double_symbol (libc, __new_strtold_internal, __strtold_internal);
+libc_hidden_ver (__new_strtold_internal, __strtold_internal)
 # endif
 #endif
 
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index bcff909b2f..db4cd2f12f 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -90,6 +90,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #if IS_IN (libc)
 # define feof_unlocked(fp) __feof_unlocked (fp)
+# define strtoul __strtoul
 #endif
 
 struct gaih_service
diff --git a/sysdeps/unix/sysv/linux/getlogin_r.c b/sysdeps/unix/sysv/linux/getlogin_r.c
index 461716601e..290628f5aa 100644
--- a/sysdeps/unix/sysv/linux/getlogin_r.c
+++ b/sysdeps/unix/sysv/linux/getlogin_r.c
@@ -51,7 +51,7 @@ __getlogin_r_loginuid (char *name, size_t namesize)
   if (n <= 0
       || n == sizeof (uidbuf)
       || (uidbuf[n] = '\0',
-	  uid = strtoul (uidbuf, &endp, 10),
+	  uid = __strtoul (uidbuf, &endp, 10),
 	  endp == uidbuf || *endp != '\0'))
     return -1;
 
diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c
index 064eaa08ae..c1595b672d 100644
--- a/sysdeps/unix/sysv/linux/getsysstats.c
+++ b/sysdeps/unix/sysv/linux/getsysstats.c
@@ -155,7 +155,7 @@ read_sysfs_file (const char *fname)
 	do
 	  {
 	    char *endp;
-	    unsigned long int n = strtoul (l, &endp, 10);
+	    unsigned long int n = __strtoul (l, &endp, 10);
 	    if (l == endp)
 	      {
 		result = 0;
@@ -166,7 +166,7 @@ read_sysfs_file (const char *fname)
 	    if (*endp == '-')
 	      {
 		l = endp + 1;
-		m = strtoul (l, &endp, 10);
+		m = __strtoul (l, &endp, 10);
 		if (l == endp)
 		  {
 		    result = 0;
diff --git a/sysdeps/unix/sysv/linux/readonly-area.c b/sysdeps/unix/sysv/linux/readonly-area.c
index e8fde06fa9..3a94d7c52f 100644
--- a/sysdeps/unix/sysv/linux/readonly-area.c
+++ b/sysdeps/unix/sysv/linux/readonly-area.c
@@ -59,13 +59,13 @@ __readonly_area (const char *ptr, size_t size)
 	break;
 
       char *p;
-      uintptr_t from = strtoul (line, &p, 16);
+      uintptr_t from = __strtoul (line, &p, 16);
 
       if (p == line || *p++ != '-')
 	break;
 
       char *q;
-      uintptr_t to = strtoul (p, &q, 16);
+      uintptr_t to = __strtoul (p, &q, 16);
 
       if (q == p || *q++ != ' ')
 	break;
diff --git a/sysdeps/unix/sysv/linux/sysconf.c b/sysdeps/unix/sysv/linux/sysconf.c
index 7706819c32..4afc00c8d0 100644
--- a/sysdeps/unix/sysv/linux/sysconf.c
+++ b/sysdeps/unix/sysv/linux/sysconf.c
@@ -111,7 +111,7 @@ __sysconf (int name)
 	      buf[n] = '\0';
 
 	      char *endp;
-	      long int res = strtol (buf, &endp, 10);
+	      long int res = __strtol (buf, &endp, 10);
 	      if (endp != buf && (*endp == '\0' || *endp == '\n'))
 		return res;
 	    }
diff --git a/sysdeps/wordsize-64/strtol.c b/sysdeps/wordsize-64/strtol.c
index a1b2374153..9ce616c89e 100644
--- a/sysdeps/wordsize-64/strtol.c
+++ b/sysdeps/wordsize-64/strtol.c
@@ -11,7 +11,6 @@
 strong_alias (__strtol_internal, __strtoll_internal)
 libc_hidden_ver (__strtol_internal, __strtoll_internal)
 weak_alias (strtol, strtoll)
-libc_hidden_ver (strtol, strtoll)
+libc_hidden_ver (__strtol, __strtoll)
 weak_alias (strtol, strtoq)
-libc_hidden_ver (strtol, strtoq)
 weak_alias (strtol, strtoimax)
diff --git a/time/tzset.c b/time/tzset.c
index a06142bb58..ac20e1a560 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -242,7 +242,7 @@ parse_rule (const char **tzp, int whichrule)
       tzr->type = *tz == 'J' ? J1 : J0;
       if (tzr->type == J1 && !isdigit (*++tz))
 	return false;
-      unsigned long int d = strtoul (tz, &end, 10);
+      unsigned long int d = __strtoul (tz, &end, 10);
       if (end == tz || d > 365)
 	return false;
       if (tzr->type == J1 && d == 0)


             reply	other threads:[~2022-06-03 14:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-03 14:00 Adhemerval Zanella [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-06-09 21:15 Adhemerval Zanella
2022-06-09 13:11 Adhemerval Zanella
2022-05-13 14:14 Adhemerval Zanella
2022-05-12 19:28 Adhemerval Zanella
2022-05-10 18:18 Adhemerval Zanella
2022-04-29 13:58 Adhemerval Zanella
2022-04-04 12:49 Adhemerval Zanella
2022-03-31 19:01 Adhemerval Zanella
2022-03-29 20:24 Adhemerval Zanella
2022-03-16 17:57 Adhemerval Zanella
2022-03-15 18:35 Adhemerval Zanella
2022-03-11 17:19 Adhemerval Zanella
2022-03-08 18:56 Adhemerval Zanella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220603140056.8B948385084E@sourceware.org \
    --to=azanella@sourceware.org \
    --cc=glibc-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).