mbox series

[pushed,00/21] Various backports to gcc 13 (analyzer, jit, diagnostics)

Message ID 20240509174236.2278921-1-dmalcolm@redhat.com
Headers show
Series Various backports to gcc 13 (analyzer, jit, diagnostics) | expand

Message

David Malcolm May 9, 2024, 5:42 p.m. UTC
I've pushed the following changes to releases/gcc-13
as r13-8741-g89feb3557a0188 through r13-8761-gb7a2697733d19a.

Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Successful run of analyzer integration tests on x86_64-pc-linux-gnu.
Lightly manually tested for patches that didn't have automated test
coverage, and where the patches needing non-trivial changes.

* [pushed] analyzer: add caching to globals with initializers [PR110112]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-June/621205.html
    Trunk: r14-1664-gfe9771b59f576f.
    gcc 13: r13-8741-g89feb3557a0188

* analyzer: Fix allocation size false positive on conjured svalue [PR109577]
  Trunk: r14-1684-g1d57a2232575913ad1085bac0ba5e22b58185179
  gcc 13: r13-8742-gccf8d3e3d26c6b

* testsuite: Add more allocation size tests for conjured svalues [PR110014]
  Trunk: r14-1685-g39adc5eebd61fd276f3f1ef9d7228756a35bd0cb
  gcc 13: r13-8743-ge0c52905f666e3

* [pushed 1/2] jit: avoid using __vector in testcase [PR110466]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623343.html
  Trunk: r14-2222-g6735d660839533
  gcc 13: r13-8744-gb38472ffc1e631
* [pushed 2/2] jit.exp: handle dwarf version mismatch in jit-check-debug-info [PR110466]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623344.html
  Trunk: r14-2223-gc3c0ba5436170e.
  gcc 13: r13-8745-g60dcb710b6b4aa

* [pushed] analyzer: fix ICE on division of tainted floating-point values [PR110700]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-July/624972.html
  Trunk: r14-2658-gb86c0fe327a519.
  gcc 13: r13-8746-g0df1ee083434ac

* [committed] analyzer: fix ICE on zero-sized arrays [PR110882]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626226.html
  Trunk: r14-2955-gc62f93d1e0383d.
  gcc 13: r13-8747-ga0b13d0860848d

* [committed] testsuite, analyzer: add test case [PR108171]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626247.html
  Trunk: r14-2957-gf80efa49b7a163.
  gcc 13: r13-8748-g44968a0e00f656

* [PATCH] gcc/jit/jit-recording.cc: recording::global::write_to_dump: Avoid crashes when writing psuedo-C for globals with string initializers.
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634269.html
    * Trunk: r14-4923-gac66744d94226a
  gcc 13: r13-8749-gb8c772cae97b54

* [pushed] analyzer: fix ICE for 2 bits before the start of base region [PR112889]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639853.html
    * (cherry picked from commit r14-6297-g775aeabcb870b7)
  gcc 13: r13-8750-ga1cb188cb2ca2a (test moved to gcc.dg)

* [pushed] analyzer: fix deref-before-check false positives due to inlining [PR112790]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641817.html
    * (cherry picked from commit r14-6918-g5743e1899d5964)
  gcc 13: r13-8751-g994477c41049d4 (test moved to gcc.dg)

* [pushed] analyzer: casting all zeroes should give all zeroes [PR113333]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643059.html
    * (backported from commit r14-7265-gd235bf2e807c5f)
  gcc 13: r13-8752-g132eb1a210bc78

* [pushed] analyzer: fix defaults in compound assignments from non-zero offsets [PR112969]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643951.html
    * (backported from commit r14-8428-g6426d466779fa8)
  gcc 13: r13-8753-g0593151221ad21

* [pushed] analyzer: fix skipping of debug stmts [PR113253]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-January/644615.html
    * (cherry picked from commit r14-8670-gcc7aebff74d896)
  gcc 13: r13-8754-g2c688f6afce4cb

* [pushed] analyzer: fix -Wanalyzer-va-arg-type-mismatch false +ve on int types [PR111289]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-February/646010.html
    * (cherry picked from commit r14-9076-g5651ad62b08096)
  gcc 13: r13-8755-g67d104f3a032ee (tests moved to gcc.dg)

* [pushed] analyzer: fix -Wanalyzer-deref-before-check false positive seen in loop header macro [PR109251]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-March/648126.html
    * Backported from commit r14-9586-g9093f275e0a343 (moving tests from c-c++-common to gcc.dg)
  gcc 13: 13-8756-ged026106ce420c

* [pushed] analyzer: fix ICE due to type mismatch when replaying call summary [PR114473]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-March/648500.html
    * (cherry picked from commit r14-9697-gfdd59818e2abf6)
  gcc 13: r13-8757-g810d35a7e054bc

* [pushed] analyzer: fix ICE and false positive with -Wanalyzer-deref-before-check [PR114408]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-March/648285.html
    * (cherry picked from commit r14-9646-g80a0cb37456c49)
  gcc 13: r13-8758-g96f7a3694c3e4c

* [pushed] diagnostics: fix ICE on sarif output when source file is unreadable [PR111700]
  * https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632266.html
  Trunk: r14-4474-g94caa6a6b4bd73.
  gcc 13: r13-8759-g230f672b3ed0f6

* [pushed] Fix ICE in -fdiagnostics-generate-patch [PR112684]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643386.html
    * (cherry picked from commit r14-8255-ge254d1224df306)
  gcc 13: r13-8760-g2a6f99aef7c852

* [pushed] diagnostics: fix corrupt json/SARIF on stderr [PR114348]
  * https://gcc.gnu.org/pipermail/gcc-patches/2024-March/648048.html
    * (backported from commit r14-9554-g0bf99b1b7eda2f)
  gcc 13: r13-8761-gb7a2697733d19a


David Malcolm (18):
  analyzer: add caching to globals with initializers [PR110112]
  jit: avoid using __vector in testcase [PR110466]
  jit.exp: handle dwarf version mismatch in jit-check-debug-info
    [PR110466]
  analyzer: fix ICE on division of tainted floating-point values
    [PR110700]
  analyzer: fix ICE on zero-sized arrays [PR110882]
  testsuite, analyzer: add test case [PR108171]
  analyzer: fix ICE for 2 bits before the start of base region
    [PR112889]
  analyzer: fix deref-before-check false positives due to inlining
    [PR112790]
  analyzer: casting all zeroes should give all zeroes [PR113333]
  analyzer: fix defaults in compound assignments from non-zero offsets
    [PR112969]
  analyzer: fix skipping of debug stmts [PR113253]
  analyzer: fix -Wanalyzer-va-arg-type-mismatch false +ve on int types
    [PR111289]
  analyzer: fix -Wanalyzer-deref-before-check false positive seen in
    loop header macro [PR109251]
  analyzer: fix ICE due to type mismatch when replaying call summary
    [PR114473]
  analyzer: fix ICE and false positive with
    -Wanalyzer-deref-before-check [PR114408]
  diagnostics: fix ICE on sarif output when source file is unreadable
    [PR111700]
  Fix ICE in -fdiagnostics-generate-patch [PR112684]
  diagnostics: fix corrupt json/SARIF on stderr [PR114348]

Tim Lange (2):
  analyzer: Fix allocation size false positive on conjured svalue
    [PR109577]
  testsuite: Add more allocation size tests for conjured svalues
    [PR110014]

Vibhav Pant (1):
  jit: dump string literal initializers correctly

 gcc/analyzer/call-summary.cc                  |  12 ++
 gcc/analyzer/checker-event.cc                 |  40 -----
 gcc/analyzer/constraint-manager.cc            | 131 +++++++++++++++
 gcc/analyzer/constraint-manager.h             |   1 +
 gcc/analyzer/engine.cc                        |   7 +
 gcc/analyzer/inlining-iterator.h              |  40 +++++
 gcc/analyzer/kf.cc                            |  22 +++
 gcc/analyzer/region-model-manager.cc          |   9 +-
 gcc/analyzer/region-model.cc                  | 110 ++++---------
 gcc/analyzer/region.cc                        |  77 ++++++++-
 gcc/analyzer/region.h                         |  14 +-
 gcc/analyzer/sm-malloc.cc                     |  40 +++++
 gcc/analyzer/sm-taint.cc                      |   6 +
 gcc/analyzer/state-purge.cc                   |   9 +
 gcc/analyzer/store.cc                         |  11 +-
 gcc/analyzer/store.h                          |  10 +-
 gcc/analyzer/supergraph.cc                    |   4 +
 gcc/analyzer/varargs.cc                       |  38 ++++-
 gcc/diagnostic.cc                             |  24 +++
 gcc/input.cc                                  |  12 +-
 gcc/jit/jit-recording.cc                      |   2 +-
 .../diagnostic-format-sarif-file-pr111700.c   |  12 ++
 .../ubsan/analyzer-ice-pr114408.c             |   9 +
 .../gcc.dg/analyzer/allocation-size-2.c       |  24 ++-
 .../gcc.dg/analyzer/call-summaries-pr114473.c |  31 ++++
 gcc/testsuite/gcc.dg/analyzer/calloc-1.c      |  34 ++++
 .../gcc.dg/analyzer/compound-assignment-5.c   |  29 ++--
 .../analyzer/compound-assignment-pr112969.c   |  35 ++++
 gcc/testsuite/gcc.dg/analyzer/data-model-9.c  |   6 +-
 .../analyzer/deref-before-check-pr109251-1.c  |  60 +++++++
 .../analyzer/deref-before-check-pr109251-2.c  |  37 +++++
 .../analyzer/deref-before-check-pr112790.c    |  27 +++
 .../analyzer/deref-before-check-pr113253.c    | 154 ++++++++++++++++++
 .../analyzer/deref-before-check-pr114408.c    |  22 +++
 gcc/testsuite/gcc.dg/analyzer/ice-pr112889.c  |  17 ++
 gcc/testsuite/gcc.dg/analyzer/pr108171.c      |  31 ++++
 gcc/testsuite/gcc.dg/analyzer/pr109577.c      |  16 ++
 gcc/testsuite/gcc.dg/analyzer/pr110882.c      |  18 ++
 gcc/testsuite/gcc.dg/analyzer/pr96639.c       |   2 +-
 .../gcc.dg/analyzer/realloc-pr110014.c        |  25 +++
 .../gcc.dg/analyzer/stdarg-pr111289-int.c     |  69 ++++++++
 .../gcc.dg/analyzer/stdarg-pr111289-ptr.c     |  39 +++++
 .../gcc.dg/analyzer/taint-divisor-2.c         |  13 ++
 .../gcc.dg/plugin/infoleak-pr112969.c         |  52 ++++++
 gcc/testsuite/gcc.dg/plugin/plugin.exp        |   1 +
 gcc/testsuite/jit.dg/jit.exp                  |   4 +
 gcc/testsuite/jit.dg/test-expressions.c       |  22 +--
 gcc/toplev.cc                                 |   4 +-
 48 files changed, 1231 insertions(+), 181 deletions(-)
 create mode 100644 gcc/testsuite/c-c++-common/diagnostic-format-sarif-file-pr111700.c
 create mode 100644 gcc/testsuite/c-c++-common/ubsan/analyzer-ice-pr114408.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr114473.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/compound-assignment-pr112969.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109251-1.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109251-2.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr112790.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr114408.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/ice-pr112889.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/pr108171.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/pr109577.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/pr110882.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/realloc-pr110014.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/stdarg-pr111289-int.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/stdarg-pr111289-ptr.c
 create mode 100644 gcc/testsuite/gcc.dg/analyzer/taint-divisor-2.c
 create mode 100644 gcc/testsuite/gcc.dg/plugin/infoleak-pr112969.c

Comments

Jakub Jelinek May 13, 2024, 9:03 a.m. UTC | #1
On Thu, May 09, 2024 at 01:42:15PM -0400, David Malcolm wrote:
> I've pushed the following changes to releases/gcc-13
> as r13-8741-g89feb3557a0188 through r13-8761-gb7a2697733d19a.

Unfortunately many of the commits contained git commit message wording
that update_git_version can't cope with.
Wording like
(cherry picked from commit r14-1664-gfe9771b59f576f)
is wrong,
(cherry picked from commit .....)
is reserved solely for what one gets from git cherry-pick -x
(i.e. the full commit hash without anything extra).

I had to ignore the following commits in the ChangeLog generation
because of this:

89feb3557a018893cfe50c2e07f91559bd3cde2b
ccf8d3e3d26c6ba3d5e11fffeed8d64018e9c060
e0c52905f666e3d23881f82dbf39466a24f009f4
b38472ffc1e631bd357573b44d956ce16d94e666
a0b13d0860848dd5f2876897ada1e22e4e681e91
b8c772cae97b54386f7853edf0f9897012bfa90b
810d35a7e054bcbb5b66d2e5924428e445f5fba9
0df1ee083434ac00ecb19582b1e5b25e105981b2
2c688f6afce4cbb414f5baab1199cd525f309fca
60dcb710b6b4aa22ea96abc8df6dfe9067f3d7fe
44968a0e00f656e9bb3e504bb2fa1a8282002015

Can you please add the ChangeLog entries for these by hand
(commits which only touch ChangeLog files are allowed and shouldn't
contain ChangeLog style entry in the commit message)?

Thanks.

	Jakub