Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 870412 (clang-16-porting) - [Tracker] Upcoming breakage with Clang 16 (default -Werror=implicit-function-declaration,implicit-int, affecting e.g. configure scripts)
Summary: [Tracker] Upcoming breakage with Clang 16 (default -Werror=implicit-function-...
Status: CONFIRMED
Alias: clang-16-porting
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: LLVM support project
URL: https://wiki.gentoo.org/wiki/Modern_C...
Whiteboard: Packages failing with Clang 16 (or sy...
Keywords: PullRequest, Tracker
Depends on: 602656 647358 661334 712534 713662 714652 716192 729526 734088 739154 740224 744328 748522 769557 784092 813870 815109 830497 832016 832666 834369 836784 839648 853721 855554 860441 869299 869884 869998 870007 870418 870424 870427 870430 870472 870475 870481 870490 870502 870535 870541 870544 870547 870550 870553 870556 870565 870568 870574 870640 870643 870649 870664 870709 870712 870718 870724 870736 870745 870748 870772 870778 870787 870793 870802 870808 870820 870835 870844 870847 870850 870859 870865 870868 870883 870892 870895 870901 870910 870940 870943 870949 870952 870955 870961 870970 870979 870982 870991 871006 871009 871012 871024 871033 871039 871042 871075 871078 871087 871093 871096 871102 871108 871114 871120 871123 871177 871186 871189 871207 871213 871228 871234 871240 871243 871252 871261 871267 871294 871303 871354 871360 871363 871378 871387 871390 871405 871411 871420 871429 871435 871441 871444 871447 871450 871453 871456 871459 871468 871477 871480 871504 871507 871516 871519 871531 871537 871543 871558 871567 871588 871594 871597 871603 871606 871699 871702 871711 871933 873619 873631 873997 874003 874006 874015 874018 874054 874081 874084 874087 874090 874096 874114 874117 874291 874294 874309 874315 874366 874369 874378 874381 874384 874387 874390 874402 874414 874423 874429 874432 874438 874441 874444 874456 874483 874495 874507 874513 874525 874549 874552 874561 874564 874579 874582 874585 874621 874648 874660 874675 874684 874687 874699 874702 874708 874720 874732 874753 874867 874894 874921 874933 874936 874963 874966 874969 874972 874975 874978 874981 875002 875005 875011 875020 875023 875032 875035 875044 875047 875053 875056 875062 875086 875095 875098 875101 875107 875128 875131 875143 875146 875149 875152 875233 875236 875239 875245 875251 875266 875272 875275 875281 875401 875404 875410 875413 875419 875422 875425 875428 875431 875434 875437 875443 875452 875464 875467 875470 875479 875482 875491 875497 875503 875506 875509 875512 875530 875533 875656 875659 875662 875668 875671 875683 875689 875710 875713 875719 875725 875731 875737 875746 875767 875770 876337 876346 876355 876358 876376 876379 876945 876947 876955 876999 877099 877101 877103 877105 877109 877115 877121 877125 877287 877295 877335 878609 878611 878613 878615 878617 878619 878623 878627 878629 878633 878635 878639 878641 879033 879525 879625 879627 879629 879631 879633 879637 879643 879645 879647 879651 879655 879657 879659 879661 879665 879667 879671 879675 879677 879679 879681 879685 879687 879689 879691 879693 879695 879697 879699 879703 879711 879713 879721 879723 879725 879727 879729 879731 879735 879739 879741 879743 879745 879749 879753 879755 879759 879761 879763 879765 879769 879771 879773 879775 879777 879779 879781 879783 879785 879789 879857 879873 880221 880341 880343 880345 880349 880351 880353 880357 880361 880373 880375 880401 880413 880419 880429 880451 880455 880491 880513 880523 880577 880603 880617 880655 880657 880797 880799 880807 880809 880811 880819 880821 880827 880833 880835 880839 880843 880845 880901 880905 880907 880911 880913 880917 880925 880927 880931 880935 880937 880943 880949 880953 880955 880959 880963 880965 880969 880971 880983 880987 880997 881007 881011 881015 881017 881069 881071 881077 881079 881087 881121 881131 881139 881143 881203 881205 881207 881209 881213 881215 881243 881245 881307 881311 881315 881319 881321 881323 881335 881345 881419 881421 881423 881585 881709 882029 882087 882089 882099 882113 882121 882131 882155 882157 882175 882183 882197 882201 882221 882223 882225 882229 882231 882241 882263 882265 882271 882283 882303 882307 882315 882321 882345 882443 882461 882463 882543 882545 882581 882583 882585 882587 882607 882615 882657 882659 882713 882741 882885 882891 882927 883069 883085 883095 883099 883101 883107 883111 883113 883117 883121 883123 883125 883127 883131 883147 883149 883205 883207 883211 883237 883265 883267 883269 883271 883279 883281 883287 883299 883305 883345 883347 883391 883393 883395 883413 883421 883423 883463 883579 883581 883601 883603 883661 883663 883703 883705 883707 883709 883711 883747 883891 884043 884181 884283 884331 884345 884361 884663 884709 884743 884779 884823 884829 884883 884917 884923 884925 885043 885057 885059 885061 885063 618302 628744 705800 729820 822261 849515 867655 869203 869242 869254 869371 869380 869404 869539 869980 869995 870004 870043 870415 870433 870436 870445 870448 870451 870457 870460 870463 870466 870478 870484 870487 870493 870499 870514 870517 870520 870523 870526 870538 870559 870571 870625 870631 870634 870637 870646 870652 870655 870661 870667 870670 870673 870676 870679 870682 870685 870703 870706 870721 870727 870730 870733 870739 870742 870751 870763 870769 870775 870781 870784 870790 870796 870799 870805 870811 870817 870829 870832 870838 870841 870853 870856 870862 870871 870886 870889 870898 870904 870907 870916 870919 870925 870928 870946 870958 870964 870973 870988 870997 871000 871003 871015 871027 871030 871036 871045 871048 871051 871054 871057 871060 871063 871066 871069 871072 871081 871084 871129 871132 871135 871159 871162 871165 871168 871171 871180 871183 871192 871195 871198 871204 871210 871216 871222 871225 871231 871246 871249 871258 871276 871279 871282 871288 871300 871351 871357 871366 871369 871372 871375 871381 871384 871393 871396 871399 871402 871408 871414 871417 871423 871426 871438 871483 871486 871489 871492 871495 871498 871513 871534 871546 871549 871585 871600 871678 871705 872344 874012 874021 874042 874051 874057 874069 874072 874093 874102 874105 874303 874312 874318 874321 874393 874396 874417 874420 874426 874435 874447 874450 874453 874462 874468 874477 874486 874489 874498 874501 874504 874510 874516 874534 874540 874543 874546 874558 874570 874624 874639 874642 874651 874690 874693 874696 874717 874723 874729 874738 874744 874891 874900 874903 874906 874909 874918 874927 874930 874951 874954 874957 874960 874987 874990 874993 874996 874999 875008 875014 875026 875029 875038 875041 875050 875059 875122 875158 875164 875254 875269 875278 875416 875446 875458 875473 875476 875500 875527 875536 875674 875686 875692 875698 875701 875704 875707 875716 875722 875740 875764 875773 876370 876385 876951 876953 877011 878283 878585 879035 879041 879601 879639 879641 879649 879653 879663 879683 879701 879705 879707 879709 879715 879717 879719 879733 879737 879747 879751 879757 879767 879787 879797 879843 880385 880619 880651 880823 880909 880915 880941 880961 880975 880985 880999 881081 881687 881693 881695 881707 881713 881841 882143 882207 882243 882245 882279 882429 882431 882433 882641 882693 882811 882887 883075 883203 883813 884063 884597
Blocks: systemwide-clang
  Show dependency tree
 
Reported: 2022-09-16 16:21 UTC by Sam James
Modified: 2022-12-09 21:54 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/etc/portage/bashrc hook (file_870412.txt,2.01 KB, text/plain)
2022-09-16 16:21 UTC, Sam James
Details
emerge-info.txt (emerge-info.txt,17.61 KB, text/plain)
2022-09-17 17:19 UTC, Toralf Förster
Details
clang.tar.bz2 (clang.tar.bz2,2.58 KB, application/x-bzip)
2022-09-17 17:19 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,65.30 KB, text/plain)
2022-09-17 17:19 UTC, Toralf Förster
Details
environment (environment,75.74 KB, text/plain)
2022-09-17 17:19 UTC, Toralf Förster
Details
etc.portage.tar.bz2 (etc.portage.tar.bz2,10.33 KB, application/x-bzip)
2022-09-17 17:19 UTC, Toralf Förster
Details
logs.tar.bz2 (logs.tar.bz2,10.43 KB, application/x-bzip)
2022-09-17 17:19 UTC, Toralf Förster
Details
mail-filter:mapson-3.3.1:20220917-161113.log (mail-filter:mapson-3.3.1:20220917-161113.log,34.19 KB, text/plain)
2022-09-17 17:19 UTC, Toralf Förster
Details
temp.tar.bz2 (temp.tar.bz2,26.65 KB, application/x-bzip)
2022-09-17 17:19 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-09-16 16:21:13 UTC
Created attachment 805687 [details]
/etc/portage/bashrc hook

See https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 for the background.

Clang 15 (it's been reverted in 15.0.1) turns on the following as -Werror-by-default:
* -Werror=implicit-function-declaration
* -Werror=implicit-int
* -Werror=strict-prototypes

This has led to various build failures, but also build failures or runtime problems caused by configure tests giving the wrong result!

---

I've attached a cheesy /etc/portage/bashrc hook which creates /var/tmp/clang/${CATEGORY}/${PF}/clang{14,15}.log & clang.diff which allows easy checking for "error.*implicit", etc.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-09-16 17:14:49 UTC
(In reply to Sam James from comment #0)
> Created attachment 805687 [details]
> /etc/portage/bashrc hook
> 
> I've attached a cheesy /etc/portage/bashrc hook which creates
> /var/tmp/clang/${CATEGORY}/${PF}/clang{14,15}.log & clang.diff which allows
> easy checking for "error.*implicit", etc.

I'm updating this at https://gist.github.com/thesamesam/4ddaa95f3f42c2be312b676476cbf505.
Comment 2 Toralf Förster gentoo-dev 2022-09-17 17:19:20 UTC Comment hidden (obsolete)
Comment 3 Toralf Förster gentoo-dev 2022-09-17 17:19:21 UTC Comment hidden (obsolete)
Comment 4 Toralf Förster gentoo-dev 2022-09-17 17:19:22 UTC Comment hidden (obsolete)
Comment 5 Toralf Förster gentoo-dev 2022-09-17 17:19:23 UTC Comment hidden (obsolete)
Comment 6 Toralf Förster gentoo-dev 2022-09-17 17:19:25 UTC Comment hidden (obsolete)
Comment 7 Toralf Förster gentoo-dev 2022-09-17 17:19:26 UTC Comment hidden (obsolete)
Comment 8 Toralf Förster gentoo-dev 2022-09-17 17:19:27 UTC Comment hidden (obsolete)
Comment 9 Toralf Förster gentoo-dev 2022-09-17 17:19:29 UTC Comment hidden (obsolete)
Comment 10 Toralf Förster gentoo-dev 2022-09-17 17:19:30 UTC Comment hidden (obsolete)
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-09-17 17:44:34 UTC
* Finding these bugs

This is NOT a complete list. Toralf is actively filing more, but there's two class of bugs here:

1. Explicit build failures like these (things being reported here)

2. Silent wrong configure results (see linked Discourse thread above, e.g. bug 869539) where things will compile but be wrong at runtime. To look into this, we need to diff configure before/after and look for errors with -Werror that didn't appear before. No bugs are being filed for these yet as it's harder to automate.

To help with those, run the gist linked above in /etc/portage/bashrc, and grep -rsin "error.*" /var/tmp/clang or similar. Toralf is also helping to collect data for this and we may be able to automatically file bugs for it in future, but we need to avoid noise/false positives.

--

* Reproducing these issues

mgorny is working on Clang config support to make testing this easier, but to reproduce issues, just use:
```
CC=clang CXX=clang++ CFLAGS="-O2 -Werror=implicit-function-declaration -Werror=implicit-int -Werror=strict-prototypes"
```

No need for CXXFLAGS as C++ doesn't have these issues.

--

* Fixing these issues

1. Please upstream patches wherever possible! This is going to affect every distro & it's going to affect GCC in time. Reducing duplication of work is important with the scale of the task here.

2. Almost all of these fixes require revbumps as they affect code generation. The only time you don't is when you'd get certain failure immediately with say, an ancient autoconf version, like bug 870571 -- and even then, you need to be careful to catch any others in configure & during the actual building of the package.
Comment 13 Larry the Git Cow gentoo-dev 2022-09-19 16:26:49 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbcc188c5ef6bc63190cc07c93452652c682f5bb

commit dbcc188c5ef6bc63190cc07c93452652c682f5bb
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-09-19 16:10:24 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-19 16:26:41 +0000

    sys-devel/autoconf: backport K&R decls fix to 2.13
    
    Backport the K&R decls fix to 2.13 to avoid configure tests
    failing (often "silently", i.e. doesn't fail the build of
    the package overall, just leads to wrong results) with
    newer compilers like the upcoming Clang 16.
    
    A consequence of this whole fuss is that we're going to
    have to eautoreconf in a bunch of older packages, but
    as Ionen pointed out on IRC, this means we get some
    other stuff for free like Python 3.10 fixes, so it's
    not all bad.
    
    Undecided how to handle any packages with a generated
    configure from autoconfs not in tree. We may just
    patch the configure manually. Will see.
    
    See linked bug 870412 and the Discourse thread therein for
    details if unfamiliar.
    
    As I remarked on IRC, it's unfortunate to have to backport anything
    which will then infect generated configure, as it's somewhat
    a repeat of the --runstatedir situation, and it leads to confusion/hassle
    when sending patches upstream where a generated/bootstrapped configure
    is required.
    
    But this is different - it's a (serious) bug being fixed
    rather than a gratuitous (although) understandable given we weren't
    sure if we'd ever see another autoconf release backport of a new
    feature.
    
    Bug: https://bugs.gentoo.org/806376
    Bug: https://bugs.gentoo.org/870412
    Thanks-to: Arsen Arsenovic <arsen@aarsen.me>
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-devel/autoconf/autoconf-2.13-r3.ebuild         |  51 +++
 .../files/autoconf-2.13-K-R-decls-clang.patch      | 346 +++++++++++++++++++++
 2 files changed, 397 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79c0b97504177b9ee374e3d96af8b03349b86d12

commit 79c0b97504177b9ee374e3d96af8b03349b86d12
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-09-19 16:07:54 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-19 16:26:40 +0000

    sys-devel/autoconf: backport K&R decls fix to 2.69
    
    Backport the K&R decls fix to 2.69 to avoid configure tests
    failing (often "silently", i.e. doesn't fail the build of
    the package overall, just leads to wrong results) with
    newer compilers like the upcoming Clang 16.
    
    A consequence of this whole fuss is that we're going to
    have to eautoreconf in a bunch of older packages, but
    as Ionen pointed out on IRC, this means we get some
    other stuff for free like Python 3.10 fixes, so it's
    not all bad.
    
    Undecided how to handle any packages with a generated
    configure from autoconfs not in tree. We may just
    patch the configure manually. Will see.
    
    See linked bug 870412 and the Discourse thread therein for
    details if unfamiliar.
    
    As I remarked on IRC, it's unfortunate to have to backport anything
    which will then infect generated configure, as it's somewhat
    a repeat of the --runstatedir situation, and it leads to confusion/hassle
    when sending patches upstream where a generated/bootstrapped configure
    is required.
    
    But this is different - it's a (serious) bug being fixed
    rather than a gratuitous (although) understandable given we weren't
    sure if we'd ever see another autoconf release backport of a new
    feature.
    
    Bug: https://bugs.gentoo.org/806376
    Bug: https://bugs.gentoo.org/870412
    Thanks-to: Arsen Arsenovic <arsen@aarsen.me>
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-devel/autoconf/autoconf-2.69-r7.ebuild         |  63 ++++
 .../files/autoconf-2.69-K-R-decls-clang.patch      | 387 +++++++++++++++++++++
 2 files changed, 450 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0acd23de8af61e7b900c3ff2c0fcbfe0b0ddc3a3

commit 0acd23de8af61e7b900c3ff2c0fcbfe0b0ddc3a3
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-09-19 03:01:26 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-19 16:26:40 +0000

    sys-devel/autoconf: backport K&R decls fix to 2.71
    
    Backport the K&R decls fix to 2.71 to avoid configure tests
    failing (often "silently", i.e. doesn't fail the build of
    the package overall, just leads to wrong results) with
    newer compilers like the upcoming Clang 16.
    
    A consequence of this whole fuss is that we're going to
    have to eautoreconf in a bunch of older packages, but
    as Ionen pointed out on IRC, this means we get some
    other stuff for free like Python 3.10 fixes, so it's
    not all bad.
    
    Undecided how to handle any packages with a generated
    configure from autoconfs not in tree. We may just
    patch the configure manually. Will see.
    
    See linked bug 870412 and the Discourse thread therein for
    details if unfamiliar.
    
    Patches:
    - AC_C_BIGENDIAN-lto.patch ("Port AC_C_BIGENDIAN to cross gcc -std=c11 -flto")
    - AC_LANG_CALL_C_cxx.patch ("Port AC_LANG_CALL(C) to C++")
    - K-R-decls-clang.patch ("Port to compilers that moan about K&R func decls")
    
    The first two are included to make the latter apply cleanly, but they're
    also both harmless and desirable.
    
    As I remarked on IRC, it's unfortunate to have to backport anything
    which will then infect generated configure, as it's somewhat
    a repeat of the --runstatedir situation, and it leads to confusion/hassle
    when sending patches upstream where a generated/bootstrapped configure
    is required.
    
    But this is different - it's a (serious) bug being fixed
    rather than a gratuitous (although) understandable given we weren't
    sure if we'd ever see another autoconf release backport of a new
    feature.
    
    Backports to 2.69 & 2.13 to follow.
    
    Bug: https://bugs.gentoo.org/806376
    Bug: https://bugs.gentoo.org/870412
    Thanks-to: Arsen Arsenovic <arsen@aarsen.me>
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-devel/autoconf/autoconf-2.71-r3.ebuild         |  87 +++++++++++++
 .../files/autoconf-2.71-AC_C_BIGENDIAN-lto.patch   |  50 ++++++++
 .../files/autoconf-2.71-AC_LANG_CALL_C_cxx.patch   |  30 +++++
 .../files/autoconf-2.71-K-R-decls-clang.patch      | 136 +++++++++++++++++++++
 4 files changed, 303 insertions(+)
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-09-26 02:04:49 UTC
Note that Clang 15/16 doesn't set -Werror=strict-prototypes, but rather that some configure scripts force -Werror.
Comment 15 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-10-09 21:33:07 UTC
See https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240 for latest summary and the gist of this whole thing if you're wondering what this is about.
Comment 16 Larry the Git Cow gentoo-dev 2022-11-09 01:17:54 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=85723dbd4d8fa6392001adeb8ca695a29e530949

commit 85723dbd4d8fa6392001adeb8ca695a29e530949
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-09 01:16:27 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-09 01:17:50 +0000

    bin: replace check-implicit-pointer-usage.py
    
    Always die on -Wimplicit-function-declaration as Clang 16 is going
    to make it fatal and it's always pretty dubious.
    
    The licencing of check-implicit-pointer-usage.py is also unclear,
    but the tool has been broken since GCC 4.5(!)
    
    Bug: https://bugs.gentoo.org/365655
    Bug: https://bugs.gentoo.org/870412
    Signed-off-by: Sam James <sam@gentoo.org>

 bin/check-implicit-pointer-usage.py   | 79 -----------------------------------
 bin/install-qa-check.d/90gcc-warnings | 46 ++++----------------
 2 files changed, 7 insertions(+), 118 deletions(-)
Comment 17 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-18 00:24:52 UTC
(In reply to Sam James from comment #15)
> See
> https://archives.gentoo.org/gentoo-dev/message/
> dd9f2d3082b8b6f8dfbccb0639e6e240 for latest summary and the gist of this
> whole thing if you're wondering what this is about.

And now https://wiki.gentoo.org/wiki/Modern_C_porting.
Comment 18 Larry the Git Cow gentoo-dev 2022-11-18 01:03:03 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=541ccf270b9b9b5631072a654cd3add5ccd433e7

commit 541ccf270b9b9b5631072a654cd3add5ccd433e7
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-18 01:01:13 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-18 01:02:05 +0000

    sys-devel/autoconf: backport further Clang 16 fixes (2.69)
    
    It turns out we had some of these fixes already in our 2.69 from
    previous backporting work which ended up catching stuff which wasn't actually
    applied upstream yet, so the patch change here is much smaller than for 2.71.
    
    Bug: https://bugs.gentoo.org/870412
    Signed-off-by: Sam James <sam@gentoo.org>

 ...conf-2.69-r7.ebuild => autoconf-2.69-r8.ebuild} |  0
 .../files/autoconf-2.69-K-R-decls-clang.patch      | 29 ++++++++++++++++++++++
 2 files changed, 29 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc030538dc51e0bccceea9372bfab68cda588b8c

commit cc030538dc51e0bccceea9372bfab68cda588b8c
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-18 00:55:29 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-18 01:02:04 +0000

    sys-devel/autoconf: backport further Clang 16 fixes (2.71)
    
    Bug: https://bugs.gentoo.org/870412
    Signed-off-by: Sam James <sam@gentoo.org>

 ...conf-2.71-r4.ebuild => autoconf-2.71-r5.ebuild} |  1 +
 .../files/autoconf-2.13-K-R-decls-clang.patch      |  2 +-
 .../files/autoconf-2.71-K-R-decls-clang-deux.patch | 94 ++++++++++++++++++++++
 .../files/autoconf-2.71-K-R-decls-clang.patch      |  2 +-
 4 files changed, 97 insertions(+), 2 deletions(-)
Comment 19 Larry the Git Cow gentoo-dev 2022-11-20 23:33:48 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=0fdbbbdb5a80e331adf701f2b2c1f096695447c4

commit 0fdbbbdb5a80e331adf701f2b2c1f096695447c4
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-20 23:32:08 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-20 23:33:43 +0000

    install-qa-check.d/90gcc-warnings: don't make implicit func decls fatal for now
    
    We need to do this at some point (as Clang 16 and GCC 14 are doing it, and
    they indicate runtime problems anyway), but there's too much breakage for now.
    
    We did find some extra bugs though. The main issue is too much high-profile
    stuff breaks rather than the total number of bugs, wrt Portage behaviour
    changing being suitable or not.
    
    Bug: https://bugs.gentoo.org/870412
    Signed-off-by: Sam James <sam@gentoo.org>

 NEWS                                  | 4 ++++
 bin/install-qa-check.d/90gcc-warnings | 7 ++++---
 2 files changed, 8 insertions(+), 3 deletions(-)
Comment 20 Larry the Git Cow gentoo-dev 2022-11-20 23:37:19 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d184f1a99a9bbf53b1fc0f288300ed1979099f2

commit 1d184f1a99a9bbf53b1fc0f288300ed1979099f2
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-20 23:36:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-20 23:37:12 +0000

    sys-apps/portage: make Portage less noisy on implicit func. decls for now
    
    We will undo this again soon, but we need fewer high profiles to be
    broken first, as it impacts wider testing & bug finding.
    
    Bug: https://bugs.gentoo.org/870412
    Signed-off-by: Sam James <sam@gentoo.org>

 ...rtage-3.0.39-implicit-func-decls-no-fatal.patch | 34 ++++++++++++++++++++++
 ...tage-3.0.39.ebuild => portage-3.0.39-r1.ebuild} |  1 +
 2 files changed, 35 insertions(+)
Comment 21 Larry the Git Cow gentoo-dev 2022-11-23 01:14:02 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cece5b154234aa8c9982feae05f67df8db39e270

commit cece5b154234aa8c9982feae05f67df8db39e270
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-23 01:12:30 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-23 01:12:30 +0000

    autotools.eclass: crank up autoconf minimum versions
    
    This ensures we have versions which have Clang 16 / GCC 14 / stricter
    compiler fixes, so 'eautoreconf' will Do The Right Thing.
    
    Closes: https://bugs.gentoo.org/870412
    Signed-off-by: Sam James <sam@gentoo.org>

 eclass/autotools.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 22 Larry the Git Cow gentoo-dev 2022-11-24 16:53:50 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20bcabbb6778de49da6d64cdab10e5a84c4497fb

commit 20bcabbb6778de49da6d64cdab10e5a84c4497fb
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2022-11-24 16:50:55 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2022-11-24 16:53:03 +0000

    sys-apps/less: call eautoreconf in all ebuilds
    
    This should prevent weirdness with clang-16.
    
    Bug: https://bugs.gentoo.org/870412
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 sys-apps/less/less-608-r1.ebuild |  2 ++
 sys-apps/less/less-612.ebuild    | 11 +++++++++++
 2 files changed, 13 insertions(+)
Comment 23 Peter Levine 2022-12-09 21:54:34 UTC
Should there be a tracker for suggested last-riting?  So many of these packages have more than a 10 year lapse of activity, no reverse-deps, and too many outdated language constructs to be worth fixing.