diff options
author | Rod Kay | 2022-08-04 19:32:40 +1000 |
---|---|---|
committer | Rod Kay | 2022-08-04 19:32:40 +1000 |
commit | 514dfbd59b568fcffb4ea19075cc22a74a596aa2 (patch) | |
tree | 36c962b9c578a5c3764f1df586657e4bb54db314 | |
parent | 19b77cabbb9ec34c28dc1779fe02d2b9633fba8b (diff) | |
download | aur-514dfbd59b568fcffb4ea19075cc22a74a596aa2.tar.gz |
Update to GCC version '12.1.1'.
-rw-r--r-- | .SRCINFO | 43 | ||||
-rw-r--r-- | PKGBUILD | 197 | ||||
-rw-r--r-- | ada-strippers-binaries | 4 | ||||
-rw-r--r-- | ada-strippers-libraries | 12 | ||||
-rw-r--r-- | fs64270.patch | 26 | ||||
-rw-r--r-- | gcc11-Wno-format-security.patch | 27 | ||||
-rw-r--r-- | gdc_phobos_path.patch | 14 | ||||
-rw-r--r-- | ipa-fix-ICE-in-get_default_value.patch | 80 | ||||
-rw-r--r-- | ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch | 147 |
9 files changed, 145 insertions, 405 deletions
@@ -1,60 +1,55 @@ pkgbase = gcc-ada-debug pkgdesc = Ada front-end for GCC (GNAT) with an unstripped runtime for effective debugging with gdb - pkgver = 11.1.0 + pkgver = 12.1.1 pkgrel = 1 url = https://gcc.gnu.org arch = x86_64 - license = GPL + license = GPL3 license = LGPL license = FDL license = custom checkdepends = dejagnu + checkdepends = expect checkdepends = inetutils + checkdepends = python-pytest + checkdepends = tcl makedepends = binutils - makedepends = libmpc - makedepends = gcc-ada makedepends = doxygen + makedepends = gcc-ada + makedepends = git makedepends = lib32-glibc makedepends = lib32-gcc-libs - makedepends = python - makedepends = git + makedepends = libisl + makedepends = libmpc makedepends = libxcrypt + makedepends = python + makedepends = zstd provides = gcc-ada conflicts = gcc-ada options = !emptydirs - source = https://sourceware.org/pub/gcc/releases/gcc-11.1.0/gcc-11.1.0.tar.xz - source = https://sourceware.org/pub/gcc/releases/gcc-11.1.0/gcc-11.1.0.tar.xz.sig - source = http://isl.gforge.inria.fr/isl-0.24.tar.xz + options = !lto + options = debug + source = git+https://sourceware.org/git/gcc.git#commit=681c73db9bd156f9b65a73ccc6c4a0a697fe70d6 source = c89 source = c99 - source = gdc_phobos_path.patch - source = fs64270.patch - source = ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch - source = ipa-fix-ICE-in-get_default_value.patch source = gcc-ada-repro.patch - source = gcc11-Wno-format-security.patch source = ada-strippers-binaries source = ada-strippers-libraries validpgpkeys = F3691687D867B81B51CE07D9BBE43771487328A9 validpgpkeys = 86CFFCA918CF3AF47147588051E8B148A9999C34 validpgpkeys = 13975A70E63C361C73AE69EF6EEB81F8981C74C7 validpgpkeys = D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62 - sha256sums = 4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf sha256sums = SKIP - sha256sums = 043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad sha256sums = de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931 sha256sums = 2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a - sha256sums = c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308 - sha256sums = 1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee - sha256sums = fcb11c9bcea320afd202b031b48f8750aeaedaa4b0c5dddcd2c0a16381e927e4 - sha256sums = 42865f2af3f48140580c4ae70b6ea03b5bdca0f29654773ef0d42ce00d60ea16 sha256sums = 1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f - sha256sums = 504e4b5a08eb25b6c35f19fdbe0c743ae4e9015d0af4759e74150006c283585e - sha256sums = a321eb17edd27c18229cbe7d757ad48751c02eee676e3ded65f99fdef5d67779 - sha256sums = 6a2dc45dd3d0b6c0ab07d222c3a4223afe09cc24ee67a77a470a9194b4cd237e + sha256sums = 495acb21d908e96f72368d328354c9d0c6d1076ea8bf7320badf481b950e65e6 + sha256sums = d4a42c994e6234b4bdbdea402c141776f6808e8befe3bfb40abd3920f5f85d8a pkgname = gcc-ada-debug - depends = gcc=11.1.0-1 + depends = gcc + depends = libisl.so options = !emptydirs options = staticlibs + options = debug options = !strip @@ -1,34 +1,47 @@ # Maintainer: Rod Kay -# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc # NOTE: libtool requires rebuilt with each new gcc version pkgname=gcc-ada-debug -pkgver=11.1.0 +pkgver=12.1.1 +_commit=681c73db9bd156f9b65a73ccc6c4a0a697fe70d6 _majorver=${pkgver%%.*} -_islver=0.24 pkgrel=1 provides=(gcc-ada) conflicts=(gcc-ada) pkgdesc='Ada front-end for GCC (GNAT) with an unstripped runtime for effective debugging with gdb' arch=(x86_64) -license=(GPL LGPL FDL custom) +license=(GPL3 LGPL FDL custom) url='https://gcc.gnu.org' -makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python git libxcrypt) -checkdepends=(dejagnu inetutils) -options=(!emptydirs) +makedepends=( + binutils + doxygen + gcc-ada +#RAK gcc-d + git + lib32-glibc + lib32-gcc-libs + libisl + libmpc + libxcrypt + python + zstd +) +checkdepends=( + dejagnu + expect + inetutils + python-pytest + tcl +) +options=(!emptydirs !lto debug) _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} -# _commit=6beb39ee6c465c21d0cc547fd66b445100cdcc35 +# _commit=_commit=681c73db9bd156f9b65a73ccc6c4a0a697fe70d6 # source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit -source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} - http://isl.gforge.inria.fr/isl-${_islver}.tar.xz +source=(git+https://sourceware.org/git/gcc.git#commit=${_commit} c89 c99 - gdc_phobos_path.patch - fs64270.patch - ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch - ipa-fix-ICE-in-get_default_value.patch gcc-ada-repro.patch - gcc11-Wno-format-security.patch ada-strippers-binaries ada-strippers-libraries ) @@ -36,95 +49,123 @@ validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux. 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek <jakub@redhat.com> -sha256sums=('4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf' - 'SKIP' - '043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad' +sha256sums=('SKIP' 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' - 'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308' - '1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee' - 'fcb11c9bcea320afd202b031b48f8750aeaedaa4b0c5dddcd2c0a16381e927e4' - '42865f2af3f48140580c4ae70b6ea03b5bdca0f29654773ef0d42ce00d60ea16' '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f' - '504e4b5a08eb25b6c35f19fdbe0c743ae4e9015d0af4759e74150006c283585e' - 'a321eb17edd27c18229cbe7d757ad48751c02eee676e3ded65f99fdef5d67779' - '6a2dc45dd3d0b6c0ab07d222c3a4223afe09cc24ee67a77a470a9194b4cd237e') + '495acb21d908e96f72368d328354c9d0c6d1076ea8bf7320badf481b950e65e6' + 'd4a42c994e6234b4bdbdea402c141776f6808e8befe3bfb40abd3920f5f85d8a') prepare() { [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc cd gcc - # link isl for in-tree build - ln -s ../isl-${_islver} isl - # Do not run fixincludes sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in # Arch Linux installs x86_64 libraries /lib sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 - # hack! - some configure tests for header files using "$CPP $CPPFLAGS" - sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure - - # D hacks - patch -p1 -i "$srcdir/gdc_phobos_path.patch" - # Reproducible gcc-ada patch -Np0 < "$srcdir/gcc-ada-repro.patch" - # configure.ac: When adding -Wno-format, also add -Wno-format-security - patch -Np0 < "$srcdir/gcc11-Wno-format-security.patch" - mkdir -p "$srcdir/gcc-build" + mkdir -p "$srcdir/libgccjit-build" } build() { + local _confflags=( + --prefix=/usr + --libdir=/usr/lib + --libexecdir=/usr/lib + --mandir=/usr/share/man + --infodir=/usr/share/info + --with-bugurl=https://bugs.archlinux.org/ + --with-build-config=bootstrap-lto + --with-linker-hash-style=gnu + --with-system-zlib + --enable-__cxa_atexit + --enable-cet=auto + --enable-checking=release + --enable-clocale=gnu + --enable-default-pie + --enable-default-ssp + --enable-gnu-indirect-function + --enable-gnu-unique-object + --enable-libstdcxx-backtrace + --enable-link-serialization=1 + --enable-linker-build-id + --enable-lto + --enable-multilib + --enable-plugin + --enable-shared + --enable-threads=posix + --disable-libssp + --disable-libstdcxx-pch + --disable-werror + ) + cd gcc-build - # using -pipe causes spurious test-suite failures - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565 - CFLAGS=${CFLAGS/-pipe/} - CXXFLAGS=${CXXFLAGS/-pipe/} - - "$srcdir/gcc/configure" --prefix=/usr \ - --libdir=/usr/lib \ - --libexecdir=/usr/lib \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --with-bugurl=https://bugs.archlinux.org/ \ - --enable-languages=ada \ - --with-isl \ - --with-linker-hash-style=gnu \ - --with-system-zlib \ - --enable-__cxa_atexit \ - --enable-cet=auto \ - --enable-checking=release \ - --enable-clocale=gnu \ - --enable-default-pie \ - --enable-default-ssp \ - --enable-gnu-indirect-function \ - --enable-gnu-unique-object \ - --enable-install-libiberty \ - --enable-linker-build-id \ - --enable-lto \ - --enable-multilib \ - --enable-plugin \ - --enable-shared \ - --enable-threads=posix \ - --disable-libssp \ - --disable-libstdcxx-pch \ - --disable-libunwind-exceptions \ - --disable-werror \ - gdc_include_dir=/usr/include/dlang/gdc - - make + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD + # TODO: properly deal with the build issues resulting from this + CFLAGS=${CFLAGS/-Werror=format-security/} + CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + + "$srcdir/gcc/configure" \ + --enable-languages=ada \ + --enable-bootstrap \ + "${_confflags[@]:?_confflags unset}" + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + bootstrap + + # make documentation +#RAK make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen + + # Build libgccjit separately, to avoid building all compilers with --enable-host-shared + # which brings a performance penalty +#RAK cd "${srcdir}"/libgccjit-build + +#RAK "$srcdir/gcc/configure" \ +#RAK --enable-languages=jit \ +#RAK --disable-bootstrap \ +#RAK --enable-host-shared \ +#RAK "${_confflags[@]:?_confflags unset}" + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling +#RAK make -O STAGE1_CFLAGS="-O2" \ +#RAK BOOT_CFLAGS="$CFLAGS" \ +#RAK BOOT_LDFLAGS="$LDFLAGS" \ +#RAK LDFLAGS_FOR_TARGET="$LDFLAGS" \ +#RAK all-gcc + +#RAK cp -a gcc/libgccjit.so* ../gcc-build/gcc/ } +#RAK check() { +#RAK cd gcc-build + + # disable libphobos test to avoid segfaults +#RAK sed -i '/maybe-check-target-libphobos \\/d' Makefile + + # do not abort on error as some are "expected" +#RAK make -O -k check || true +#RAK "$srcdir/gcc/contrib/test_summary" +#RAK } + package() { - depends=("gcc=$pkgver-$pkgrel") -# provides=($pkgname-multilib) -# replaces=($pkgname-multilib) - options+=(staticlibs !strip) +#RAK pkgdesc='Ada front-end for GCC (GNAT)' + depends=(gcc libisl.so) +#RAK depends=("gcc=$pkgver-$pkgrel" libisl.so) +#RAK provides=($pkgname-multilib) +#RAK replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug !strip) cd gcc-build/gcc make DESTDIR="$pkgdir" ada.install-{common,info} diff --git a/ada-strippers-binaries b/ada-strippers-binaries index 9434b3fba3f0..f24e594f9e5b 100644 --- a/ada-strippers-binaries +++ b/ada-strippers-binaries @@ -2,13 +2,11 @@ usr/bin/gnat usr/bin/gnatbind usr/bin/gnatchop usr/bin/gnatclean -usr/bin/gnatfind usr/bin/gnatkr usr/bin/gnatlink usr/bin/gnatls usr/bin/gnatmake usr/bin/gnatname usr/bin/gnatprep -usr/bin/gnatxref -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/gnat1 +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/gnat1
\ No newline at end of file diff --git a/ada-strippers-libraries b/ada-strippers-libraries index e4f9bd94033d..a2a38a3c9bff 100644 --- a/ada-strippers-libraries +++ b/ada-strippers-libraries @@ -1,11 +1,11 @@ usr/lib/libgnarl.so -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/32/adalib/libgmem.a -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/32/adalib/libgnarl.a -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/32/adalib/libgnarl_pic.a +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/32/adalib/libgmem.a +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/32/adalib/libgnarl.a +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/32/adalib/libgnarl_pic.a -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/adalib/libgmem.a -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/adalib/libgnarl.a -usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/adalib/libgnarl_pic.a +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/adalib/libgmem.a +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/adalib/libgnarl.a +usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/adalib/libgnarl_pic.a usr/lib32/libgnarl.so diff --git a/fs64270.patch b/fs64270.patch deleted file mode 100644 index 7b9e142c6be8..000000000000 --- a/fs64270.patch +++ /dev/null @@ -1,26 +0,0 @@ -Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding - ---- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200 -+++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100 -@@ -857,6 +857,12 @@ proper position among the other output f - #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" - #endif - -+#ifdef ENABLE_DEFAULT_SSP -+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} " -+#else -+#define NO_SSP_SPEC "" -+#endif -+ - #ifndef LINK_SSP_SPEC - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -@@ -1131,7 +1148,7 @@ static const char *cc1_options = - %{-version:--version}\ - %{-help=*:--help=%*}\ - %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ -- %{fsyntax-only:-o %j} %{-param*}\ -+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ - %{coverage:-fprofile-arcs -ftest-coverage}\ - %{fprofile-arcs|fprofile-generate*|coverage:\ - %{!fprofile-update=singel:\ diff --git a/gcc11-Wno-format-security.patch b/gcc11-Wno-format-security.patch deleted file mode 100644 index 974ea44d0f85..000000000000 --- a/gcc11-Wno-format-security.patch +++ /dev/null @@ -1,27 +0,0 @@ -2017-02-25 Jakub Jelinek <jakub@redhat.com> - - * configure.ac: When adding -Wno-format, also add -Wno-format-security. - * configure: Regenerated. - ---- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100 -+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100 -@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings, - AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]), - [],[enable_build_format_warnings=yes]) - AS_IF([test $enable_build_format_warnings = no], -- [wf_opt=-Wno-format],[wf_opt=]) -+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=]) - ACX_PROG_CXX_WARNING_OPTS( - m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ], - [-Wcast-qual -Wno-error=format-diag $wf_opt])), ---- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100 -+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100 -@@ -6647,7 +6647,7 @@ else - fi - - if test $enable_build_format_warnings = no; then : -- wf_opt=-Wno-format -+ wf_opt="-Wno-format -Wno-format-security" - else - wf_opt= - fi diff --git a/gdc_phobos_path.patch b/gdc_phobos_path.patch deleted file mode 100644 index 6f43b6ee7a96..000000000000 --- a/gdc_phobos_path.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc ---- a/gcc/d/d-incpath.cc 2019-01-01 13:31:55.000000000 +0100 -+++ b/gcc/d/d-incpath.cc 2019-06-28 08:32:00.326241502 +0200 -@@ -140,7 +140,7 @@ - path = xstrdup (p->fname); - - /* Add D-specific suffix. */ -- path = concat (path, "/d", NULL); -+ path = concat (path, "/dlang/gdc", NULL); - - /* Ignore duplicate entries. */ - bool found = false; - - diff --git a/ipa-fix-ICE-in-get_default_value.patch b/ipa-fix-ICE-in-get_default_value.patch deleted file mode 100644 index 572299462ff4..000000000000 --- a/ipa-fix-ICE-in-get_default_value.patch +++ /dev/null @@ -1,80 +0,0 @@ -From f91770216eade83f068528c1e4f00e2ac3b23044 Mon Sep 17 00:00:00 2001 -From: Martin Liska <mliska@suse.cz> -Date: Thu, 13 Aug 2020 09:38:41 +0200 -Subject: [PATCH] ipa: fix ICE in get_default_value - -The patch aligns code with ipcp_bits_lattice::set_to_constant -where we properly mask m_value with m_mask. The same should -be done here. - -gcc/ChangeLog: - - PR ipa/96482 - * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value - with m_mask. - -gcc/testsuite/ChangeLog: - - PR ipa/96482 - * gcc.dg/ipa/pr96482-2.c: New test. ---- - gcc/ipa-cp.c | 2 +- - gcc/testsuite/gcc.dg/ipa/pr96482-2.c | 33 ++++++++++++++++++++++++++++ - 2 files changed, 34 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/gcc.dg/ipa/pr96482-2.c - -diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c -index 2b21280d919..e4910a04ffa 100644 ---- a/gcc/ipa-cp.c -+++ b/gcc/ipa-cp.c -@@ -1048,7 +1048,7 @@ ipcp_bits_lattice::meet_with_1 (widest_int value, widest_int mask, - - widest_int old_mask = m_mask; - m_mask = (m_mask | mask) | (m_value ^ value); -- m_value &= value; -+ m_value &= ~m_mask; - - if (wi::sext (m_mask, precision) == -1) - return set_to_bottom (); -diff --git a/gcc/testsuite/gcc.dg/ipa/pr96482-2.c b/gcc/testsuite/gcc.dg/ipa/pr96482-2.c -new file mode 100644 -index 00000000000..54b71ac4fc0 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/ipa/pr96482-2.c -@@ -0,0 +1,33 @@ -+/* PR ipa/96482 */ -+/* { dg-do compile } */ -+/* { dg-options "-O2" } */ -+ -+int i2c_transfer(); -+void _dev_err(); -+ -+struct i2c_msg { -+ char bufaddr; -+ int adapterdev; -+} wdt87xx_i2c_xfer_client; -+ -+int wdt87xx_i2c_xfer_client_0, wdt87xx_i2c_xfer_rxdata, wdt87xx_get_string_str_idx; -+ -+void -+static wdt87xx_i2c_xfer(void *txdata, unsigned rxlen) { -+ struct i2c_msg msgs[] = {wdt87xx_i2c_xfer_client_0, rxlen, -+ wdt87xx_i2c_xfer_rxdata}; -+ int error = i2c_transfer(wdt87xx_i2c_xfer_client, msgs); -+ _dev_err("", __func__, error); -+} -+static void wdt87xx_get_string(unsigned len) { -+ char tx_buf[] = {wdt87xx_get_string_str_idx, 3}; -+ int rx_len = len + 2; -+ wdt87xx_i2c_xfer(tx_buf, rx_len); -+} -+ -+void -+wdt87xx_ts_probe_tx_buf() { -+ wdt87xx_get_string(34); -+ wdt87xx_get_string(8); -+ wdt87xx_i2c_xfer(wdt87xx_ts_probe_tx_buf, 2); -+} --- -2.28.0 - diff --git a/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch b/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch deleted file mode 100644 index cd812623cec3..000000000000 --- a/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch +++ /dev/null @@ -1,147 +0,0 @@ -From d58f078ce2d53e5dab6b3d0d5f960504268e1894 Mon Sep 17 00:00:00 2001 -From: Martin Liska <mliska@suse.cz> -Date: Wed, 12 Aug 2020 09:21:51 +0200 -Subject: [PATCH] ipa: fix bit CPP when combined with IPA bit CP - -As mentioned in the PR, let's consider the following example: - -int -__attribute__((noinline)) -foo(int arg) -{ - if (arg == 3) - return 1; - if (arg == 4) - return 123; - - __builtin_unreachable (); -} - -during WPA we find all calls of the function -(yes the call with value 5 is UBSAN): - - Node: foo/0: - param [0]: 5 [loc_time: 4, loc_size: 2, prop_time: 0, prop_size: 0] - 3 [loc_time: 3, loc_size: 3, prop_time: 0, prop_size: 0] - ctxs: VARIABLE - Bits: value = 0x5, mask = 0x6 - -in LTRANS we have the following VRP info: - - # RANGE [3, 3] NONZERO 3 - -when we AND masks in get_default_value we end up with 6 & 3 = 2 (0x010). -That means the only second (least significant bit) is unknown and -value (5 = 0x101) & ~mask gives us either 7 (0x111) or 5 (0x101). - -That's why if (arg_2(D) == 3) gets optimized to false. - -gcc/ChangeLog: - - PR ipa/96482 - * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits - for bits that are unknown. - (ipcp_bits_lattice::set_to_constant): Likewise. - * tree-ssa-ccp.c (get_default_value): Add sanity check that - IPA CP bit info has all bits set to zero in bits that - are unknown. - -gcc/testsuite/ChangeLog: - - PR ipa/96482 - * gcc.dg/ipa/pr96482.c: New test. ---- - gcc/ipa-cp.c | 3 +- - gcc/testsuite/gcc.dg/ipa/pr96482.c | 44 ++++++++++++++++++++++++++++++ - gcc/tree-ssa-ccp.c | 3 ++ - 3 files changed, 49 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/gcc.dg/ipa/pr96482.c - -diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c -index 945a69977f3..2b21280d919 100644 ---- a/gcc/ipa-cp.c -+++ b/gcc/ipa-cp.c -@@ -1011,7 +1011,7 @@ ipcp_bits_lattice::set_to_constant (widest_int value, widest_int mask) - { - gcc_assert (top_p ()); - m_lattice_val = IPA_BITS_CONSTANT; -- m_value = value; -+ m_value = wi::bit_and (wi::bit_not (mask), value); - m_mask = mask; - return true; - } -@@ -1048,6 +1048,7 @@ ipcp_bits_lattice::meet_with_1 (widest_int value, widest_int mask, - - widest_int old_mask = m_mask; - m_mask = (m_mask | mask) | (m_value ^ value); -+ m_value &= value; - - if (wi::sext (m_mask, precision) == -1) - return set_to_bottom (); -diff --git a/gcc/testsuite/gcc.dg/ipa/pr96482.c b/gcc/testsuite/gcc.dg/ipa/pr96482.c -new file mode 100644 -index 00000000000..68ead798d28 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/ipa/pr96482.c -@@ -0,0 +1,44 @@ -+/* PR ipa/96482 */ -+/* { dg-do run } */ -+/* { dg-options "-O2 -flto" } */ -+/* { dg-require-effective-target lto } */ -+ -+int -+__attribute__((noinline)) -+foo(int arg) -+{ -+ if (arg == 3) -+ return 1; -+ if (arg == 4) -+ return 123; -+ -+ __builtin_unreachable (); -+} -+ -+int -+__attribute__((noinline)) -+baz(int x) -+{ -+ if (x != 0) -+ return foo(3); /* called */ -+ -+ return 1; -+} -+ -+int -+__attribute__((noinline)) -+bar(int x) -+{ -+ if (x == 0) -+ return foo(5); /* not executed */ -+ -+ return 1; -+} -+ -+int main(int argc, char **argv) -+{ -+ if (bar(argc) != baz(argc)) -+ __builtin_abort (); -+ -+ return 0; -+} -diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c -index 7e3921869b8..65dffe06530 100644 ---- a/gcc/tree-ssa-ccp.c -+++ b/gcc/tree-ssa-ccp.c -@@ -306,6 +306,9 @@ get_default_value (tree var) - { - val.lattice_val = CONSTANT; - val.value = value; -+ widest_int ipa_value = wi::to_widest (value); -+ /* Unknown bits from IPA CP must be equal to zero. */ -+ gcc_assert (wi::bit_and (ipa_value, mask) == 0); - val.mask = mask; - if (nonzero_bits != -1) - val.mask &= extend_mask (nonzero_bits, --- -2.28.0 - |