[git] GPG-ERROR - branch, master, updated. libgpg-error-1.32-9-g48c8f8d

by Werner Koch cvs at cvs.gnupg.org
Tue Sep 18 15:06:14 CEST 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Error codes used by GnuPG et al.".

The branch, master has been updated
       via  48c8f8ddfc80551db7615e1eb3555c1dc3f6a657 (commit)
      from  78b679a778ddf37b8952f1808fd8c52cc8163f17 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 48c8f8ddfc80551db7615e1eb3555c1dc3f6a657
Author: Werner Koch <wk at gnupg.org>
Date:   Tue Sep 18 14:54:08 2018 +0200

    syscfg: Support ARC CPUs and simplify aliasing table.
    
    * src/mkheader.c (xmalloc): New.
    (xstrdup): Implement using xmalloc.
    (canon_host_triplet): Add supporr for arc CPU.  Adjust alias table to
    also alias *-pc-*.  Rename ibm to unknown. Add internal arg.  Add
    unknown vendor hack.
    (main): New mode to just print the canonicalized form.
    * src/Makefile.am (lock_obj_pub): s/-(pc|ibm)-/-unknown/.  Also rename
    files accordingly.
    --
    
    config.sub does no real aliasing and thus we would need to add several
    vendors to the alising tables despite that this has no technical
    meanding.  Instead we now replace the vendor with "unknown" for the
    4-part-"triplets".  This change will make maintenace easier.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/src/Makefile.am b/src/Makefile.am
index 380ea7c..914768c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -52,9 +52,9 @@ lock_obj_pub = \
 	syscfg/lock-obj-pub.arm-apple-darwin.h              \
         syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h        \
 	syscfg/lock-obj-pub.i386-apple-darwin.h             \
-        syscfg/lock-obj-pub.i686-pc-gnu.h                   \
-        syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h          \
-        syscfg/lock-obj-pub.i686-pc-linux-gnu.h             \
+        syscfg/lock-obj-pub.i686-unknown-gnu.h              \
+        syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h     \
+        syscfg/lock-obj-pub.i686-unknown-linux-gnu.h        \
         syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h        \
         syscfg/lock-obj-pub.mips-unknown-linux-gnu.h        \
         syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h \
@@ -66,16 +66,16 @@ lock_obj_pub = \
 	syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h \
 	syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h  \
 	syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h     \
-        syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h           \
+        syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h       \
         syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h         \
         syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h         \
         syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h       \
         syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h     \
 	syscfg/lock-obj-pub.x86_64-apple-darwin.h           \
-        syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h        \
-        syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h           \
-        syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h        \
-        syscfg/lock-obj-pub.x86_64-pc-linux-musl.h          \
+        syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h   \
+        syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h      \
+        syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h   \
+        syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h     \
 	syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h      \
 	syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h        \
 	syscfg/lock-obj-pub.mingw32.h
diff --git a/src/mkheader.c b/src/mkheader.c
index 2fc5fad..7a38a1b 100644
--- a/src/mkheader.c
+++ b/src/mkheader.c
@@ -51,17 +51,27 @@ xfree (void *a)
 
 
 static char *
-xstrdup (const char *string)
+xmalloc (size_t n)
 {
   char *p;
-  size_t len = strlen (string) + 1;
 
-  p = malloc (len);
+  p = malloc (n);
   if (!p)
     {
       fputs (PGM ": out of core\n", stderr);
       exit (1);
     }
+  return p;
+}
+
+
+static char *
+xstrdup (const char *string)
+{
+  char *p;
+  size_t len = strlen (string) + 1;
+
+  p = xmalloc (len);
   memcpy (p, string, len);
   return p;
 }
@@ -69,23 +79,31 @@ xstrdup (const char *string)
 
 /* Return a malloced string with TRIPLET.  If TRIPLET has an alias
    return that instead.  In general build-aux/config.sub should do the
-   aliasing but some returned triplets are anyway identical and thus we
-   use this function to map it to the canonical form.  */
+   aliasing but some returned triplets are anyway identical and thus
+   we use this function to map it to the canonical form.
+   NO_VENDOR_HACK is for internal use; caller must call with 0. */
 static char *
-canon_host_triplet (const char *triplet)
+canon_host_triplet (const char *triplet, int no_vendor_hack)
 {
   struct {
     const char *name;
     const char *alias;
   } tbl[] = {
-    {"i486-pc-linux-gnu", "i686-pc-linux-gnu" },
+    {"i486-pc-linux-gnu", "i686-unknown-linux-gnu" },
     {"i586-pc-linux-gnu" },
-    {"i486-pc-gnu", "i686-pc-gnu"},
+    {"i686-pc-linux-gnu" },
+    {"arc-oe-linux-uclibc" }, /* Other CPU but same struct.  */
+
+    {"i486-pc-gnu", "i686-unknown-gnu"},
     {"i586-pc-gnu"},
-    {"i486-pc-kfreebsd-gnu", "i686-pc-kfreebsd-gnu"},
+    {"i686-pc-gnu"},
+
+    {"i486-pc-kfreebsd-gnu", "i686-unknown-kfreebsd-gnu"},
     {"i586-pc-kfreebsd-gnu"},
+    {"i686-pc-kfreebsd-gnu"},
 
-    {"x86_64-pc-linux-gnuhardened1", "x86_64-pc-linux-gnu" },
+    {"x86_64-pc-linux-gnuhardened1", "x86_64-unknown-linux-gnu" },
+    {"x86_64-pc-linux-gnu" },
 
     {"powerpc-unknown-linux-gnuspe", "powerpc-unknown-linux-gnu" },
 
@@ -98,6 +116,7 @@ canon_host_triplet (const char *triplet)
   };
   int i;
   const char *lastalias = NULL;
+  const char *s;
 
   for (i=0; tbl[i].name; i++)
     {
@@ -110,6 +129,36 @@ canon_host_triplet (const char *triplet)
           return xstrdup (lastalias);
         }
     }
+  for (i=0, s=triplet; *s; s++)
+    if (*s == '-')
+      i++;
+  if (i > 2 && !no_vendor_hack)
+    {
+      /* We have a 4 part "triplet": CPU-VENDOR-KERNEL-SYSTEM where
+       * the last two parts replace the OS part of a real triplet.
+       * The VENDOR part is then in general useless because
+       * KERNEL-SYSTEM is specific enough.  We now do a second pass by
+       * replacing VENDOR with "unknown".  */
+      char *p;
+      char *buf = xmalloc (strlen (triplet) + 7 + 1);
+
+      for (p=buf,s=triplet,i=0; *s; s++)
+        {
+          *p++ = *s;
+          if (*s == '-' && ++i == 1)
+            {
+              memcpy (p, "unknown-",8);
+              p += 8;
+              for (s++; *s != '-'; s++)
+                ;
+            }
+        }
+      *p = 0;
+      p = canon_host_triplet (buf, 1);
+      xfree (buf);
+      return p;
+    }
+
   return xstrdup (triplet);
 }
 
@@ -558,7 +607,7 @@ write_special (const char *fname, int lnr, const char *tag)
 int
 main (int argc, char **argv)
 {
-  FILE *fp;
+  FILE *fp = NULL;
   char line[LINESIZE];
   int lnr = 0;
   const char *fname, *s;
@@ -571,11 +620,22 @@ main (int argc, char **argv)
       argc--; argv++;
     }
 
-  if (argc != 6)
+  if (argc == 1)
+    {
+      /* Print just the canonicalized host triplet.  */
+      host_triplet = canon_host_triplet (argv[0], 0);
+      printf ("%s\n", host_triplet);
+      goto leave;
+    }
+  else if (argc == 6)
+    ; /* Standard operation.  */
+  else
     {
       fputs ("usage: " PGM
              " host_os host_triplet template.h config.h"
-             " version version_number\n",
+             " version version_number\n"
+             "       " PGM
+             " host_triplet\n",
              stderr);
       return 1;
     }
@@ -586,7 +646,7 @@ main (int argc, char **argv)
   hdr_version = argv[4];
   hdr_version_number = argv[5];
 
-  host_triplet = canon_host_triplet (host_triplet_raw);
+  host_triplet = canon_host_triplet (host_triplet_raw, 0);
 
   srcdir = malloc (strlen (fname) + 2 + 1);
   if (!srcdir)
@@ -677,13 +737,15 @@ main (int argc, char **argv)
          "End:\n"
          "*/\n", stdout);
 
+ leave:
   if (ferror (stdout))
     {
       fprintf (stderr, PGM ": error writing to stdout: %s\n", strerror (errno));
       return 1;
     }
 
-  fclose (fp);
+  if (fp)
+    fclose (fp);
 
   xfree (host_triplet);
   return 0;
diff --git a/src/syscfg/lock-obj-pub.i686-pc-gnu.h b/src/syscfg/lock-obj-pub.i686-unknown-gnu.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.i686-pc-gnu.h
rename to src/syscfg/lock-obj-pub.i686-unknown-gnu.h
diff --git a/src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h b/src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h
rename to src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
diff --git a/src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h b/src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h
rename to src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
diff --git a/src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h b/src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h
rename to src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h b/src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h
rename to src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h b/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h
rename to src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h b/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h
rename to src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h b/src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h
similarity index 100%
rename from src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h
rename to src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h

-----------------------------------------------------------------------

Summary of changes:
 src/Makefile.am                                    | 16 ++--
 src/mkheader.c                                     | 92 ++++++++++++++++++----
 ...86-pc-gnu.h => lock-obj-pub.i686-unknown-gnu.h} |  0
 ....h => lock-obj-pub.i686-unknown-kfreebsd-gnu.h} |  0
 ...gnu.h => lock-obj-pub.i686-unknown-linux-gnu.h} |  0
 ...nu.h => lock-obj-pub.s390x-unknown-linux-gnu.h} |  0
 ... => lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h} |  0
 ...u.h => lock-obj-pub.x86_64-unknown-linux-gnu.h} |  0
 ... => lock-obj-pub.x86_64-unknown-linux-gnux32.h} |  0
 ....h => lock-obj-pub.x86_64-unknown-linux-musl.h} |  0
 10 files changed, 85 insertions(+), 23 deletions(-)
 rename src/syscfg/{lock-obj-pub.i686-pc-gnu.h => lock-obj-pub.i686-unknown-gnu.h} (100%)
 rename src/syscfg/{lock-obj-pub.i686-pc-kfreebsd-gnu.h => lock-obj-pub.i686-unknown-kfreebsd-gnu.h} (100%)
 rename src/syscfg/{lock-obj-pub.i686-pc-linux-gnu.h => lock-obj-pub.i686-unknown-linux-gnu.h} (100%)
 rename src/syscfg/{lock-obj-pub.s390x-ibm-linux-gnu.h => lock-obj-pub.s390x-unknown-linux-gnu.h} (100%)
 rename src/syscfg/{lock-obj-pub.x86_64-pc-kfreebsd-gnu.h => lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h} (100%)
 rename src/syscfg/{lock-obj-pub.x86_64-pc-linux-gnu.h => lock-obj-pub.x86_64-unknown-linux-gnu.h} (100%)
 rename src/syscfg/{lock-obj-pub.x86_64-pc-linux-gnux32.h => lock-obj-pub.x86_64-unknown-linux-gnux32.h} (100%)
 rename src/syscfg/{lock-obj-pub.x86_64-pc-linux-musl.h => lock-obj-pub.x86_64-unknown-linux-musl.h} (100%)


hooks/post-receive
-- 
Error codes used by GnuPG et al.
http://git.gnupg.org




More information about the Gnupg-commits mailing list