Hello community,

here is the log from the commit of package gcc8 for openSUSE:Factory checked in 
at 2019-06-04 12:11:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc8 (Old)
 and      /work/SRC/openSUSE:Factory/.gcc8.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcc8"

Tue Jun  4 12:11:37 2019 rev:15 rq:706664 version:8.3.1+r271793

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc8/cross-aarch64-gcc8.changes  2019-03-10 
09:28:39.732276072 +0100
+++ /work/SRC/openSUSE:Factory/.gcc8.new.5148/cross-aarch64-gcc8.changes        
2019-06-04 12:11:41.067834665 +0200
@@ -1,0 +2,35 @@
+Fri May 31 08:12:20 UTC 2019 - [email protected]
+
+- Update to gcc-8-branch head (r271793).
+
+-------------------------------------------------------------------
+Thu May 30 12:37:32 UTC 2019 - Martin Liška <[email protected]>
+
+- Strip -flto from $optflags.
+
+-------------------------------------------------------------------
+Fri May  3 08:39:53 UTC 2019 - [email protected]
+
+- Update to gcc-8-branch head (r270841).
+  * Includes gcc8-pr89752.patch.
+
+-------------------------------------------------------------------
+Mon Mar 25 11:12:03 UTC 2019 - [email protected]
+
+- Add gcc8-pr89752.patch fixing an ICE compiling tensorflow on
+  aarch64 [bsc#1129389].
+- Change URLs to use https.
+
+-------------------------------------------------------------------
+Tue Mar  5 08:28:21 UTC 2019 - [email protected]
+
+- Update to gcc-8-branch head (r269383).
+  * Includes fix for PR89505.  [bsc#1127857]
+
+-------------------------------------------------------------------
+Wed Feb 27 12:06:48 UTC 2019 - [email protected]
+
+- Add gcc8-reproducible-builds-buildid-for-checksum.patch to make
+  builds without profiling reproducible.
+
+-------------------------------------------------------------------
@@ -5 +40 @@
-  * Includes GCC 8.3 release.
+  * Includes GCC 8.3 release.  [bsc#1127260]
cross-arm-gcc8.changes: same change
cross-arm-none-gcc8-bootstrap.changes: same change
cross-arm-none-gcc8.changes: same change
cross-avr-gcc8-bootstrap.changes: same change
cross-avr-gcc8.changes: same change
cross-epiphany-gcc8-bootstrap.changes: same change
cross-epiphany-gcc8.changes: same change
cross-hppa-gcc8.changes: same change
cross-i386-gcc8.changes: same change
cross-m68k-gcc8.changes: same change
cross-mips-gcc8.changes: same change
cross-nvptx-gcc8.changes: same change
cross-ppc64-gcc8.changes: same change
cross-ppc64le-gcc8.changes: same change
cross-riscv64-elf-gcc8-bootstrap.changes: same change
cross-riscv64-elf-gcc8.changes: same change
cross-riscv64-gcc8.changes: same change
cross-rx-gcc8-bootstrap.changes: same change
cross-rx-gcc8.changes: same change
cross-s390x-gcc8.changes: same change
cross-sparc-gcc8.changes: same change
cross-sparc64-gcc8.changes: same change
cross-x86_64-gcc8.changes: same change
gcc8-testresults.changes: same change
gcc8.changes: same change

Old:
----
  gcc-8.3.1+r269200.tar.xz

New:
----
  gcc-8.3.1+r271793.tar.xz
  gcc8-reproducible-builds-buildid-for-checksum.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cross-aarch64-gcc8.spec ++++++
--- /var/tmp/diff_new_pack.USr5ND/_old  2019-06-04 12:12:25.759820028 +0200
+++ /var/tmp/diff_new_pack.USr5ND/_new  2019-06-04 12:12:25.763820027 +0200
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -172,8 +172,8 @@
 
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
-Url:            http://gcc.gnu.org/
-Version:        8.3.1+r269200
+URL:            https://gcc.gnu.org/
+Version:        8.3.1+r271793
 Release:        0
 %define gcc_dir_version %(echo %version |  sed 's/+.*//' | cut -d '.' -f 1)
 %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' 
| sed 's/+/-/')
@@ -197,6 +197,7 @@
 Patch17:        riscv-builtin-eh-return.patch
 Patch18:        gcc8-pr87642.patch
 Patch19:        gcc8-reproducible-builds.patch
+Patch20:        gcc8-reproducible-builds-buildid-for-checksum.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -275,6 +276,7 @@
 %patch17 -p1
 %patch18
 %patch19
+%patch20
 %patch51
 %patch60
 %patch61
@@ -282,6 +284,7 @@
 #test patching end
 
 %build
+%define _lto_cflags %{nil}
 # Avoid rebuilding of generated files
 contrib/gcc_update --touch
 
@@ -397,7 +400,7 @@
 %else
        --disable-plugin \
 %endif
-       --with-bugurl="http://bugs.opensuse.org/"; \
+       --with-bugurl="https://bugs.opensuse.org/"; \
        --with-pkgversion="SUSE Linux" \
        --with-slibdir=/%{_lib} \
        --with-system-zlib \

cross-arm-gcc8.spec: same change
cross-arm-none-gcc8-bootstrap.spec: same change
cross-arm-none-gcc8.spec: same change
cross-avr-gcc8-bootstrap.spec: same change
cross-avr-gcc8.spec: same change
cross-epiphany-gcc8-bootstrap.spec: same change
cross-epiphany-gcc8.spec: same change
cross-hppa-gcc8.spec: same change
cross-i386-gcc8.spec: same change
cross-m68k-gcc8.spec: same change
cross-mips-gcc8.spec: same change
cross-nvptx-gcc8.spec: same change
cross-ppc64-gcc8.spec: same change
cross-ppc64le-gcc8.spec: same change
cross-riscv64-elf-gcc8-bootstrap.spec: same change
cross-riscv64-elf-gcc8.spec: same change
cross-riscv64-gcc8.spec: same change
cross-rx-gcc8-bootstrap.spec: same change
cross-rx-gcc8.spec: same change
cross-s390x-gcc8.spec: same change
cross-sparc-gcc8.spec: same change
cross-sparc64-gcc8.spec: same change
cross-x86_64-gcc8.spec: same change
gcc8-testresults.spec: same change
++++++ gcc8.spec ++++++
--- /var/tmp/diff_new_pack.USr5ND/_old  2019-06-04 12:12:26.395819820 +0200
+++ /var/tmp/diff_new_pack.USr5ND/_new  2019-06-04 12:12:26.395819820 +0200
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -231,8 +231,8 @@
 
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
-Url:            http://gcc.gnu.org/
-Version:        8.3.1+r269200
+URL:            https://gcc.gnu.org/
+Version:        8.3.1+r271793
 Release:        0
 %define gcc_dir_version %(echo %version |  sed 's/+.*//' | cut -d '.' -f 1)
 %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' 
| sed 's/+/-/')
@@ -295,6 +295,7 @@
 Patch17:        riscv-builtin-eh-return.patch
 Patch18:        gcc8-pr87642.patch
 Patch19:        gcc8-reproducible-builds.patch
+Patch20:        gcc8-reproducible-builds-buildid-for-checksum.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -650,7 +651,7 @@
 
 %package info
 Summary:        Documentation for the GNU compiler collection
-License:        GFDL-1.2
+License:        GFDL-1.2-only
 Group:          Documentation/Other
 PreReq:         %{install_info_prereq}
 %if 0%{?suse_version} >= 1120
@@ -988,7 +989,7 @@
 
 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
 Summary:        The GNU Fortran Compiler Quadmath Runtime Library
-License:        LGPL-2.1
+License:        LGPL-2.1-only
 Group:          Development/Languages/Fortran
 Provides:       libquadmath%{libquadmath_sover} = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
@@ -1005,7 +1006,7 @@
 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix} -p 
/sbin/ldconfig
 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
 Summary:        The GNU Fortran Compiler Quadmath Runtime Library
-License:        LGPL-2.1
+License:        LGPL-2.1-only
 Group:          Development/Languages/Fortran
 Provides:       libquadmath%{libquadmath_sover}-32bit = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
@@ -1022,7 +1023,7 @@
 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit -p 
/sbin/ldconfig
 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
 Summary:        The GNU Fortran Compiler Quadmath Runtime Library
-License:        LGPL-2.1
+License:        LGPL-2.1-only
 Group:          Development/Languages/Fortran
 Provides:       libquadmath%{libquadmath_sover}-64bit = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
@@ -1692,6 +1693,7 @@
 %patch17 -p1
 %patch18
 %patch19
+%patch20
 %patch51
 %patch60
 %patch61
@@ -1699,6 +1701,7 @@
 #test patching end
 
 %build
+%define _lto_cflags %{nil}
 # Avoid rebuilding of generated files
 contrib/gcc_update --touch
 
@@ -1814,7 +1817,7 @@
 %else
        --disable-plugin \
 %endif
-       --with-bugurl="http://bugs.opensuse.org/"; \
+       --with-bugurl="https://bugs.opensuse.org/"; \
        --with-pkgversion="SUSE Linux" \
        --with-slibdir=/%{_lib} \
        --with-system-zlib \

++++++ gcc-8.3.1+r269200.tar.xz -> gcc-8.3.1+r271793.tar.xz ++++++
/work/SRC/openSUSE:Factory/gcc8/gcc-8.3.1+r269200.tar.xz 
/work/SRC/openSUSE:Factory/.gcc8.new.5148/gcc-8.3.1+r271793.tar.xz differ: char 
27, line 1

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.USr5ND/_old  2019-06-04 12:12:26.591819756 +0200
+++ /var/tmp/diff_new_pack.USr5ND/_new  2019-06-04 12:12:26.591819756 +0200
@@ -235,8 +235,8 @@
 # COMMON-BEGIN
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
-URL:          http://gcc.gnu.org/
-Version: 8.3.1+r269200
+URL:          https://gcc.gnu.org/
+Version: 8.3.1+r271793
 Release:      1
 %define gcc_dir_version %(echo %version |  sed 's/+.*//' | cut -d '.' -f 1)
 %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' 
| sed 's/+/-/')
@@ -300,6 +300,7 @@
 Patch17:        riscv-builtin-eh-return.patch
 Patch18:       gcc8-pr87642.patch
 Patch19:       gcc8-reproducible-builds.patch
+Patch20:       gcc8-reproducible-builds-buildid-for-checksum.patch
 # A set of patches from the RH srpm
 Patch51:       gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -1031,6 +1032,7 @@
 %patch17 -p1
 %patch18
 %patch19
+%patch20
 %patch51
 %patch60
 %patch61
@@ -1038,6 +1040,7 @@
 #test patching end
 
 %build
+%define _lto_cflags %{nil}
 # Avoid rebuilding of generated files
 contrib/gcc_update --touch
 
@@ -1153,7 +1156,7 @@
 %else
        --disable-plugin \
 %endif
-       --with-bugurl="http://bugs.opensuse.org/"; \
+       --with-bugurl="https://bugs.opensuse.org/"; \
        --with-pkgversion="SUSE Linux" \
        --with-slibdir=/%{_lib} \
        --with-system-zlib \

++++++ gcc8-reproducible-builds-buildid-for-checksum.patch ++++++
Use the binaries build-id as checksum for PCH purposes.

Index: gcc/c-family/c-pch.c
===================================================================
--- gcc/c-family/c-pch.c        (revision 269204)
+++ gcc/c-family/c-pch.c        (working copy)
@@ -45,10 +45,6 @@ enum {
   MATCH_SIZE = ARRAY_SIZE (pch_matching)
 };
 
-/* The value of the checksum in the dummy compiler that is actually
-   checksummed.  That compiler should never be run.  */
-static const char no_checksum[16] = { 0 };
-
 /* Information about flags and suchlike that affect PCH validity.
 
    Before this structure is read, both an initial 8-character identification
@@ -69,6 +65,66 @@ static FILE *pch_outfile;
 
 static const char *get_ident (void);
 
+#if _GNU_SOURCE
+#include <link.h>
+
+#define ALIGN(val, align)      (((val) + (align) - 1) & ~((align) - 1))
+
+static int
+get_build_id_1 (struct dl_phdr_info *info, size_t, void *data)
+{
+  for (unsigned i = 0; i < info->dlpi_phnum; ++i)
+    {
+      if (info->dlpi_phdr[i].p_type != PT_NOTE)
+       continue;
+      ElfW(Nhdr) *nhdr
+       = (ElfW(Nhdr) *)(info->dlpi_addr + info->dlpi_phdr[i].p_vaddr);
+      ptrdiff_t size = info->dlpi_phdr[i].p_filesz;
+      ptrdiff_t align = info->dlpi_phdr[i].p_align;
+      if (align != 8)
+       align = 4;
+      while (size >= (ptrdiff_t)sizeof (ElfW(Nhdr)))
+       {
+         if (nhdr->n_type == NT_GNU_BUILD_ID
+             && nhdr->n_namesz == 4
+             && strncmp ((char *)nhdr
+                         + sizeof (ElfW(Nhdr)),
+                         "GNU", 4) == 0
+             && nhdr->n_descsz >= 16)
+           {
+             memcpy (data, 
+                     (char *)nhdr
+                     + ALIGN (sizeof (ElfW(Nhdr))
+                              + nhdr->n_namesz, align), 16);
+             return 1;
+           }
+         size_t offset = (ALIGN (sizeof (ElfW(Nhdr))
+                                 + nhdr->n_namesz, align)
+                          + ALIGN(nhdr->n_descsz, align));
+         nhdr = (ElfW(Nhdr) *)((char *)nhdr + offset);
+         size -= offset;
+       }
+    }
+
+  return 0;
+}
+
+static const unsigned char *
+get_build_id ()
+{
+  static unsigned char build_id[16];
+  if (!dl_iterate_phdr (get_build_id_1, build_id))
+    return NULL;
+  return build_id;
+}
+#else
+static const unsigned char *
+get_build_id ()
+{
+  return NULL;
+}
+#endif
+
 /* Compute an appropriate 8-byte magic number for the PCH file, so that
    utilities like file(1) can identify it, and so that GCC can quickly
    ignore non-PCH files and PCH files that are of a completely different
@@ -111,8 +167,6 @@ pch_init (void)
                 pch_file);
   pch_outfile = f;
 
-  gcc_assert (memcmp (executable_checksum, no_checksum, 16) != 0);
-
   memset (&v, '\0', sizeof (v));
   v.debug_info_type = write_symbols;
   {
@@ -126,8 +180,11 @@ pch_init (void)
   v.pch_init = &pch_init;
   target_validity = targetm.get_pch_validity (&v.target_data_length);
 
+  const unsigned char *chksum = get_build_id ();
+  if (!chksum)
+    chksum = executable_checksum;
   if (fwrite (partial_pch, IDENT_LENGTH, 1, f) != 1
-      || fwrite (executable_checksum, 16, 1, f) != 1
+      || fwrite (chksum, 16, 1, f) != 1
       || fwrite (&v, sizeof (v), 1, f) != 1
       || fwrite (target_validity, v.target_data_length, 1, f) != 1)
     fatal_error (input_location, "can%'t write to %s: %m", pch_file);
@@ -212,8 +269,6 @@ c_common_valid_pch (cpp_reader *pfile, c
   /* Perform a quick test of whether this is a valid
      precompiled header for the current language.  */
 
-  gcc_assert (memcmp (executable_checksum, no_checksum, 16) != 0);
-
   sizeread = read (fd, ident, IDENT_LENGTH + 16);
   if (sizeread == -1)
     fatal_error (input_location, "can%'t read %s: %m", name);
@@ -245,7 +300,10 @@ c_common_valid_pch (cpp_reader *pfile, c
        }
       return 2;
     }
-  if (memcmp (ident + IDENT_LENGTH, executable_checksum, 16) != 0)
+  const unsigned char *chksum = get_build_id ();
+  if (!chksum)
+    chksum = executable_checksum;
+  if (memcmp (ident + IDENT_LENGTH, chksum, 16) != 0)
     {
       if (cpp_get_options (pfile)->warn_invalid_pch)
        cpp_error (pfile, CPP_DL_WARNING,
Index: gcc/genchecksum.c
===================================================================
--- gcc/genchecksum.c   (revision 269204)
+++ gcc/genchecksum.c   (working copy)
@@ -113,8 +113,13 @@ main (int argc, char ** argv)
   puts ("#include \"config.h\"");
   puts ("#include \"system.h\"");
   fputs ("EXPORTED_CONST unsigned char executable_checksum[16] = { ", stdout);
+#if _GNU_SOURCE
+  for (i = 0; i < 16; i++)
+    printf ("0x%02x%s", 0, i == 15 ? " };\n" : ", ");
+#else
   for (i = 0; i < 16; i++)
     printf ("0x%02x%s", result[i], i == 15 ? " };\n" : ", ");
+#endif
 
   return 0;
 }

Reply via email to