This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Prefer https: for GNU and FSF URLs


On 9/9/19 9:27 AM, Joseph Myers wrote:
It looks like this is missing regeneration of locale/programs/charmap-kw.h
to reflect the use of https in charmap-kw.gperf.

Thanks for spotting that. I rebuilt that file as follows:

cd locale
rm ../../glibc/locale/programs/charmap-kw.h \
   ../../glibc/locale/programs/locfile-kw.h
make objdir=$(cd .. && pwd) -C ../../glibc/locale \
   programs/charmap-kw.h \
   programs/locfile-kw.h

The locfile-kw.h rebuild was needed because gperf 3.1 changed its API. I tweaked the localedef internals accordingly, and installed the first attached patch.

In looking for similar glitches I noticed a few "http:"s in 'configure' that can be fixed by adding a URL to AC_INIT. So I installed the second attached patch to do that.
>From 257fc3d8c0ad31842c63dfe562afcea861194f1a Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 9 Sep 2019 14:08:46 -0700
Subject: [PATCH 1/2] Regenerate charmap-kw.h, locfile-kw.h

This propagates the recent http->https URL changes.
Since I used gperf 3.1 to regenerate, this is also a minor
internal-to-localedef API change.
URL problem reported by Joseph Myers in:
https://www.sourceware.org/ml/libc-alpha/2019-09/msg00143.html
* locale/programs/charmap-kw.h, locale/programs/locfile-kw.h:
Regenerate with gperf 3.1.
* locale/programs/linereader.h (kw_hash_fct_t):
* locale/programs/repertoire.c (repertoiremap_hash):
2nd arg is now size_t not unsigned, for compatibility with gperf 3.1.
---
 ChangeLog                    | 24 +++++++++++++++++++-----
 locale/programs/charmap-kw.h | 22 ++++++++--------------
 locale/programs/linereader.h |  2 +-
 locale/programs/locfile-kw.h | 20 +++++++-------------
 locale/programs/repertoire.c |  4 ++--
 5 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index bd2f7add49..307ae5874f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2019-09-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Regenerate charmap-kw.h, locfile-kw.h
+	This propagates the recent http->https URL changes.
+	Since I used gperf 3.1 to regenerate, this is also a minor
+	internal-to-localedef API change.
+	URL problem reported by Joseph Myers in:
+	https://www.sourceware.org/ml/libc-alpha/2019-09/msg00143.html
+	* locale/programs/charmap-kw.h, locale/programs/locfile-kw.h:
+	Regenerate with gperf 3.1.
+	* locale/programs/linereader.h (kw_hash_fct_t):
+	* locale/programs/repertoire.c (repertoiremap_hash):
+	2nd arg is now size_t not unsigned, for compatibility with gperf 3.1.
+
 2019-09-05  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #24962]
@@ -349,18 +363,18 @@
 	so that it is now UTF-8.
 
 2019-08-28  Paul A. Clarke  <pc@us.ibm.com>
-    
+
     	* sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status_ISA300):  Delete.
     	(fegetenv_status):  Generate 'mffsl' unconditionally.
 
 2019-08-28  Paul A. Clarke  <pc@us.ibm.com>
-    
+
     	* sysdeps/powerpc/fpu/fesetenv.c (__fesetenv):  Utilize lightweight
     	FPSCR read.
     	(_FPU_MASK_ALL):  Delete.
 
 2019-08-28  Paul A. Clarke  <pc@us.ibm.com>
-    
+
     	* sysdeps/powerpc/fpu/fenv_private.h (libc_feholdsetround_ppc_ctx):
     	Utilize lightweight FPSCR read if possible, set fewer FPSCR bits
     	if possible.
@@ -368,7 +382,7 @@
     	with simpler required steps, set fewer FPSCR bits if possible.
 
 2019-08-28  Paul A. Clarke  <pc@us.ibm.com>
-    
+
     	* sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_mode): New.
     	(FPSCR_FPRF_MASK): New. (FPSCR_STATUS_MASK): New.
     	* sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Use lighter-
@@ -379,7 +393,7 @@
     	access to FPSCR; Use macros in fenv_libc.h in favor of local.
 
 2019-08-28  Paul A. Clarke  <pc@us.ibm.com>
-    
+
     	* sysdeps/powerpc/fpu/fenv_libc.h: Define FPSCR bitmasks.
     	(fenv_reg_to_exceptions): Replace bitwise operations with mask-shift.
     	(fenv_exceptions_to_reg): New.
diff --git a/locale/programs/charmap-kw.h b/locale/programs/charmap-kw.h
index 4495122c80..2f0ac00543 100644
--- a/locale/programs/charmap-kw.h
+++ b/locale/programs/charmap-kw.h
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash charmap-kw.gperf  */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -25,7 +25,7 @@
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 1 "charmap-kw.gperf"
@@ -46,7 +46,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #include <string.h>
 
@@ -69,7 +69,7 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -100,7 +100,7 @@ hash (register const char *str, register unsigned int len)
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       36, 36, 36, 36, 36, 36
     };
-  register int hval = len;
+  register unsigned int hval = len;
 
   switch (hval)
     {
@@ -125,14 +125,8 @@ hash (register const char *str, register unsigned int len)
   return hval + asso_values[(unsigned char)str[len - 1]];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct keyword_t *
-charmap_hash (register const char *str, register unsigned int len)
+charmap_hash (register const char *str, register size_t len)
 {
   static const struct keyword_t wordlist[] =
     {
@@ -181,9 +175,9 @@ charmap_hash (register const char *str, register unsigned int len)
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register const char *s = wordlist[key].name;
 
diff --git a/locale/programs/linereader.h b/locale/programs/linereader.h
index 6cc2e811ee..90976ee4e6 100644
--- a/locale/programs/linereader.h
+++ b/locale/programs/linereader.h
@@ -29,7 +29,7 @@
 #include "repertoire.h"
 #include "record-status.h"
 
-typedef const struct keyword_t *(*kw_hash_fct_t) (const char *, unsigned int);
+typedef const struct keyword_t *(*kw_hash_fct_t) (const char *, size_t);
 struct charset_t;
 struct localedef_t;
 
diff --git a/locale/programs/locfile-kw.h b/locale/programs/locfile-kw.h
index eea233af2e..3cb8a49046 100644
--- a/locale/programs/locfile-kw.h
+++ b/locale/programs/locfile-kw.h
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf  */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -25,7 +25,7 @@
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 1 "locfile-kw.gperf"
@@ -69,7 +69,7 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static const unsigned short asso_values[] =
     {
@@ -100,7 +100,7 @@ hash (register const char *str, register unsigned int len)
       631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
       631, 631, 631, 631, 631, 631
     };
-  register int hval = len;
+  register unsigned int hval = len;
 
   switch (hval)
     {
@@ -125,14 +125,8 @@ hash (register const char *str, register unsigned int len)
   return hval + asso_values[(unsigned char)str[len - 1]];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct keyword_t *
-locfile_hash (register const char *str, register unsigned int len)
+locfile_hash (register const char *str, register size_t len)
 {
   static const struct keyword_t wordlist[] =
     {
@@ -611,9 +605,9 @@ locfile_hash (register const char *str, register unsigned int len)
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register const char *s = wordlist[key].name;
 
diff --git a/locale/programs/repertoire.c b/locale/programs/repertoire.c
index f971f88978..1918034172 100644
--- a/locale/programs/repertoire.c
+++ b/locale/programs/repertoire.c
@@ -37,7 +37,7 @@
 
 /* Simple keyword hashing for the repertoiremap.  */
 static const struct keyword_t *repertoiremap_hash (const char *str,
-						   unsigned int len);
+						   size_t len);
 static void repertoire_new_char (struct linereader *lr, hash_table *ht,
 				 hash_table *rt, struct obstack *ob,
 				 uint32_t value, const char *from,
@@ -358,7 +358,7 @@ repertoire_compare (const void *p1, const void *p2)
 
 
 static const struct keyword_t *
-repertoiremap_hash (const char *str, unsigned int len)
+repertoiremap_hash (const char *str, size_t len)
 {
   static const struct keyword_t wordlist[] =
   {
-- 
2.21.0

>From 9975ad0298c9e772d8d98634ae36ad9aee210b59 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 9 Sep 2019 14:10:23 -0700
Subject: [PATCH 2/2] Fix http: URL in 'configure'

* configure.ac: Add URL to AC_INIT so that it generates an
https: URL instead of an http: URL.
* configure: Regenerate.
---
 ChangeLog    | 5 +++++
 configure    | 6 +++---
 configure.ac | 3 ++-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 307ae5874f..00658e6835 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2019-09-09  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Fix http: URL in 'configure'
+	* configure.ac: Add URL to AC_INIT so that it generates an
+	https: URL instead of an http: URL.
+	* configure: Regenerate.
+
 	Regenerate charmap-kw.h, locfile-kw.h
 	This propagates the recent http->https URL changes.
 	Since I used gperf 3.1 to regenerate, this is also a minor
diff --git a/configure b/configure
index 618c9836fc..2f44b66656 100755
--- a/configure
+++ b/configure
@@ -582,7 +582,7 @@ PACKAGE_TARNAME='glibc'
 PACKAGE_VERSION='(see version.h)'
 PACKAGE_STRING='GNU C Library (see version.h)'
 PACKAGE_BUGREPORT='https://sourceware.org/bugzilla/'
-PACKAGE_URL='http://www.gnu.org/software/glibc/'
+PACKAGE_URL='https://www.gnu.org/software/glibc/'
 
 ac_unique_file="include/features.h"
 enable_option_checking=no
@@ -1505,7 +1505,7 @@ Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 Report bugs to <https://sourceware.org/bugzilla/>.
-GNU C Library home page: <http://www.gnu.org/software/glibc/>.
+GNU C Library home page: <https://www.gnu.org/software/glibc/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>.
 _ACEOF
 ac_status=$?
@@ -7473,7 +7473,7 @@ Configuration commands:
 $config_commands
 
 Report bugs to <https://sourceware.org/bugzilla/>.
-GNU C Library home page: <http://www.gnu.org/software/glibc/>.
+GNU C Library home page: <https://www.gnu.org/software/glibc/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
 
 _ACEOF
diff --git a/configure.ac b/configure.ac
index b7a22afb86..e69c88c543 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl Note we do not use AC_PREREQ here!  See aclocal.m4 for what we use instead.
-AC_INIT([GNU C Library], [(see version.h)], [https://sourceware.org/bugzilla/], [glibc])
+AC_INIT([GNU C Library], [(see version.h)], [https://sourceware.org/bugzilla/],
+  [glibc], [https://www.gnu.org/software/glibc/])
 AC_CONFIG_SRCDIR([include/features.h])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([scripts])
-- 
2.21.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]