Hello community,

here is the log from the commit of package gcc9 for openSUSE:Factory checked in 
at 2019-06-26 16:03:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc9 (Old)
 and      /work/SRC/openSUSE:Factory/.gcc9.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcc9"

Wed Jun 26 16:03:42 2019 rev:3 rq:709115 version:9.1.1+r272147

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc9/cross-aarch64-gcc9.changes  2019-05-25 
13:20:05.584339726 +0200
+++ /work/SRC/openSUSE:Factory/.gcc9.new.4615/cross-aarch64-gcc9.changes        
2019-06-26 16:03:45.823606448 +0200
@@ -1,0 +2,23 @@
+Tue Jun 11 08:33:28 UTC 2019 - rguent...@suse.com
+
+- Update to gcc-9-branch head (r272147).
+  * Pulls fix for random debug info differences when compiling D code.
+  [gcc#90778]
+
+-------------------------------------------------------------------
+Thu Jun  6 08:14:15 UTC 2019 - rguent...@suse.com
+
+- Update to gcc-9-branch head (r271995).
+  * installs workaround for broken lapack C interfaces
+- Drop gcc9-spectrev1.patch, add gcc9-reproducible-builds.patch
+  and gcc9-reproducible-builds-buildid-for-checksum.patch moving
+  reproducible build improvements over from GCC 8 package.
+- Split out libstdc++ pretty-printers into a separate package
+  supplementing gdb and the installed runtime.  [bsc#1135254]
+
+-------------------------------------------------------------------
+Mon May 27 07:33:17 UTC 2019 - rguent...@suse.com
+
+- Update to gcc-9-branch head (r271643).
+
+-------------------------------------------------------------------
cross-arm-gcc9.changes: same change
cross-arm-none-gcc9-bootstrap.changes: same change
cross-arm-none-gcc9.changes: same change
cross-avr-gcc9-bootstrap.changes: same change
cross-avr-gcc9.changes: same change
cross-epiphany-gcc9-bootstrap.changes: same change
cross-epiphany-gcc9.changes: same change
cross-hppa-gcc9.changes: same change
cross-i386-gcc9.changes: same change
cross-m68k-gcc9.changes: same change
cross-mips-gcc9.changes: same change
cross-nvptx-gcc9.changes: same change
cross-ppc64-gcc9.changes: same change
cross-ppc64le-gcc9.changes: same change
cross-riscv64-elf-gcc9-bootstrap.changes: same change
cross-riscv64-elf-gcc9.changes: same change
cross-riscv64-gcc9.changes: same change
cross-rx-gcc9-bootstrap.changes: same change
cross-rx-gcc9.changes: same change
cross-s390x-gcc9.changes: same change
cross-sparc-gcc9.changes: same change
cross-sparc64-gcc9.changes: same change
cross-x86_64-gcc9.changes: same change
gcc9-testresults.changes: same change
gcc9.changes: same change

Old:
----
  gcc-9.1.1+r271393.tar.xz
  gcc9-spectrev1.patch

New:
----
  gcc-9.1.1+r272147.tar.xz
  gcc9-reproducible-builds-buildid-for-checksum.patch
  gcc9-reproducible-builds.patch

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

Other differences:
------------------
++++++ cross-aarch64-gcc9.spec ++++++
--- /var/tmp/diff_new_pack.DpNrjL/_old  2019-06-26 16:03:51.303614201 +0200
+++ /var/tmp/diff_new_pack.DpNrjL/_new  2019-06-26 16:03:51.307614207 +0200
@@ -173,7 +173,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 URL:            https://gcc.gnu.org/
-Version:        9.1.1+r271393
+Version:        9.1.1+r272147
 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/+/-/')
@@ -192,7 +192,8 @@
 Patch9:         gcc48-remove-mpfr-2.4.0-requirement.patch
 Patch11:        gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
 Patch15:        gcc7-avoid-fixinc-error.diff
-Patch16:        gcc9-spectrev1.patch
+Patch16:        gcc9-reproducible-builds.patch
+Patch17:        gcc9-reproducible-builds-buildid-for-checksum.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -266,7 +267,8 @@
 %endif
 %patch11
 %patch15
-%patch16 -p1
+%patch16
+%patch17
 %patch51
 %patch60
 %patch61

cross-arm-gcc9.spec: same change
cross-arm-none-gcc9-bootstrap.spec: same change
cross-arm-none-gcc9.spec: same change
cross-avr-gcc9-bootstrap.spec: same change
cross-avr-gcc9.spec: same change
cross-epiphany-gcc9-bootstrap.spec: same change
cross-epiphany-gcc9.spec: same change
cross-hppa-gcc9.spec: same change
cross-i386-gcc9.spec: same change
cross-m68k-gcc9.spec: same change
cross-mips-gcc9.spec: same change
cross-nvptx-gcc9.spec: same change
cross-ppc64-gcc9.spec: same change
cross-ppc64le-gcc9.spec: same change
cross-riscv64-elf-gcc9-bootstrap.spec: same change
cross-riscv64-elf-gcc9.spec: same change
cross-riscv64-gcc9.spec: same change
cross-rx-gcc9-bootstrap.spec: same change
cross-rx-gcc9.spec: same change
cross-s390x-gcc9.spec: same change
cross-sparc-gcc9.spec: same change
cross-sparc64-gcc9.spec: same change
cross-x86_64-gcc9.spec: same change
gcc9-testresults.spec: same change
++++++ gcc9.spec ++++++
--- /var/tmp/diff_new_pack.DpNrjL/_old  2019-06-26 16:03:51.915615067 +0200
+++ /var/tmp/diff_new_pack.DpNrjL/_new  2019-06-26 16:03:51.919615073 +0200
@@ -242,7 +242,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 URL:            https://gcc.gnu.org/
-Version:        9.1.1+r271393
+Version:        9.1.1+r272147
 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/+/-/')
@@ -296,7 +296,8 @@
 Patch9:         gcc48-remove-mpfr-2.4.0-requirement.patch
 Patch11:        gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
 Patch15:        gcc7-avoid-fixinc-error.diff
-Patch16:        gcc9-spectrev1.patch
+Patch16:        gcc9-reproducible-builds.patch
+Patch17:        gcc9-reproducible-builds-buildid-for-checksum.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -441,6 +442,10 @@
 %ifarch ia64
 Requires:       libunwind-devel
 %endif
+# Fallback for non-existing Supplements support
+%if %{suse_version} < 1500
+Requires:       libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix} = 
%{version}-%{release}
+%endif
 
 %description -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}
 This package contains all the headers and libraries of the standard C++
@@ -454,6 +459,10 @@
 %ifarch ia64
 Requires:       libunwind-devel
 %endif
+# Fallback for non-existing Supplements support
+%if %{suse_version} < 1500
+Requires:       libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}-32bit = 
%{version}-%{release}
+%endif
 
 %description -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}-32bit
 This package contains all the headers and libraries of the standard C++
@@ -467,11 +476,58 @@
 %ifarch ia64
 Requires:       libunwind-devel
 %endif
+# Fallback for non-existing Supplements support
+%if %{suse_version} < 1500
+Requires:       libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}-64bit = 
%{version}-%{release}
+%endif
 
 %description -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}-64bit
 This package contains all the headers and libraries of the standard C++
 library. It is needed for compiling C++ code.
 
+%package -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}
+Summary:        GDB pretty printers for the C++ standard library
+License:        GPL-3.0-or-later
+Group:          Development/Languages/C and C++
+Requires:       libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix} = 
%{version}-%{release}
+# packageand() does not work with versioned specifications so the fallback
+# is a Requires from libstdc++-devel to preserve previous behavior.
+%if %{suse_version} >= 1500
+Supplements:    (gdb and libstdc++%{libstdcxx_sover} = %{version}-%{release})
+%endif
+
+%description -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}
+This package contains pretty printers for the C++ standard library usable
+from GDB.
+%package -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}-32bit
+Summary:        GDB pretty printers for the C++ standard library
+License:        GPL-3.0-or-later
+Group:          Development/Languages/C and C++
+Requires:       libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix} = 
%{version}-%{release}
+# packageand() does not work with versioned specifications so the fallback
+# is a Requires from libstdc++-devel to preserve previous behavior.
+%if %{suse_version} >= 1500
+Supplements:    (gdb and libstdc++%{libstdcxx_sover}-32bit = 
%{version}-%{release})
+%endif
+
+%description -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}-32bit
+This package contains pretty printers for the C++ standard library usable
+from GDB.
+%package -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}-64bit
+Summary:        GDB pretty printers for the C++ standard library
+License:        GPL-3.0-or-later
+Group:          Development/Languages/C and C++
+Requires:       libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix} = 
%{version}-%{release}
+# packageand() does not work with versioned specifications so the fallback
+# is a Requires from libstdc++-devel to preserve previous behavior.
+%if %{suse_version} >= 1500
+Supplements:    (gdb and libstdc++%{libstdcxx_sover}-64bit = 
%{version}-%{release})
+%endif
+
+%description -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}-64bit
+This package contains pretty printers for the C++ standard library usable
+from GDB.
+
 
 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
 Summary:        C compiler runtime library
@@ -1712,7 +1768,8 @@
 %endif
 %patch11
 %patch15
-%patch16 -p1
+%patch16
+%patch17
 %patch51
 %patch60
 %patch61
@@ -2716,6 +2773,9 @@
 %versmainlib libstdc++.so
 %versmainlib libsupc++.a
 %{_prefix}/include/c++
+
+%files -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}
+%defattr(-,root,root)
 %dir %{_datadir}/gdb
 %dir %{_datadir}/gdb/auto-load
 %dir %{_datadir}/gdb/auto-load%{_prefix}
@@ -2730,6 +2790,9 @@
 %versbiarchlib libstdc++fs.a
 %versbiarchlib libstdc++.so
 %versbiarchlib libsupc++.a
+
+%files -n 
libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}%{separate_biarch_suffix}
+%defattr(-,root,root)
 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
 %endif

++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.DpNrjL/_old  2019-06-26 16:03:51.991615175 +0200
+++ /var/tmp/diff_new_pack.DpNrjL/_new  2019-06-26 16:03:51.991615175 +0200
@@ -1,25 +1,30 @@
 <constraints>
   <hardware>
     <disk>
-      <size unit="G">16</size>
+      <size unit="G">22</size>
     </disk>
-    <physicalmemory>
-      <size unit="G">4</size>
-    </physicalmemory>
+    <memory>
+      <size unit="G">8</size>
+    </memory>
     <processors>4</processors>
   </hardware>
   <overwrite>
     <conditions>
       <arch>x86_64</arch>
       <arch>ppc64le</arch>
-      <arch>s390x</arch>
       <arch>aarch64</arch>
+      <package>gcc9</package>
+      <package>gcc9-testresults</package>
     </conditions>
     <hardware>
+      <disk>
+        <size unit="G">30</size>
+      </disk>
       <memory>
-        <size unit="G">8</size>
+        <size unit="G">9</size>
       </memory>
       <processors>8</processors>
+      <jobs>8</jobs>
     </hardware>
   </overwrite>
 </constraints>

++++++ gcc-9.1.1+r271393.tar.xz -> gcc-9.1.1+r272147.tar.xz ++++++
/work/SRC/openSUSE:Factory/gcc9/gcc-9.1.1+r271393.tar.xz 
/work/SRC/openSUSE:Factory/.gcc9.new.4615/gcc-9.1.1+r272147.tar.xz differ: char 
27, line 1

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.DpNrjL/_old  2019-06-26 16:03:52.167615423 +0200
+++ /var/tmp/diff_new_pack.DpNrjL/_new  2019-06-26 16:03:52.171615429 +0200
@@ -246,7 +246,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 URL:          https://gcc.gnu.org/
-Version: 9.1.1+r271393
+Version: 9.1.1+r272147
 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/+/-/')
@@ -301,7 +301,8 @@
 Patch9:                gcc48-remove-mpfr-2.4.0-requirement.patch
 Patch11:       gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
 Patch15:       gcc7-avoid-fixinc-error.diff
-Patch16:       gcc9-spectrev1.patch
+Patch16:       gcc9-reproducible-builds.patch
+Patch17:       gcc9-reproducible-builds-buildid-for-checksum.patch
 # A set of patches from the RH srpm
 Patch51:       gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -429,12 +430,33 @@
 %ifarch ia64
 Requires: libunwind-devel
 %endif
+# Fallback for non-existing Supplements support
+%if %{suse_version} < 1500
+Requires: libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}@variant@ = 
%{version}-%{release}
+%endif
 
 %description -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}@variant@
 This package contains all the headers and libraries of the standard C++
 library. It is needed for compiling C++ code.
 # PACKAGE-END
 
+# PACKAGE-BEGIN
+%package -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}@variant@
+Summary:      GDB pretty printers for the C++ standard library
+License:        GPL-3.0-or-later
+Group:        Development/Languages/C and C++
+Requires:      libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix} = 
%{version}-%{release}
+# packageand() does not work with versioned specifications so the fallback
+# is a Requires from libstdc++-devel to preserve previous behavior.
+%if %{suse_version} >= 1500
+Supplements: (gdb and libstdc++%{libstdcxx_sover}@variant@ = 
%{version}-%{release})
+%endif
+
+%description -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}@variant@
+This package contains pretty printers for the C++ standard library usable
+from GDB.
+# PACKAGE-END
+
 
 # PACKAGE-BEGIN
 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
@@ -1033,7 +1055,8 @@
 %endif
 %patch11
 %patch15
-%patch16 -p1
+%patch16
+%patch17
 %patch51
 %patch60
 %patch61
@@ -2044,6 +2067,9 @@
 %versmainlib libstdc++.so
 %versmainlib libsupc++.a
 %{_prefix}/include/c++
+
+%files -n libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}
+%defattr(-,root,root)
 %dir %{_datadir}/gdb
 %dir %{_datadir}/gdb/auto-load
 %dir %{_datadir}/gdb/auto-load%{_prefix}
@@ -2058,6 +2084,9 @@
 %versbiarchlib libstdc++fs.a
 %versbiarchlib libstdc++.so
 %versbiarchlib libsupc++.a
+
+%files -n 
libstdc++%{libstdcxx_sover}-pp%{libdevel_suffix}%{separate_biarch_suffix}
+%defattr(-,root,root)
 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
 %endif

++++++ gcc9-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)
@@ -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
@@ -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);
@@ -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;
 }
++++++ gcc9-reproducible-builds.patch ++++++
Avoid leaking current data on generated file for Ada.

Index: gcc/ada/gcc-interface/Makefile.in
===================================================================
--- gcc/ada/gcc-interface/Makefile.in   (revision 268977)
+++ gcc/ada/gcc-interface/Makefile.in   (working copy)
@@ -2407,6 +2407,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib
            $(OSCONS_CPP) ; \
            $(OSCONS_EXTRACT) ; \
            ../bldtools/oscons/xoscons s-oscons)
+       touch -r $(fsrcpfx)ada/gsocket.h $@
 
 gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) 
$(RTSDIR)/s-oscons.ads
        test -f $(RTSDIR)/s-oscons.ads || exit 1


Reply via email to