From patchwork Wed Aug 27 21:29:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69216 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 563A1CA0FFE for ; Wed, 27 Aug 2025 21:29:59 +0000 (UTC) Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by mx.groups.io with SMTP id smtpd.web11.6623.1756330191816259408 for ; Wed, 27 Aug 2025 14:29:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=P/kFdVYy; spf=softfail (domain: sakoman.com, ip: 209.85.210.173, mailfrom: steve@sakoman.com) Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-77053017462so265655b3a.1 for ; Wed, 27 Aug 2025 14:29:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330191; x=1756934991; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=yjxpjleGmnPr60pufOiDp0/VurDkXXIbxNmPCFGrnAI=; b=P/kFdVYyJo79xO/r3gio5yG5TgGqSfaWGAOB6cgQI9XaKIAvI+K/9inIbl19zHErDd 9oHMHRkA/N36a1+ZdCvTkGRiQCCv+8+x4AXVyICvEIlAjZI7LinLEiMw4/TZwMVOMptG +muUN9B5g/AZadagEegmIBP3QoV+z23CLYZ1vP36Iq1gADg0Ppj/ZE4JdS8L2GmHG1WZ cSbvzWW5Fju0QpldUufUe9BhvSrVYWdq3gwbtzb/PPYOJ24qmnS6VcH98f/ER7lUG0qy rt+ZeZbR0pphLe74WcgT5o4//FQyHiO++e5WZMY3ww7iZFKBou59hD0aBuv2xF+sDEBA mKTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330191; x=1756934991; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yjxpjleGmnPr60pufOiDp0/VurDkXXIbxNmPCFGrnAI=; b=u88MpTzkysowFpc7P5Fcyn4tcdsQK88FRMtiVzhMidd960BV2RKMkF8wbm7xTFpxUj hsVLv2G+kQuB3V3PbEt9q7b8IGCLrgQypltHX+sdC1DxTs4JvY3fYMJD41hK1gwcvkyd 2fiFApfXxAsq3ztwI6ZpYYkTC84VB6wX/55Lfg0OUECbCzureyZL737ZKuBmPJfSSppw zyiWOR75Nkr9OAaX05uAHhH9R04pOjXK2QrbWv7C2VeIihmDRsSaLc23Nh9n+KY+f/tz 6bxOmdC5YfwFx+ROMn3jzrYXPW/9XwuEH708xm1n7y2OsNFOR+IryMfQY6L4h0qxnA/D m1nQ== X-Gm-Message-State: AOJu0Yxp9PFp5BYTaL+UtaJNfW3YsuDNUII3C4U06d8U3VQPOC9p9S9B C7nOWPxQEM+Rog9d5rDhF3usTzleIUIbJZDtgcwO2wZZoZpiQ/tl36+JOUFJGAlh3uhndI9mMr9 WHRgw X-Gm-Gg: ASbGncsYGqMhPrAtIIo0dVZCWZtWv4c16TE7CaHMYL15/BVHZrhtkPI9u5MYEPExBe3 bFBczHIpu/W8kq+aO50cj1c9GXeAlxMHbcOnmhqh590zjA5orMplWXdq+B1Jx/1IsfoZnX8I/5z iYluwwb2MCaK9Z3BMF2C7+Qdo2GsHO18DfVcz5rTvX5x5XVhxboNF2ic3KxfTAkMQzT6y6pBCfp TJpk+JFy9OOG5z1lwxgqTPW0jIf7QwClCLZuJ9T94o1gxZta3Cy6/sc7RddGr9tZJgQFXM8dY5f vSGHucQyc0qBhkpZJnNcSgpUWAB770G+IlOzf4V4r9xN91kQMiK93lqEBoTjb2Fefo2PxC4GXRZ CY2fdVx7PfEyTbw== X-Google-Smtp-Source: AGHT+IG4RsA6MM4REFbboksRKyeJ/1dogpPlXXwqLqAQdt2iCJozgzE0RQrlDbAahA7mwkmPdbTYxA== X-Received: by 2002:a05:6a20:3d1a:b0:23f:fec8:9ace with SMTP id adf61e73a8af0-24340bd0efcmr28778154637.11.1756330190580; Wed, 27 Aug 2025 14:29:50 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.29.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:29:50 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 01/33] go: fix CVE-2025-4674 Date: Wed, 27 Aug 2025 14:29:08 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:29:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222509 From: Archana Polampalli The go command may execute unexpected commands when operating in untrusted VCS repositories. This occurs when possibly dangerous VCS configuration is present in repositories. This can happen when a repository was fetched via one VCS (e.g. Git), but contains metadata for another VCS (e.g. Mercurial). Modules which are retrieved using the go command line, i.e. via "go get", are not affected. Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- meta/recipes-devtools/go/go-1.22.12.inc | 1 + .../go/go/CVE-2025-4674.patch | 332 ++++++++++++++++++ 2 files changed, 333 insertions(+) create mode 100644 meta/recipes-devtools/go/go/CVE-2025-4674.patch diff --git a/meta/recipes-devtools/go/go-1.22.12.inc b/meta/recipes-devtools/go/go-1.22.12.inc index ea57b23c3e..12d7539017 100644 --- a/meta/recipes-devtools/go/go-1.22.12.inc +++ b/meta/recipes-devtools/go/go-1.22.12.inc @@ -17,6 +17,7 @@ SRC_URI += "\ file://CVE-2025-22870.patch \ file://CVE-2025-22871.patch \ file://CVE-2025-4673.patch \ + file://CVE-2025-4674.patch \ " SRC_URI[main.sha256sum] = "012a7e1f37f362c0918c1dfa3334458ac2da1628c4b9cf4d9ca02db986e17d71" diff --git a/meta/recipes-devtools/go/go/CVE-2025-4674.patch b/meta/recipes-devtools/go/go/CVE-2025-4674.patch new file mode 100644 index 0000000000..bc6e438652 --- /dev/null +++ b/meta/recipes-devtools/go/go/CVE-2025-4674.patch @@ -0,0 +1,332 @@ +From e9d2c032b14c17083be0f8f0c822565199d2994f Mon Sep 17 00:00:00 2001 +From: Roland Shoemaker +Date: Mon, 9 Jun 2025 11:23:46 -0700 +Subject: [PATCH] [release-branch.go1.23] cmd/go: disable support for multiple + vcs in one module + +Removes the somewhat redundant vcs.FromDir, "allowNesting" argument, +which was always enabled, and disallow multiple VCS metadata folders +being present in a single directory. This makes VCS injection attacks +much more difficult. + +Also adds a GODEBUG, allowmultiplevcs, which re-enables this behavior. + +Thanks to RyotaK (https://ryotak.net) of GMO Flatt Security Inc for +reporting this issue. + +Updates #74380 +Fixes #74382 +Fixes CVE-2025-4674 + +CVE: CVE-2025-4674 + +Upstream-Status: Backport [https://github.com/golang/go/commit/e9d2c032b14c17083be0f8f0c822565199d2994f] + +Change-Id: I2db79f2baacfacfec331ee7c6978c4057d483eba +Reviewed-on: https://go-review.googlesource.com/c/go/+/686337 +LUCI-TryBot-Result: Go LUCI +Reviewed-by: David Chase +Reviewed-by: Carlos Amedee +Commit-Queue: Carlos Amedee + +Signed-off-by: Archana Polampalli +--- + doc/godebug.md | 4 ++ + src/cmd/go/internal/load/pkg.go | 14 ++--- + src/cmd/go/internal/vcs/vcs.go | 28 ++++++---- + src/cmd/go/internal/vcs/vcs_test.go | 2 +- + src/cmd/go/testdata/script/test_multivcs.txt | 54 +++++++++++++++++++ + .../script/version_buildvcs_nested.txt | 20 +++++-- + src/internal/godebugs/godebugs_test.go | 3 +- + src/internal/godebugs/table.go | 1 + + src/runtime/metrics/doc.go | 5 ++ + 9 files changed, 108 insertions(+), 23 deletions(-) + create mode 100644 src/cmd/go/testdata/script/test_multivcs.txt + +diff --git a/doc/godebug.md b/doc/godebug.md +index fb3f32f..ae4f057 100644 +--- a/doc/godebug.md ++++ b/doc/godebug.md +@@ -126,6 +126,10 @@ for example, + see the [runtime documentation](/pkg/runtime#hdr-Environment_Variables) + and the [go command documentation](/cmd/go#hdr-Build_and_test_caching). + ++Go 1.23.11 disabled build information stamping when multiple VCS are detected due ++to concerns around VCS injection attacks. This behavior can be renabled with the ++setting `allowmultiplevcs=1`. ++ + ### Go 1.22 + + Go 1.22 adds a configurable limit to control the maximum acceptable RSA key size +diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go +index f41fb2c..428780e 100644 +--- a/src/cmd/go/internal/load/pkg.go ++++ b/src/cmd/go/internal/load/pkg.go +@@ -2465,7 +2465,6 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) { + var repoDir string + var vcsCmd *vcs.Cmd + var err error +- const allowNesting = true + + wantVCS := false + switch cfg.BuildBuildvcs { +@@ -2485,7 +2484,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) { + // (so the bootstrap toolchain packages don't even appear to be in GOROOT). + goto omitVCS + } +- repoDir, vcsCmd, err = vcs.FromDir(base.Cwd(), "", allowNesting) ++ repoDir, vcsCmd, err = vcs.FromDir(base.Cwd(), "") + if err != nil && !errors.Is(err, os.ErrNotExist) { + setVCSError(err) + return +@@ -2508,10 +2507,11 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) { + } + if repoDir != "" && vcsCmd.Status != nil { + // Check that the current directory, package, and module are in the same +- // repository. vcs.FromDir allows nested Git repositories, but nesting +- // is not allowed for other VCS tools. The current directory may be outside +- // p.Module.Dir when a workspace is used. +- pkgRepoDir, _, err := vcs.FromDir(p.Dir, "", allowNesting) ++ // repository. vcs.FromDir disallows nested VCS and multiple VCS in the ++ // same repository, unless the GODEBUG allowmultiplevcs is set. The ++ // current directory may be outside p.Module.Dir when a workspace is ++ // used. ++ pkgRepoDir, _, err := vcs.FromDir(p.Dir, "") + if err != nil { + setVCSError(err) + return +@@ -2523,7 +2523,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) { + } + goto omitVCS + } +- modRepoDir, _, err := vcs.FromDir(p.Module.Dir, "", allowNesting) ++ modRepoDir, _, err := vcs.FromDir(p.Module.Dir, "") + if err != nil { + setVCSError(err) + return +diff --git a/src/cmd/go/internal/vcs/vcs.go b/src/cmd/go/internal/vcs/vcs.go +index 8550f2a..89d9f0e 100644 +--- a/src/cmd/go/internal/vcs/vcs.go ++++ b/src/cmd/go/internal/vcs/vcs.go +@@ -8,6 +8,7 @@ import ( + "bytes" + "errors" + "fmt" ++ "internal/godebug" + "internal/lazyregexp" + "internal/singleflight" + "io/fs" +@@ -831,11 +832,13 @@ type vcsPath struct { + schemelessRepo bool // if true, the repo pattern lacks a scheme + } + ++var allowmultiplevcs = godebug.New("allowmultiplevcs") ++ + // FromDir inspects dir and its parents to determine the + // version control system and code repository to use. + // If no repository is found, FromDir returns an error + // equivalent to os.ErrNotExist. +-func FromDir(dir, srcRoot string, allowNesting bool) (repoDir string, vcsCmd *Cmd, err error) { ++func FromDir(dir, srcRoot string) (repoDir string, vcsCmd *Cmd, err error) { + // Clean and double-check that dir is in (a subdirectory of) srcRoot. + dir = filepath.Clean(dir) + if srcRoot != "" { +@@ -849,21 +852,28 @@ func FromDir(dir, srcRoot string, allowNesting bool) (repoDir string, vcsCmd *Cm + for len(dir) > len(srcRoot) { + for _, vcs := range vcsList { + if isVCSRoot(dir, vcs.RootNames) { +- // Record first VCS we find. +- // If allowNesting is false (as it is in GOPATH), keep looking for +- // repositories in parent directories and report an error if one is +- // found to mitigate VCS injection attacks. + if vcsCmd == nil { ++ // Record first VCS we find. + vcsCmd = vcs + repoDir = dir +- if allowNesting { ++ if allowmultiplevcs.Value() == "1" { ++ allowmultiplevcs.IncNonDefault() + return repoDir, vcsCmd, nil + } ++ // If allowmultiplevcs is not set, keep looking for ++ // repositories in current and parent directories and report ++ // an error if one is found to mitigate VCS injection ++ // attacks. ++ continue ++ } ++ if vcsCmd == vcsGit && vcs == vcsGit { ++ // Nested Git is allowed, as this is how things like ++ // submodules work. Git explicitly protects against ++ // injection against itself. + continue + } +- // Otherwise, we have one VCS inside a different VCS. +- return "", nil, fmt.Errorf("directory %q uses %s, but parent %q uses %s", +- repoDir, vcsCmd.Cmd, dir, vcs.Cmd) ++ return "", nil, fmt.Errorf("multiple VCS detected: %s in %q, and %s in %q", ++ vcsCmd.Cmd, repoDir, vcs.Cmd, dir) + } + } + +diff --git a/src/cmd/go/internal/vcs/vcs_test.go b/src/cmd/go/internal/vcs/vcs_test.go +index 2ce85ea..06e63c2 100644 +--- a/src/cmd/go/internal/vcs/vcs_test.go ++++ b/src/cmd/go/internal/vcs/vcs_test.go +@@ -239,7 +239,7 @@ func TestFromDir(t *testing.T) { + } + + wantRepoDir := filepath.Dir(dir) +- gotRepoDir, gotVCS, err := FromDir(dir, tempDir, false) ++ gotRepoDir, gotVCS, err := FromDir(dir, tempDir) + if err != nil { + t.Errorf("FromDir(%q, %q): %v", dir, tempDir, err) + continue +diff --git a/src/cmd/go/testdata/script/test_multivcs.txt b/src/cmd/go/testdata/script/test_multivcs.txt +new file mode 100644 +index 0000000..538cbf7 +--- /dev/null ++++ b/src/cmd/go/testdata/script/test_multivcs.txt +@@ -0,0 +1,54 @@ ++# To avoid VCS injection attacks, we should not accept multiple different VCS metadata ++# folders within a single module (either in the same directory, or nested in different ++# directories.) ++# ++# This behavior should be disabled by setting the allowmultiplevcs GODEBUG. ++ ++[short] skip ++[!git] skip ++ ++cd samedir ++ ++exec git init . ++ ++# Without explicitly requesting buildvcs, the go command should silently continue ++# without determining the correct VCS. ++go test -c -o $devnull . ++ ++# If buildvcs is explicitly requested, we expect the go command to fail ++! go test -buildvcs -c -o $devnull . ++stderr '^error obtaining VCS status: multiple VCS detected:' ++ ++env GODEBUG=allowmultiplevcs=1 ++go test -buildvcs -c -o $devnull . ++ ++env GODEBUG= ++cd ../nested ++exec git init . ++# cd a ++go test -c -o $devnull ./a ++! go test -buildvcs -c -o $devnull ./a ++stderr '^error obtaining VCS status: multiple VCS detected:' ++# allowmultiplevcs doesn't disable the check that the current directory, package, and ++# module are in the same repository. ++env GODEBUG=allowmultiplevcs=1 ++! go test -buildvcs -c -o $devnull ./a ++stderr '^error obtaining VCS status: main package is in repository' ++ ++-- samedir/go.mod -- ++module example ++ ++go 1.18 ++-- samedir/example.go -- ++package main ++-- samedir/.bzr/test -- ++hello ++ ++-- nested/go.mod -- ++module example ++ ++go 1.18 ++-- nested/a/example.go -- ++package main ++-- nested/a/.bzr/test -- ++hello +diff --git a/src/cmd/go/testdata/script/version_buildvcs_nested.txt b/src/cmd/go/testdata/script/version_buildvcs_nested.txt +index 6dab847..22cd71c 100644 +--- a/src/cmd/go/testdata/script/version_buildvcs_nested.txt ++++ b/src/cmd/go/testdata/script/version_buildvcs_nested.txt +@@ -9,25 +9,35 @@ cd root + go mod init example.com/root + exec git init + +-# Nesting repositories in parent directories are ignored, as the current +-# directory main package, and containing main module are in the same repository. +-# This is an error in GOPATH mode (to prevent VCS injection), but for modules, +-# we assume users have control over repositories they've checked out. ++ ++# Nesting repositories in parent directories are an error, to prevent VCS injection. ++# This can be disabled with the allowmultiplevcs GODEBUG. + mkdir hgsub + cd hgsub + exec hg init + cp ../../main.go main.go + ! go build ++stderr '^error obtaining VCS status: multiple VCS detected: hg in ".*hgsub", and git in ".*root"$' ++stderr '^\tUse -buildvcs=false to disable VCS stamping.$' ++env GODEBUG=allowmultiplevcs=1 ++! go build + stderr '^error obtaining VCS status: main module is in repository ".*root" but current directory is in repository ".*hgsub"$' + stderr '^\tUse -buildvcs=false to disable VCS stamping.$' + go build -buildvcs=false ++env GODEBUG= + go mod init example.com/root/hgsub ++! go build ++stderr '^error obtaining VCS status: multiple VCS detected: hg in ".*hgsub", and git in ".*root"$' ++stderr '^\tUse -buildvcs=false to disable VCS stamping.$' ++env GODEBUG=allowmultiplevcs=1 + go build ++env GODEBUG= + cd .. + + # It's an error to build a package from a nested Git repository if the package + # is in a separate repository from the current directory or from the module +-# root directory. ++# root directory. Otherwise nested Git repositories are allowed, as this is ++# how Git implements submodules (and protects against Git based VCS injection.) + mkdir gitsub + cd gitsub + exec git init +diff --git a/src/internal/godebugs/godebugs_test.go b/src/internal/godebugs/godebugs_test.go +index a1cb8d4..b3784eb 100644 +--- a/src/internal/godebugs/godebugs_test.go ++++ b/src/internal/godebugs/godebugs_test.go +@@ -39,7 +39,8 @@ func TestAll(t *testing.T) { + if info.Old != "" && info.Changed == 0 { + t.Errorf("Name=%s has Old, missing Changed", info.Name) + } +- if !strings.Contains(doc, "`"+info.Name+"`") { ++ if !strings.Contains(doc, "`"+info.Name+"`") && ++ !strings.Contains(doc, "`"+info.Name+"=") { + t.Errorf("Name=%s not documented in doc/godebug.md", info.Name) + } + } +diff --git a/src/internal/godebugs/table.go b/src/internal/godebugs/table.go +index 11c5b7d..33dcd81 100644 +--- a/src/internal/godebugs/table.go ++++ b/src/internal/godebugs/table.go +@@ -25,6 +25,7 @@ type Info struct { + // Note: After adding entries to this table, update the list in doc/godebug.md as well. + // (Otherwise the test in this package will fail.) + var All = []Info{ ++ {Name: "allowmultiplevcs", Package: "cmd/go"}, + {Name: "execerrdot", Package: "os/exec"}, + {Name: "gocachehash", Package: "cmd/go"}, + {Name: "gocachetest", Package: "cmd/go"}, +diff --git a/src/runtime/metrics/doc.go b/src/runtime/metrics/doc.go +index 85f256d..517ec0e 100644 +--- a/src/runtime/metrics/doc.go ++++ b/src/runtime/metrics/doc.go +@@ -230,6 +230,11 @@ Below is the full list of supported metrics, ordered lexicographically. + /gc/stack/starting-size:bytes + The stack size of new goroutines. + ++ /godebug/non-default-behavior/allowmultiplevcs:events ++ The number of non-default behaviors executed by the cmd/go ++ package due to a non-default GODEBUG=allowmultiplevcs=... ++ setting. ++ + /godebug/non-default-behavior/execerrdot:events + The number of non-default behaviors executed by the os/exec + package due to a non-default GODEBUG=execerrdot=... setting. +-- +2.40.0 From patchwork Wed Aug 27 21:29:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69214 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4888ACA0FF7 for ; Wed, 27 Aug 2025 21:29:59 +0000 (UTC) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mx.groups.io with SMTP id smtpd.web11.6624.1756330192869050956 for ; Wed, 27 Aug 2025 14:29:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=3BOCyx1m; spf=softfail (domain: sakoman.com, ip: 209.85.214.178, mailfrom: steve@sakoman.com) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2449978aceaso2338505ad.2 for ; Wed, 27 Aug 2025 14:29:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330192; x=1756934992; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=jy7uYL21o8BIuRvRldGJU5+7Fs6VfwtbXPBD9iW3z9Y=; b=3BOCyx1m13Av6fugk0vjMdFbc7A5CxP4wU40CL4nxL92pEGFUNhkdBOltzHBwzO+/i lx7OL4PGGq2yzPhL5g1G9uXE2G7WkQK/Arh9OsCQoRPSIg7wHd4Bx3E3vs4Yku/NmhHs TJKezTkRaAuwUP0qziWaxCSagLxs9WWeTAOUqfE1QDz2NxOxj3mdhAffoKN6XToh+eXL vKN8yNe/sAgI5YbAxqQKoQ2QBzKBlv86gLxRRv+YxqY9hiPzPiGckHhG0wtY03dss31F XRZBVA2PIQ7gj9hr7Yf7+d+s171G2d1hHujddl3tVj/mPC3zPbZY1lOE9NRwXmT/vRHP 37Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330192; x=1756934992; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jy7uYL21o8BIuRvRldGJU5+7Fs6VfwtbXPBD9iW3z9Y=; b=pmwrXmPdTqGQPj/vR1yO8Wd068GwZhPG5WyzOxZZujsPuRQoqv2x0HW9iYdKMTBf/o 5VXzJuEX9Okxwh4ltG8Zmi7TiFB2lxul/UikW/C/he/9orr4OuVHlBLdjduQH+0Q+dAP SH8wA1+fnNwB1rvb8jFRyHM8aLUDBjHrP87cYg8wJtTJl6bfep7bjmnjDTO6Zz2++bkF KT5h16goyPokhG+thO4Ve5PqH+F8INHZGQOvMaAJ36mafKZtUtFmeXCMb2XLOoQDnfuC KDSH7ZIgBNyTcZH8PBn3a8U9qjU3x+5SA3XAo9T+Y7jZdmn4lcUpacIf+UXJtK3hGuLc YSdg== X-Gm-Message-State: AOJu0YxkeppY7UboIjg/no6onGOmpMxZLKeQvMTMhOYAS4xdJXFAN+fH 6lwC6ElVGkZ3anhRMHdk97pO5DOvPq2esOgHVTSsXpxXn2EJGCaaTitzxcvrn4sJO5zYkTXFuT+ ZX0kV X-Gm-Gg: ASbGncsHboVaBooUG5Y4htnrtoopmJUo3tKJgExvC+4RR0bPOcO113oQxYS0rmzwuSI HTpu5/1zVzr8DT91+jBdmf0BeBdFaHBSmTBrptGZ7e3P6Pi0SdpR5wV7P0RTKbnBjvlIVZsiwDW juUYa5jvQ0KoS8H79rvFL0Rd33KwH/FUPMb9829n6F3plQaBzdFSvniDGPV7ShP1EpLBsLQy4Oe ePAjForI1njO6BR20Zh45HxivnxF4AihaDRKzPHVbHr78ElCJGOE/I5G2F9toHoOXdypdyW+Ftx 5A/5CD/nqT8cHJ1HOQYHVBWJ0YUXUx2Ui7sec2C7yRQA0UULQSENbsXyUfNrclUcsX86OjgWKcZ 7y2gHbLTas2kBDw== X-Google-Smtp-Source: AGHT+IFHPBL3frXu8HAe/U5DBcWjTmfG3K34DJYlHk2kyMY1SX/gH/yKUAVYJBYIJaQOzOIefS6jtA== X-Received: by 2002:a17:902:ef06:b0:244:9c27:9829 with SMTP id d9443c01a7336-2462ee0c6edmr242385415ad.10.1756330192112; Wed, 27 Aug 2025 14:29:52 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.29.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:29:51 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 02/33] gstreamer1.0-plugins-base: fix CVE-2025-47807 Date: Wed, 27 Aug 2025 14:29:09 -0700 Message-ID: <19eca5d7373667dbacd02a2c1dd8c9de8101cd34.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:29:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222510 From: Hitendra Prajapati Upstream-Status: Backport from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9e2238adc1cad1fba5aad23bc8c2a6c2a65794d2 Signed-off-by: Hitendra Prajapati Signed-off-by: Steve Sakoman --- .../CVE-2025-47807.patch | 49 +++++++++++++++++++ .../gstreamer1.0-plugins-base_1.22.12.bb | 1 + 2 files changed, 50 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47807.patch diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47807.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47807.patch new file mode 100644 index 0000000000..11a4d49583 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47807.patch @@ -0,0 +1,49 @@ +From 9e2238adc1cad1fba5aad23bc8c2a6c2a65794d2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= +Date: Thu, 8 May 2025 09:14:15 +0300 +Subject: [PATCH] subparse: Check for valid UTF-8 before cleaning up lines and + check for regex replace errors + +Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4418 +Fixes CVE-2025-47807 + +Part-of: + +CVE: CVE-2025-47807 +Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9e2238adc1cad1fba5aad23bc8c2a6c2a65794d2] +Signed-off-by: Hitendra Prajapati +--- + gst/subparse/gstsubparse.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c +index 035068d..72bf104 100644 +--- a/gst/subparse/gstsubparse.c ++++ b/gst/subparse/gstsubparse.c +@@ -666,6 +666,12 @@ subrip_unescape_formatting (gchar * txt, gconstpointer allowed_tags_ptr, + res = g_regex_replace (tag_regex, txt, strlen (txt), 0, + replace_pattern, 0, NULL); + ++ /* Replacing can fail. Return an empty string in that case. */ ++ if (!res) { ++ strcpy (txt, ""); ++ return; ++ } ++ + /* res will always be shorter than the input or identical, so this + * copy is OK */ + strcpy (txt, res); +@@ -1046,6 +1052,10 @@ parse_subrip (ParserState * state, const gchar * line) + g_string_append_c (state->buf, '\n'); + g_string_append (state->buf, line); + if (strlen (line) == 0) { ++ if (!g_utf8_validate (state->buf->str, state->buf->len, NULL)) { ++ g_string_truncate (state->buf, 0); ++ return NULL; ++ } + ret = g_markup_escape_text (state->buf->str, state->buf->len); + g_string_truncate (state->buf, 0); + state->state = 0; +-- +2.50.1 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.12.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.12.bb index bfc6bb65ef..2eff864022 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.12.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.12.bb @@ -21,6 +21,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba file://0012-subparse-Check-for-NULL-return-of-strchr-when-parsin.patch \ file://CVE-2025-47808.patch \ file://CVE-2025-47806.patch \ + file://CVE-2025-47807.patch \ " SRC_URI[sha256sum] = "73cfadc3a6ffe77ed974cfd6fb391c605e4531f48db21dd6b9f42b8cb69bd8c1" From patchwork Wed Aug 27 21:29:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69213 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3D1B9CA0FFB for ; Wed, 27 Aug 2025 21:29:59 +0000 (UTC) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mx.groups.io with SMTP id smtpd.web11.6625.1756330195104580540 for ; Wed, 27 Aug 2025 14:29:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=rFXQjqOL; spf=softfail (domain: sakoman.com, ip: 209.85.215.170, mailfrom: steve@sakoman.com) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-b49dcdf018bso250482a12.0 for ; Wed, 27 Aug 2025 14:29:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330194; x=1756934994; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=R8VaqqXEJiTHWCi6ExVSnKEFhfAWfSu1D+0gFq6wVno=; b=rFXQjqOLeXP/5JES6g6DD/UA8erkHbz3qrY1OCK6UxTeLnThBQcHD7VOe5L5RkmDgj qM8dP2nMqEfQRsjoEImpOHwTlMVjm9wKQCvgKR5yBzaile16w84k1TjJVWsVopeKkjF/ P+l/LtRKgZSbk31ktABnP8hhw2h5hE31lTXjqF9LvaBALf/G6rGKnA6NGWs1wnUU/EUL +cT8i+WPzZb26eXR7alOh6L/HHGuSyo1QGS+uKrWbyPcQ+97LcdYiaedilfG9IhEGYf+ ppkgUCyPKjifRHRuKTiCtqKp27BemRLaZr+ytrWR5GqSp0eRztR2KrlBLhASCJlrGUVi hTlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330194; x=1756934994; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R8VaqqXEJiTHWCi6ExVSnKEFhfAWfSu1D+0gFq6wVno=; b=OSBPRCxilTjgEep6xbodkIa26jKnpAoUmsm1gj/B3mLROXgIaKSKBtxJ62QNxKnGpD zR0m2Wu7IQZVzxS9SmMYOfpK14V+O9q130rqTXh6g+39ofszr9SXmAPIXAgCdKT5havM rwtl9MWgxpaEoPmd27FQRUGHYSnNxq3f4d353pFL284+nw3q7dvIJXBc45vt52U72JMe wnvJ+qirF+OWiBwxQF1EXjbQRcKuMQpNu5CYIIOhhWgF+swKXvbZ66X8Vf3sBMBKJlfM R3j/l0fKhEwDagbBqxHkvJ6+udYxbsNkW4r9ulaXq6FZ3xSDJ7CBFEGDmfYLNLtL7YX7 3D6A== X-Gm-Message-State: AOJu0YyRMZqhvcOqHHpmMSeCJ4fVBpJ2VVqKnqjD8rksmhugiZAKHcgy k8PnjaQ6ziDfHpu7LCmR5XMnNKSMLBv9LuBiEhnUnPFYiwrohjec7Y2+c9x7fb2SlT2sgK4LOmM 1stVh X-Gm-Gg: ASbGncs7KS0pjqAwXQKjx+ohBZaR7wi7c9+Im6kaQUeskHCOO8UWC07QhLjqKB/g3e1 vWv+LeSD75mMw0hk26K7JJOd8nOiWjsq6oH6KYieMQh836IaXSVSo+DXIxhRlpXnxvxAkKc//Kt rwwDLlPVQU8MonMdjwrwOzpYtuMX8DvEmth8qEPh4VQE0xlrqMJO1L51ESpMW5SeQYg5QfOg7QP 1P2Rcv9AEUszvCDhqI+ZYiAcrnR337hTusEkCM1Na2SlHQCQ7dCpmdRNRZntiA2Yh57GWlCOLAl eKkI0zn6A5sIHxicLtsTehE2GO9Hq3rrWr7eeifrI+2QQe9vkk4ePAJTABTwwnTI47/5bjBDmbU nVnJgieVXt5rZeg== X-Google-Smtp-Source: AGHT+IFo6jokgky0no/tZDZAm69j3mHGdBY8CxR8lKkF8ySNdyjT27EtthZP7VvMYwBRZBp12mBqrg== X-Received: by 2002:a17:90b:3f88:b0:31c:36f5:d95 with SMTP id 98e67ed59e1d1-32515e2b881mr22908424a91.2.1756330194147; Wed, 27 Aug 2025 14:29:54 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.29.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:29:53 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 03/33] ffmpeg: upgrade 6.1.2 -> 6.1.3 Date: Wed, 27 Aug 2025 14:29:10 -0700 Message-ID: <901304a22413030b9744006ae18b587146b71953.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:29:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222511 From: Archana Polampalli Fixes: CVE-2023-6604 CVE-2023-6602 CVE-2025-7700 Changelog: https://github.com/FFmpeg/FFmpeg/blob/n6.1.3/Changelog Removed the CVE patches which are already fixed with this upgrade ref: https://github.com/FFmpeg/FFmpeg/commit/c104119c6b5e00496c5ff14071c85f95c98b7ae5 https://github.com/FFmpeg/FFmpeg/commit/7d79d0a43b5533ff584249332bc1db7fedbab1d2 https://github.com/FFmpeg/FFmpeg/commit/a4b6e37ad5f50454974fa22cc8f19d83cdaff0eb https://github.com/FFmpeg/FFmpeg/commit/efedc1d1b6aef2481cf613a11992b1dce6320055 https://github.com/FFmpeg/FFmpeg/commit/dcf34f13f516aa0e214384f3185aff306feba01d https://github.com/FFmpeg/FFmpeg/commit/bed04417b4d38af7a1b477b24ea6e26547e32373 https://github.com/FFmpeg/FFmpeg/commit/b43a12363c1fef0efa7eac15b6b830417656db15 https://github.com/FFmpeg/FFmpeg/commit/e2b20632b8c71a4e174511f8ff6e8342e0c63bd3 https://github.com/FFmpeg/FFmpeg/commit/43f64690ad9df72976bcbd6ea9e41b2542db2464 Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- .../ffmpeg/ffmpeg/CVE-2023-49501.patch | 30 ----- .../ffmpeg/ffmpeg/CVE-2023-49502.patch | 107 ------------------ .../ffmpeg/ffmpeg/CVE-2023-50007.patch | 78 ------------- .../ffmpeg/ffmpeg/CVE-2023-50008.patch | 29 ----- .../ffmpeg/ffmpeg/CVE-2024-31578.patch | 49 -------- .../ffmpeg/ffmpeg/CVE-2024-31582.patch | 34 ------ .../ffmpeg/ffmpeg/CVE-2024-35367.patch | 47 -------- .../ffmpeg/ffmpeg/CVE-2024-35368.patch | 41 ------- .../ffmpeg/ffmpeg/CVE-2025-0518.patch | 34 ------ .../ffmpeg/ffmpeg/CVE-2025-22919.patch | 39 ------- .../{ffmpeg_6.1.2.bb => ffmpeg_6.1.3.bb} | 12 +- 11 files changed, 1 insertion(+), 499 deletions(-) delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49501.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49502.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50007.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50008.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31578.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31582.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35367.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35368.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-0518.patch delete mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22919.patch rename meta/recipes-multimedia/ffmpeg/{ffmpeg_6.1.2.bb => ffmpeg_6.1.3.bb} (95%) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49501.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49501.patch deleted file mode 100644 index 80d542952a..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49501.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4adb93dff05dd947878c67784d98c9a4e13b57a7 Mon Sep 17 00:00:00 2001 -From: Paul B Mahol -Date: Thu, 23 Nov 2023 14:58:35 +0100 -Subject: [PATCH] avfilter/asrc_afirsrc: fix by one smaller allocation of - buffer - -CVE: CVE-2023-49501 - -Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/4adb93dff05dd947878c67784d98c9a4e13b57a7] - -Signed-off-by: Archana Polampalli ---- - libavfilter/asrc_afirsrc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavfilter/asrc_afirsrc.c b/libavfilter/asrc_afirsrc.c -index e2359c1..ea04c35 100644 ---- a/libavfilter/asrc_afirsrc.c -+++ b/libavfilter/asrc_afirsrc.c -@@ -480,7 +480,7 @@ static av_cold int config_eq_output(AVFilterLink *outlink) - if (ret < 0) - return ret; - -- s->magnitude = av_calloc(s->nb_magnitude, sizeof(*s->magnitude)); -+ s->magnitude = av_calloc(s->nb_magnitude + 1, sizeof(*s->magnitude)); - if (!s->magnitude) - return AVERROR(ENOMEM); - memcpy(s->magnitude, eq_presets[s->preset].gains, sizeof(*s->magnitude) * s->nb_magnitude); --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49502.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49502.patch deleted file mode 100644 index bc78a46d03..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-49502.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 737ede405b11a37fdd61d19cf25df296a0cb0b75 Mon Sep 17 00:00:00 2001 -From: Cosmin Stejerean -Date: Wed, 6 Dec 2023 18:39:32 +0800 -Subject: [PATCH] avfilter/bwdif: account for chroma sub-sampling in min size - calculation - -The current logic for detecting frames that are too small for the -algorithm does not account for chroma sub-sampling, and so a sample -where the luma plane is large enough, but the chroma planes are not -will not be rejected. In that event, a heap overflow will occur. - -This change adjusts the logic to consider the chroma planes and makes -the change to all three bwdif implementations. - -Fixes #10688 - -Signed-off-by: Cosmin Stejerean -Reviewed-by: Thomas Mundt -Signed-off-by: Philip Langdale - -CVE: CVE-2023-49502 - -Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/737ede405b11a37f] - -Signed-off-by: Archana Polampalli ---- - libavfilter/vf_bwdif.c | 9 +++++---- - libavfilter/vf_bwdif_cuda.c | 11 ++++++----- - libavfilter/vf_bwdif_vulkan.c | 11 +++++------ - 3 files changed, 16 insertions(+), 15 deletions(-) - -diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c -index 137cd5e..353cd0b 100644 ---- a/libavfilter/vf_bwdif.c -+++ b/libavfilter/vf_bwdif.c -@@ -191,13 +191,14 @@ static int config_props(AVFilterLink *link) - return ret; - } - -- if (link->w < 3 || link->h < 4) { -- av_log(ctx, AV_LOG_ERROR, "Video of less than 3 columns or 4 lines is not supported\n"); -+ yadif->csp = av_pix_fmt_desc_get(link->format); -+ yadif->filter = filter; -+ -+ if (AV_CEIL_RSHIFT(link->w, yadif->csp->log2_chroma_w) < 3 || AV_CEIL_RSHIFT(link->h, yadif->csp->log2_chroma_h) < 4) { -+ av_log(ctx, AV_LOG_ERROR, "Video with planes less than 3 columns or 4 lines is not supported\n"); - return AVERROR(EINVAL); - } - -- yadif->csp = av_pix_fmt_desc_get(link->format); -- yadif->filter = filter; - ff_bwdif_init_filter_line(&s->dsp, yadif->csp->comp[0].depth); - - return 0; -diff --git a/libavfilter/vf_bwdif_cuda.c b/libavfilter/vf_bwdif_cuda.c -index a5ecfba..418f15f 100644 ---- a/libavfilter/vf_bwdif_cuda.c -+++ b/libavfilter/vf_bwdif_cuda.c -@@ -296,15 +296,16 @@ static int config_output(AVFilterLink *link) - link->frame_rate = av_mul_q(ctx->inputs[0]->frame_rate, - (AVRational){2, 1}); - -- if (link->w < 3 || link->h < 3) { -- av_log(ctx, AV_LOG_ERROR, "Video of less than 3 columns or lines is not supported\n"); -- ret = AVERROR(EINVAL); -- goto exit; -- } - - y->csp = av_pix_fmt_desc_get(output_frames->sw_format); - y->filter = filter; - -+ if (AV_CEIL_RSHIFT(link->w, y->csp->log2_chroma_w) < 3 || AV_CEIL_RSHIFT(link->h, y->csp->log2_chroma_h) < 3) { -+ av_log(ctx, AV_LOG_ERROR, "Video with planes less than 3 columns or lines is not supported\n"); -+ ret = AVERROR(EINVAL); -+ goto exit; -+ } -+ - ret = CHECK_CU(cu->cuCtxPushCurrent(s->hwctx->cuda_ctx)); - if (ret < 0) - goto exit; -diff --git a/libavfilter/vf_bwdif_vulkan.c b/libavfilter/vf_bwdif_vulkan.c -index 690a89c..c51df9a 100644 ---- a/libavfilter/vf_bwdif_vulkan.c -+++ b/libavfilter/vf_bwdif_vulkan.c -@@ -362,15 +362,14 @@ static int bwdif_vulkan_config_output(AVFilterLink *outlink) - outlink->frame_rate = av_mul_q(avctx->inputs[0]->frame_rate, - (AVRational){2, 1}); - -- if (outlink->w < 4 || outlink->h < 4) { -- av_log(avctx, AV_LOG_ERROR, "Video of less than 4 columns or lines is not " -- "supported\n"); -- return AVERROR(EINVAL); -- } -- - y->csp = av_pix_fmt_desc_get(vkctx->frames->sw_format); - y->filter = bwdif_vulkan_filter_frame; - -+ if (AV_CEIL_RSHIFT(outlink->w, y->csp->log2_chroma_w) < 4 || AV_CEIL_RSHIFT(outlink->h, y->csp->log2_chroma_h) < 4) { -+ av_log(avctx, AV_LOG_ERROR, "Video with planes less than 4 columns or lines is not supported\n"); -+ return AVERROR(EINVAL); -+ } -+ - return init_filter(avctx); - } - --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50007.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50007.patch deleted file mode 100644 index d86e39707e..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50007.patch +++ /dev/null @@ -1,78 +0,0 @@ -From b1942734c7cbcdc9034034373abcc9ecb9644c47 Mon Sep 17 00:00:00 2001 -From: Paul B Mahol -Date: Mon, 27 Nov 2023 11:45:34 +0100 -Subject: [PATCH 2/3] avfilter/af_afwtdn: fix crash with EOF handling - -CVE: CVE-2023-50007 - -Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/b1942734c7cbcdc9034034373abcc9ecb9644c47] - -Signed-off-by: Archana Polampalli ---- - libavfilter/af_afwtdn.c | 34 +++++++++++++++++++--------------- - 1 file changed, 19 insertions(+), 15 deletions(-) - -diff --git a/libavfilter/af_afwtdn.c b/libavfilter/af_afwtdn.c -index 0fcfa77..63b7f5f 100644 ---- a/libavfilter/af_afwtdn.c -+++ b/libavfilter/af_afwtdn.c -@@ -408,6 +408,7 @@ typedef struct AudioFWTDNContext { - - uint64_t sn; - int64_t eof_pts; -+ int eof; - - int wavelet_type; - int channels; -@@ -1069,7 +1070,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) - s->drop_samples = 0; - } else { - if (s->padd_samples < 0 && eof) { -- out->nb_samples += s->padd_samples; -+ out->nb_samples = FFMAX(0, out->nb_samples + s->padd_samples); - s->padd_samples = 0; - } - if (!eof) -@@ -1208,23 +1209,26 @@ static int activate(AVFilterContext *ctx) - - FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink); - -- ret = ff_inlink_consume_samples(inlink, s->nb_samples, s->nb_samples, &in); -- if (ret < 0) -- return ret; -- if (ret > 0) -- return filter_frame(inlink, in); -+ if (!s->eof) { -+ ret = ff_inlink_consume_samples(inlink, s->nb_samples, s->nb_samples, &in); -+ if (ret < 0) -+ return ret; -+ if (ret > 0) -+ return filter_frame(inlink, in); -+ } - - if (ff_inlink_acknowledge_status(inlink, &status, &pts)) { -- if (status == AVERROR_EOF) { -- while (s->padd_samples != 0) { -- ret = filter_frame(inlink, NULL); -- if (ret < 0) -- return ret; -- } -- ff_outlink_set_status(outlink, status, pts); -- return ret; -- } -+ if (status == AVERROR_EOF) -+ s->eof = 1; - } -+ -+ if (s->eof && s->padd_samples != 0) { -+ return filter_frame(inlink, NULL); -+ } else if (s->eof) { -+ ff_outlink_set_status(outlink, AVERROR_EOF, s->eof_pts); -+ return 0; -+ } -+ - FF_FILTER_FORWARD_WANTED(outlink, inlink); - - return FFERROR_NOT_READY; --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50008.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50008.patch deleted file mode 100644 index 4b8935628f..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2023-50008.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5f87a68cf70dafeab2fb89b42e41a4c29053b89b Mon Sep 17 00:00:00 2001 -From: Paul B Mahol -Date: Mon, 27 Nov 2023 12:08:20 +0100 -Subject: [PATCH] avfilter/vf_colorcorrect: fix memory leaks - -CVE: CVE-2023-50008 - -Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/5f87a68cf70dafeab2fb89b42e41a4c29053b89b] - -Signed-off-by: Archana Polampalli ---- - libavfilter/vf_colorcorrect.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libavfilter/vf_colorcorrect.c b/libavfilter/vf_colorcorrect.c -index 1c4dea5..6bdec2c 100644 ---- a/libavfilter/vf_colorcorrect.c -+++ b/libavfilter/vf_colorcorrect.c -@@ -497,6 +497,8 @@ static av_cold void uninit(AVFilterContext *ctx) - ColorCorrectContext *s = ctx->priv; - - av_freep(&s->analyzeret); -+ av_freep(&s->uhistogram); -+ av_freep(&s->vhistogram); - } - - static const AVFilterPad colorcorrect_inputs[] = { --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31578.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31578.patch deleted file mode 100644 index f8e7e1283b..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31578.patch +++ /dev/null @@ -1,49 +0,0 @@ -From edeeb35cecb5bc0d433b14dd0e544ae826b7ece5 Mon Sep 17 00:00:00 2001 -From: Zhao Zhili -Date: Tue, 20 Feb 2024 20:08:55 +0800 -Subject: [PATCH] avutil/hwcontext: Don't assume frames_uninit is reentrant - -Fix heap use after free when vulkan_frames_init failed. - -Signed-off-by: Zhao Zhili - -CVE: CVE-2024-31578 - -Upstream-Status: Backport [https://github.com/ffmpeg/ffmpeg/commit/3bb00c0a420c3ce83] - -Signed-off-by: Archana Polampalli ---- - libavutil/hwcontext.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c -index 3650d46..0ef3479 100644 ---- a/libavutil/hwcontext.c -+++ b/libavutil/hwcontext.c -@@ -363,7 +363,7 @@ int av_hwframe_ctx_init(AVBufferRef *ref) - if (ctx->internal->hw_type->frames_init) { - ret = ctx->internal->hw_type->frames_init(ctx); - if (ret < 0) -- goto fail; -+ return ret; - } - - if (ctx->internal->pool_internal && !ctx->pool) -@@ -373,14 +373,10 @@ int av_hwframe_ctx_init(AVBufferRef *ref) - if (ctx->initial_pool_size > 0) { - ret = hwframe_pool_prealloc(ref); - if (ret < 0) -- goto fail; -+ return ret; - } - - return 0; --fail: -- if (ctx->internal->hw_type->frames_uninit) -- ctx->internal->hw_type->frames_uninit(ctx); -- return ret; - } - - int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ref, --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31582.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31582.patch deleted file mode 100644 index 2ade3ab6b1..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-31582.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1d1a05b393ece9fa3df825bfef3724b7370aefdc Mon Sep 17 00:00:00 2001 -From: Zhao Zhili -Date: Fri, 29 Dec 2023 05:56:43 +0800 -Subject: [PATCH] avfilter/vf_codecview: fix heap buffer overflow - -And improve the performance by a little bit. - -Signed-off-by: Zhao Zhili - -CVE: CVE-2024-31582 - -Upstream-Status: Backport [https://github.com/ffmpeg/ffmpeg/commit/99debe5f823f45a482e1dc08de35879aa9c74bd2] - -Signed-off-by: Archana Polampalli ---- - libavfilter/vf_codecview.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/libavfilter/vf_codecview.c b/libavfilter/vf_codecview.c -index 55d9c8c..f65ccbd 100644 ---- a/libavfilter/vf_codecview.c -+++ b/libavfilter/vf_codecview.c -@@ -216,9 +216,6 @@ static void draw_block_rectangle(uint8_t *buf, int sx, int sy, int w, int h, ptr - buf[sx + w - 1] = color; - buf += stride; - } -- -- for (int x = sx; x < sx + w; x++) -- buf[x] = color; - } - - static int filter_frame(AVFilterLink *inlink, AVFrame *frame) --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35367.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35367.patch deleted file mode 100644 index a1bec43c66..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35367.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 09e6840cf7a3ee07a73c3ae88a020bf27ca1a667 Mon Sep 17 00:00:00 2001 -From: Andreas Rheinhardt -Date: Wed, 13 Mar 2024 02:10:26 +0100 -Subject: [PATCH] avcodec/ppc/vp8dsp_altivec: Fix out-of-bounds access - -h_subpel_filters_inner[i] and h_subpel_filters_outer[i / 2] -belong together and the former allows the range 0..6, -so the latter needs to support 0..3. But it has only three -elements. Add another one. -The value for the last element has been guesstimated -from subpel_filters in libavcodec/vp8dsp.c. - -This is also intended to fix FATE-failures with UBSan here: -https://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu - -Tested-by: Sean McGovern -Signed-off-by: Andreas Rheinhardt - -CVE: CVE-2024-35367 - -Upstream-Status: Backport [https://github.com/ffmpeg/ffmpeg/commit/09e6840cf7a3ee07a73c3ae88a020bf27ca1a667] - -Signed-off-by: Archana Polampalli ---- - libavcodec/ppc/vp8dsp_altivec.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libavcodec/ppc/vp8dsp_altivec.c b/libavcodec/ppc/vp8dsp_altivec.c -index 12dac8b..061914f 100644 ---- a/libavcodec/ppc/vp8dsp_altivec.c -+++ b/libavcodec/ppc/vp8dsp_altivec.c -@@ -50,11 +50,12 @@ static const vec_s8 h_subpel_filters_inner[7] = - // for 6tap filters, these are the outer two taps - // The zeros mask off pixels 4-7 when filtering 0-3 - // and vice-versa --static const vec_s8 h_subpel_filters_outer[3] = -+static const vec_s8 h_subpel_filters_outer[4] = - { - REPT4(0, 0, 2, 1), - REPT4(0, 0, 3, 3), - REPT4(0, 0, 1, 2), -+ REPT4(0, 0, 0, 0), - }; - - #define LOAD_H_SUBPEL_FILTER(i) \ --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35368.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35368.patch deleted file mode 100644 index 7b802762eb..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-35368.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4513300989502090c4fd6560544dce399a8cd53c Mon Sep 17 00:00:00 2001 -From: Andreas Rheinhardt -Date: Sun, 24 Sep 2023 13:15:48 +0200 -Subject: [PATCH] avcodec/rkmppdec: Fix double-free on error - -After having created the AVBuffer that is put into frame->buf[0], -ownership of several objects (namely an AVDRMFrameDescriptor, -an MppFrame and some AVBufferRefs framecontextref and decoder_ref) -has passed to the AVBuffer and therefore to the frame. -Yet it has nevertheless been freed manually on error -afterwards, which would lead to a double-free as soon -as the AVFrame is unreferenced. - -Signed-off-by: Andreas Rheinhardt - -CVE: CVE-2024-35368 - -Upstream-Status: Backport [https://github.com/ffmpeg/ffmpeg/commit/4513300989502090c4fd6560544dce399a8cd53c] - -Signed-off-by: Archana Polampalli ---- - libavcodec/rkmppdec.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libavcodec/rkmppdec.c b/libavcodec/rkmppdec.c -index 5768568..2ca368e 100644 ---- a/libavcodec/rkmppdec.c -+++ b/libavcodec/rkmppdec.c -@@ -462,8 +462,8 @@ static int rkmpp_retrieve_frame(AVCodecContext *avctx, AVFrame *frame) - - frame->hw_frames_ctx = av_buffer_ref(decoder->frames_ref); - if (!frame->hw_frames_ctx) { -- ret = AVERROR(ENOMEM); -- goto fail; -+ av_frame_unref(frame); -+ return AVERROR(ENOMEM); - } - - return 0; --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-0518.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-0518.patch deleted file mode 100644 index d3e02bebe6..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-0518.patch +++ /dev/null @@ -1,34 +0,0 @@ -From b5b6391d64807578ab872dc58fb8aa621dcfc38a Mon Sep 17 00:00:00 2001 -From: Michael Niedermayer -Date: Mon, 6 Jan 2025 22:01:39 +0100 -Subject: [PATCH] avfilter/af_pan: Fix sscanf() use - -Fixes: Memory Data Leak - -Found-by: Simcha Kosman -Signed-off-by: Michael Niedermayer - -CVE: CVE-2025-0518 - -Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/b5b6391d64807578ab872dc58fb8aa621dcfc38a] - -Signed-off-by: Archana Polampalli ---- - libavfilter/af_pan.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavfilter/af_pan.c b/libavfilter/af_pan.c -index cfed9f1..ffcd214 100644 ---- a/libavfilter/af_pan.c -+++ b/libavfilter/af_pan.c -@@ -165,7 +165,7 @@ static av_cold int init(AVFilterContext *ctx) - sign = 1; - while (1) { - gain = 1; -- if (sscanf(arg, "%lf%n *%n", &gain, &len, &len)) -+ if (sscanf(arg, "%lf%n *%n", &gain, &len, &len) >= 1) - arg += len; - if (parse_channel_name(&arg, &in_ch_id, &named)){ - av_log(ctx, AV_LOG_ERROR, --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22919.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22919.patch deleted file mode 100644 index f895576de3..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22919.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1446e37d3d032e1452844778b3e6ba2c20f0c322 Mon Sep 17 00:00:00 2001 -From: James Almer -Date: Mon, 30 Dec 2024 00:25:41 -0300 -Subject: [PATCH] avfilter/buffersrc: check for valid sample rate - -A sample rate <= 0 is invalid. - -Fixes an assert in ffmpeg_enc.c that assumed a valid sample rate would be set. -Fixes ticket #11385. - -Signed-off-by: James Almer - -CVE: CVE-2025-22919 - -Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/1446e37d3d032e1452844778b3e6ba2c20f0c322] - -Signed-off-by: Archana Polampalli ---- - libavfilter/buffersrc.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c -index 453fc0f..f49aa91 100644 ---- a/libavfilter/buffersrc.c -+++ b/libavfilter/buffersrc.c -@@ -401,6 +401,11 @@ FF_ENABLE_DEPRECATION_WARNINGS - av_channel_layout_describe(&s->ch_layout, buf, sizeof(buf)); - } - -+ if (s->sample_rate <= 0) { -+ av_log(ctx, AV_LOG_ERROR, "Sample rate not set\n"); -+ return AVERROR(EINVAL); -+ } -+ - if (!s->time_base.num) - s->time_base = (AVRational){1, s->sample_rate}; - --- -2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb similarity index 95% rename from meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.2.bb rename to meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb index a789980dde..c0112757f0 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb @@ -27,26 +27,16 @@ SRC_URI = " \ file://av1_ordering_info.patch \ file://vulkan_av1_stable_API.patch \ file://vulkan_fix_gcc14.patch \ - file://CVE-2023-49502.patch \ - file://CVE-2024-31578.patch \ - file://CVE-2024-31582.patch \ - file://CVE-2023-50008.patch \ - file://CVE-2023-49501.patch \ file://CVE-2024-28661.patch \ - file://CVE-2023-50007.patch \ file://CVE-2023-49528.patch \ - file://CVE-2024-35367.patch \ - file://CVE-2024-35368.patch \ file://CVE-2024-35365.patch \ file://CVE-2024-36618.patch \ file://CVE-2024-35369.patch \ file://CVE-2025-25473.patch \ - file://CVE-2025-22919.patch \ file://CVE-2025-22921.patch \ - file://CVE-2025-0518.patch \ " -SRC_URI[sha256sum] = "3b624649725ecdc565c903ca6643d41f33bd49239922e45c9b1442c63dca4e38" +SRC_URI[sha256sum] = "bc5f1e4a4d283a6492354684ee1124129c52293bcfc6a9169193539fbece3487" # https://nvd.nist.gov/vuln/detail/CVE-2023-39018 # https://github.com/bramp/ffmpeg-cli-wrapper/issues/291 From patchwork Wed Aug 27 21:29:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69212 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37CBDCA0EFF for ; Wed, 27 Aug 2025 21:29:59 +0000 (UTC) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mx.groups.io with SMTP id smtpd.web10.6592.1756330196681439893 for ; Wed, 27 Aug 2025 14:29:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=WXwxtB+E; spf=softfail (domain: sakoman.com, ip: 209.85.216.53, mailfrom: steve@sakoman.com) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-3256986ca60so329342a91.1 for ; Wed, 27 Aug 2025 14:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330196; x=1756934996; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=4GPhHYSk804inPQj14PxLXhTaFKRcNoL+Wp55BzPH5E=; b=WXwxtB+EAjAwuANrxiOt97DLyeIQutLGWDTs0JL6X1MuH2SmNa3tG/Iznxygwu19Gy j7hnLIngHfY4D6NuYXleG91RrXWDdhSXsJRH0iz4QCdbfrr4M1sW6KwJwojZNstjDYBh p2812p9eQYH9B9JB+umUd3WNMBYfPni0XVufYaFjW+kKzKSQxpdrs7zS528r7cCxWeCk neMwSbfTMqklANFPIOI5WGuGdvHKjpeREZ6tHOtX/9iYV+S16WR1jhFsFFDoc6TKeFRL CD3fYHEoJh8OMXvAa9P+TEGlPZsIUpgClv58gwH3i7oVUJT3QnkISgp5ceCeDwb0kA2q s4PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330196; x=1756934996; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4GPhHYSk804inPQj14PxLXhTaFKRcNoL+Wp55BzPH5E=; b=awHfaJkdwCTeM+iI9+zWpGkjRsmMKGSOSyQDkft4/NLXD7wqThts9mpQAlncYGy/Wc P30BnwFpLGaLLsWOuSB9rmTqALHkpNH94ntWY4tPSHZl8HlPJBY7v/UJsKNAmh9huj5K nIegJNuztG3Uh39KG8OsS8kieZCYV6IFFRBuLyy4uf9InY914GT0fHrAn33nNEvBtrud eEqKHSvekeyyIYib38uNHhMyQ4DREajqD6726dCq67iOlDOw9SlZE8AUasuesobEEOSU LTmLn02wiSG/I6p5gAZ89lB3FCnwxdqbEAj+zyGLOIIQ9YDo2Vn3QXgOn3CZXj1EG2iJ W0LQ== X-Gm-Message-State: AOJu0Yw5Le6gdG4Y/prIsG2Orc6P+sPjYKOeQoaiplK+vMkhQLjeCDV5 JuUfFrtSFgYsFNG6RlD5mhS/eWCnal8O9hI6kpAQUf2EyAghZMyWWM18N2ddppVdbfX2gumdfh9 k1/AP X-Gm-Gg: ASbGncsa00sgEW1S9WGDr9ei+sae8EqlsxY24TVba+micMEQ8PSL4t/2AFm60LkfMMd lglNM7hvne8zB+zdwtS2Xf1DKhyPLXA9yx0HURDnKpRs+uCFJIuTjtUG6QbVdIEKiGPgpTJ7q8x pGnwoNsEsyadd88PgKOFcL6jSQO586aEMbe0tUKyGYFNeOoUowWYVdDMlOX6qQol4YfnmNL0dW6 xFRcx3lUF9HBW59PCLyzV/GxtLefV59UKFCzrOYTTwfCik7JtRU2OBTK8wPj4osq0qlngwTaEU3 z08WSwvxcuG2GlaSKIJjVkIKa0U1PgEP+EGHzOHMp3u/8y/GGe9JriJjTjL3B2V6yPcRZkV1l6/ HUl4Yh1EwuyBlZA== X-Google-Smtp-Source: AGHT+IHej/IwPwLBv6HcWDnugvnR45628TUToAq35YlB/u95Hc+m5M+WkAvfHUgzyzS/IiJYx/Ep0A== X-Received: by 2002:a17:90b:4c81:b0:31f:210d:2e56 with SMTP id 98e67ed59e1d1-32515ec8d19mr23490025a91.28.1756330195901; Wed, 27 Aug 2025 14:29:55 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.29.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:29:55 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 04/33] ffmpeg: fix CVE-2025-1594 Date: Wed, 27 Aug 2025 14:29:11 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:29:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222512 From: Archana Polampalli A vulnerability, which was classified as critical, was found in FFmpeg up to 7.1. This affects the function ff_aac_search_for_tns of the file libavcodec/aacenc_tns.c of the component AAC Encoder. The manipulation leads to stack-based buffer overflow. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used. Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- .../ffmpeg/ffmpeg/CVE-2025-1594.patch | 105 ++++++++++++++++++ .../recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb | 1 + 2 files changed, 106 insertions(+) create mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-1594.patch diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-1594.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-1594.patch new file mode 100644 index 0000000000..af71055c02 --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-1594.patch @@ -0,0 +1,105 @@ +From bedfb6eca402037f5cbb115fa767d106b8c14f1c Mon Sep 17 00:00:00 2001 +From: Lynne +Date: Sat, 8 Feb 2025 04:35:31 +0100 +Subject: [PATCH] aacenc_tns: clamp filter direction energy measurement + +The issue is that: + +float en[2]; +... +tns->n_filt[w] = is8 ? 1 : order != TNS_MAX_ORDER ? 2 : 3; +for (g = 0; g < tns->n_filt[w]; g++) { + tns->direction[w][g] = slant != 2 ? slant : en[g] < en[!g]; + +When using the AAC Main profile, n_filt = 3, and slant is by +default 2 (normal long frames), g can go above 1. + +en is the evolution of energy in the frequency domain for every +band at the given window. E.g. whether the energy is concentrated +at the top of each band, or the bottom. + +For 2-pole filters, its straightforward. +For 3-pole filters, we need more than 2 measurements. + +This commit properly implements support for 3-pole filters, by measuring +the band energy across three areas. + +Do note that even xHE-AAC caps n_filt to 2, and only AAC Main allows +n_filt == 3. + +Fixes https://trac.ffmpeg.org/ticket/11418 + +CVE: CVE-2025-1594 + +Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/bedfb6eca402037f5cbb115fa767d106b8c14f1c] + +Signed-off-by: Archana Polampalli +--- + libavcodec/aacenc_tns.c | 33 ++++++++++++++++++++++++--------- + 1 file changed, 24 insertions(+), 9 deletions(-) + +diff --git a/libavcodec/aacenc_tns.c b/libavcodec/aacenc_tns.c +index 8dc6dfc..9ea3506 100644 +--- a/libavcodec/aacenc_tns.c ++++ b/libavcodec/aacenc_tns.c +@@ -172,6 +172,7 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce) + sce->ics.window_sequence[0] == LONG_START_SEQUENCE ? 0 : 2; + const int sfb_len = sfb_end - sfb_start; + const int coef_len = sce->ics.swb_offset[sfb_end] - sce->ics.swb_offset[sfb_start]; ++ const int n_filt = is8 ? 1 : order != TNS_MAX_ORDER ? 2 : 3; + + if (coef_len <= 0 || sfb_len <= 0) { + sce->tns.present = 0; +@@ -179,16 +180,30 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce) + } + + for (w = 0; w < sce->ics.num_windows; w++) { +- float en[2] = {0.0f, 0.0f}; ++ float en[4] = {0.0f, 0.0f, 0.0f, 0.0f}; + int oc_start = 0, os_start = 0; + int coef_start = sce->ics.swb_offset[sfb_start]; + +- for (g = sfb_start; g < sce->ics.num_swb && g <= sfb_end; g++) { +- FFPsyBand *band = &s->psy.ch[s->cur_channel].psy_bands[w*16+g]; +- if (g > sfb_start + (sfb_len/2)) +- en[1] += band->energy; +- else +- en[0] += band->energy; ++ if (n_filt == 2) { ++ for (g = sfb_start; g < sce->ics.num_swb && g <= sfb_end; g++) { ++ FFPsyBand *band = &s->psy.ch[s->cur_channel].psy_bands[w*16+g]; ++ if (g > sfb_start + (sfb_len/2)) ++ en[1] += band->energy; /* End */ ++ else ++ en[0] += band->energy; /* Start */ ++ } ++ en[2] = en[0]; ++ } else { ++ for (g = sfb_start; g < sce->ics.num_swb && g <= sfb_end; g++) { ++ FFPsyBand *band = &s->psy.ch[s->cur_channel].psy_bands[w*16+g]; ++ if (g > sfb_start + (sfb_len/2) + (sfb_len/4)) ++ en[2] += band->energy; /* End */ ++ else if (g > sfb_start + (sfb_len/2) - (sfb_len/4)) ++ en[1] += band->energy; /* Middle */ ++ else ++ en[0] += band->energy; /* Start */ ++ } ++ en[3] = en[0]; + } + + /* LPC */ +@@ -198,9 +213,9 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce) + if (!order || !isfinite(gain) || gain < TNS_GAIN_THRESHOLD_LOW || gain > TNS_GAIN_THRESHOLD_HIGH) + continue; + +- tns->n_filt[w] = is8 ? 1 : order != TNS_MAX_ORDER ? 2 : 3; ++ tns->n_filt[w] = n_filt; + for (g = 0; g < tns->n_filt[w]; g++) { +- tns->direction[w][g] = slant != 2 ? slant : en[g] < en[!g]; ++ tns->direction[w][g] = slant != 2 ? slant : en[g] < en[g + 1]; + tns->order[w][g] = g < tns->n_filt[w] ? order/tns->n_filt[w] : order - oc_start; + tns->length[w][g] = g < tns->n_filt[w] ? sfb_len/tns->n_filt[w] : sfb_len - os_start; + quantize_coefs(&coefs[oc_start], tns->coef_idx[w][g], tns->coef[w][g], +-- +2.40.0 + diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb index c0112757f0..dbd0a3f270 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.3.bb @@ -34,6 +34,7 @@ SRC_URI = " \ file://CVE-2024-35369.patch \ file://CVE-2025-25473.patch \ file://CVE-2025-22921.patch \ + file://CVE-2025-1594.patch \ " SRC_URI[sha256sum] = "bc5f1e4a4d283a6492354684ee1124129c52293bcfc6a9169193539fbece3487" From patchwork Wed Aug 27 21:29:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69217 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4ADEECA0FFD for ; Wed, 27 Aug 2025 21:29:59 +0000 (UTC) Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by mx.groups.io with SMTP id smtpd.web10.6593.1756330198875440829 for ; Wed, 27 Aug 2025 14:29:58 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=TMOpu/go; spf=softfail (domain: sakoman.com, ip: 209.85.216.49, mailfrom: steve@sakoman.com) Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-327705d0a9bso316048a91.0 for ; Wed, 27 Aug 2025 14:29:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330198; x=1756934998; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ahzeVbPCah3NaWQ2LGYF4J49q3HqY0R3Tkr2ALTcTRs=; b=TMOpu/goeouDfoKBlXZ+PjkMMn8lAxjOaA6y5jGBcs4LUNe9KQPGv6vnFaqRbcc8np ghw/u9k9+EwD9SHZYzAQGhJEEdwiY9SZRPt6zlN40eMcjSrzvmCDN5K3ewHsLXahgpFb WpjD+oXo8HN+ffbWo1upH6EhLrL2W+9Qt5DxTSNz66Y3aiTJPV8VSJxzILn6aWCUbxO2 ngMpOAoIsg+AFdFGpHIhQu2hiktRnXQfdhHgmOGBIvCeLzQ4xzpVwTF/UU1j+es3e/m0 AM9cNbLU7WCR+d4pwfHozCDxHWqbi4V90bz95jRCz4RonBq5Sl+y3yMml1egE2USY+N6 JMmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330198; x=1756934998; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ahzeVbPCah3NaWQ2LGYF4J49q3HqY0R3Tkr2ALTcTRs=; b=jD/uCM5K9OOp4Ta2Mkwcy42qGJRE72zDh7T46Io9o3UafcY102gQwD5ivlyv6UvFev fBbV2cCb1JyFdnpa3m4k0aDNcFZbjuWlDMWGXP2nYkF3jj4/a4LAL+wrQ23dhbgrVQRz 6KqfJALjkOxzvoUwj5CIqJCFCO9IQK0ybMfw4/Zr5pGu4b5ri9YAQ2u2/iv4IYNzfg52 4ygOJLMdRDsLId9+ByAmU8XdGYaAfxA91VNjqsh/Z+559d3WmHg/w8JQQ1KPMVIDTay3 fezMJhTvYFK60XWKFbTCOiB7daaqNRAGGvPyjNVyPonrm1O3lWO9AApDjXcF5JiLwDAN 0AiA== X-Gm-Message-State: AOJu0YybV+ieuFEXIxO291KOPOpkxZW26v1gNksJEmUBI4iIty9RDcZk Rhd1p+7cPLc52JZsqDBkphnCvFyulA375wpdLZBTaMtVUtqbFzwFAZL6YWCscqfsiIt5ZNsDa37 EHnre X-Gm-Gg: ASbGncvFZjtSnzp/w+yPWmE2ei8EnLw+GD1Sh9y8OqCpkmgw1BpEVTQh1LE3WiEIktw ZbQzUBDysGjQMoBhvvmFojAWdq8+zrbqFqzN2fLavxNvyZixFnFqN+IRB7xDAFiClqhG3zktPaw FcDTqTBl7GsimMBAUYZ2GgEXnq2yet2o3MJjf/r4UmzRczFwR+8s3sZW5yGNvw5xiRXRAv4Iu4W yiDqJjJYS4GTl3z3HwvIpC0kJorNHS1UVnuajqWbGH7meIUj7EapzkXT0opgSp4iswTKbDOpBb/ xPrgKTqvpSXU0vmLGzJar6LZehNjONjBAD/BjvLiwDnoTTBElSNQ1WmZ/s+Dnhv8S6FoDD3cibf fzPchhCXf0zZaoIrDO7vp6NiP X-Google-Smtp-Source: AGHT+IGOK2n6sEIZyinDU7uBlxVSC5iVHY8cD5vnd3E2tZ0U5DrpJkhlHPh5AVSiJiuM/VzULNlKaA== X-Received: by 2002:a17:90b:2683:b0:325:58f6:1f91 with SMTP id 98e67ed59e1d1-32559056397mr18614589a91.11.1756330197800; Wed, 27 Aug 2025 14:29:57 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.29.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:29:57 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 05/33] go: fix CVE-2025-47907 Date: Wed, 27 Aug 2025 14:29:12 -0700 Message-ID: <22d8ac9884208b8f9b2a69ec6a257c62e1f2f8d2.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:29:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222513 From: Praveen Kumar Cancelling a query (e.g. by cancelling the context passed to one of the query methods) during a call to the Scan method of the returned Rows can result in unexpected results if other queries are being made in parallel. This can result in a race condition that may overwrite the expected results with those of another query, causing the call to Scan to return either unexpected results from the other query or an error. Reference: https://nvd.nist.gov/vuln/detail/CVE-2025-47907 Upstream-patch: https://github.com/golang/go/commit/8a924caaf348fdc366bab906424616b2974ad4e9 Signed-off-by: Praveen Kumar Signed-off-by: Steve Sakoman --- meta/recipes-devtools/go/go-1.22.12.inc | 2 + .../go/go/CVE-2025-47907-pre.patch | 233 +++++++++++++ .../go/go/CVE-2025-47907.patch | 328 ++++++++++++++++++ 3 files changed, 563 insertions(+) create mode 100644 meta/recipes-devtools/go/go/CVE-2025-47907-pre.patch create mode 100644 meta/recipes-devtools/go/go/CVE-2025-47907.patch diff --git a/meta/recipes-devtools/go/go-1.22.12.inc b/meta/recipes-devtools/go/go-1.22.12.inc index 12d7539017..d0ce333117 100644 --- a/meta/recipes-devtools/go/go-1.22.12.inc +++ b/meta/recipes-devtools/go/go-1.22.12.inc @@ -18,6 +18,8 @@ SRC_URI += "\ file://CVE-2025-22871.patch \ file://CVE-2025-4673.patch \ file://CVE-2025-4674.patch \ + file://CVE-2025-47907-pre.patch \ + file://CVE-2025-47907.patch \ " SRC_URI[main.sha256sum] = "012a7e1f37f362c0918c1dfa3334458ac2da1628c4b9cf4d9ca02db986e17d71" diff --git a/meta/recipes-devtools/go/go/CVE-2025-47907-pre.patch b/meta/recipes-devtools/go/go/CVE-2025-47907-pre.patch new file mode 100644 index 0000000000..dafa878e73 --- /dev/null +++ b/meta/recipes-devtools/go/go/CVE-2025-47907-pre.patch @@ -0,0 +1,233 @@ +From c23579f031ecd09bf37c644723b33736dffa8b92 Mon Sep 17 00:00:00 2001 +From: Damien Neil +Date: Tue, 23 Jan 2024 15:59:47 -0800 +Subject: [PATCH 1/2] database/sql: avoid clobbering driver-owned memory in + RawBytes + +Depending on the query, a RawBytes can contain memory owned by the +driver or by database/sql: + +If the driver provides the column as a []byte, +RawBytes aliases that []byte. + +If the driver provides the column as any other type, +RawBytes contains memory allocated by database/sql. +Prior to this CL, Rows.Scan will reuse existing capacity in a +RawBytes to permit a single allocation to be reused across rows. + +When a RawBytes is reused across queries, this can result +in database/sql writing to driver-owned memory. + +Add a buffer to Rows to store RawBytes data, and reuse this +buffer across calls to Rows.Scan. + +Fixes #65201 + +Change-Id: Iac640174c7afa97eeb39496f47dec202501b2483 +Reviewed-on: https://go-review.googlesource.com/c/go/+/557917 +Reviewed-by: Brad Fitzpatrick +Reviewed-by: Roland Shoemaker +LUCI-TryBot-Result: Go LUCI + +CVE: CVE-2025-47907 + +Upstream-Status: Backport [https://github.com/golang/go/commit/c23579f031ecd09bf37c644723b33736dffa8b92] + +Signed-off-by: Praveen Kumar +--- + src/database/sql/convert.go | 8 +++--- + src/database/sql/convert_test.go | 12 ++++++-- + src/database/sql/sql.go | 34 +++++++++++++++++++++++ + src/database/sql/sql_test.go | 47 ++++++++++++++++++++++++++++++++ + 4 files changed, 94 insertions(+), 7 deletions(-) + +diff --git a/src/database/sql/convert.go b/src/database/sql/convert.go +index cca5d15..999b8f1 100644 +--- a/src/database/sql/convert.go ++++ b/src/database/sql/convert.go +@@ -237,7 +237,7 @@ func convertAssignRows(dest, src any, rows *Rows) error { + if d == nil { + return errNilPtr + } +- *d = append((*d)[:0], s...) ++ *d = rows.setrawbuf(append(rows.rawbuf(), s...)) + return nil + } + case []byte: +@@ -285,7 +285,7 @@ func convertAssignRows(dest, src any, rows *Rows) error { + if d == nil { + return errNilPtr + } +- *d = s.AppendFormat((*d)[:0], time.RFC3339Nano) ++ *d = rows.setrawbuf(s.AppendFormat(rows.rawbuf(), time.RFC3339Nano)) + return nil + } + case decimalDecompose: +@@ -366,8 +366,8 @@ func convertAssignRows(dest, src any, rows *Rows) error { + } + case *RawBytes: + sv = reflect.ValueOf(src) +- if b, ok := asBytes([]byte(*d)[:0], sv); ok { +- *d = RawBytes(b) ++ if b, ok := asBytes(rows.rawbuf(), sv); ok { ++ *d = rows.setrawbuf(b) + return nil + } + case *bool: +diff --git a/src/database/sql/convert_test.go b/src/database/sql/convert_test.go +index 6d09fa1..f94db8e 100644 +--- a/src/database/sql/convert_test.go ++++ b/src/database/sql/convert_test.go +@@ -354,9 +354,10 @@ func TestRawBytesAllocs(t *testing.T) { + {"time", time.Unix(2, 5).UTC(), "1970-01-01T00:00:02.000000005Z"}, + } + +- buf := make(RawBytes, 10) ++ var buf RawBytes ++ rows := &Rows{} + test := func(name string, in any, want string) { +- if err := convertAssign(&buf, in); err != nil { ++ if err := convertAssignRows(&buf, in, rows); err != nil { + t.Fatalf("%s: convertAssign = %v", name, err) + } + match := len(buf) == len(want) +@@ -375,6 +376,7 @@ func TestRawBytesAllocs(t *testing.T) { + + n := testing.AllocsPerRun(100, func() { + for _, tt := range tests { ++ rows.raw = rows.raw[:0] + test(tt.name, tt.in, tt.want) + } + }) +@@ -383,7 +385,11 @@ func TestRawBytesAllocs(t *testing.T) { + // and gc. With 32-bit words there are more convT2E allocs, and + // with gccgo, only pointers currently go in interface data. + // So only care on amd64 gc for now. +- measureAllocs := runtime.GOARCH == "amd64" && runtime.Compiler == "gc" ++ measureAllocs := false ++ switch runtime.GOARCH { ++ case "amd64", "arm64": ++ measureAllocs = runtime.Compiler == "gc" ++ } + + if n > 0.5 && measureAllocs { + t.Fatalf("allocs = %v; want 0", n) +diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go +index 4f1197d..da0f52c 100644 +--- a/src/database/sql/sql.go ++++ b/src/database/sql/sql.go +@@ -2936,6 +2936,13 @@ type Rows struct { + // not to be called concurrently. + lastcols []driver.Value + ++ // raw is a buffer for RawBytes that persists between Scan calls. ++ // This is used when the driver returns a mismatched type that requires ++ // a cloning allocation. For example, if the driver returns a *string and ++ // the user is scanning into a *RawBytes, we need to copy the string. ++ // The raw buffer here lets us reuse the memory for that copy across Scan calls. ++ raw []byte ++ + // closemuScanHold is whether the previous call to Scan kept closemu RLock'ed + // without unlocking it. It does that when the user passes a *RawBytes scan + // target. In that case, we need to prevent awaitDone from closing the Rows +@@ -3130,6 +3137,32 @@ func (rs *Rows) Err() error { + return rs.lasterrOrErrLocked(nil) + } + ++// rawbuf returns the buffer to append RawBytes values to. ++// This buffer is reused across calls to Rows.Scan. ++// ++// Usage: ++// ++// rawBytes = rows.setrawbuf(append(rows.rawbuf(), value...)) ++func (rs *Rows) rawbuf() []byte { ++ if rs == nil { ++ // convertAssignRows can take a nil *Rows; for simplicity handle it here ++ return nil ++ } ++ return rs.raw ++} ++ ++// setrawbuf updates the RawBytes buffer with the result of appending a new value to it. ++// It returns the new value. ++func (rs *Rows) setrawbuf(b []byte) RawBytes { ++ if rs == nil { ++ // convertAssignRows can take a nil *Rows; for simplicity handle it here ++ return RawBytes(b) ++ } ++ off := len(rs.raw) ++ rs.raw = b ++ return RawBytes(rs.raw[off:]) ++} ++ + var errRowsClosed = errors.New("sql: Rows are closed") + var errNoRows = errors.New("sql: no Rows available") + +@@ -3337,6 +3370,7 @@ func (rs *Rows) Scan(dest ...any) error { + + if scanArgsContainRawBytes(dest) { + rs.closemuScanHold = true ++ rs.raw = rs.raw[:0] + } else { + rs.closemu.RUnlock() + } +diff --git a/src/database/sql/sql_test.go b/src/database/sql/sql_test.go +index c38a348..c3b4822 100644 +--- a/src/database/sql/sql_test.go ++++ b/src/database/sql/sql_test.go +@@ -4531,6 +4531,53 @@ func TestNilErrorAfterClose(t *testing.T) { + } + } + ++// Issue #65201. ++// ++// If a RawBytes is reused across multiple queries, ++// subsequent queries shouldn't overwrite driver-owned memory from previous queries. ++func TestRawBytesReuse(t *testing.T) { ++ db := newTestDB(t, "people") ++ defer closeDB(t, db) ++ ++ if _, err := db.Exec("USE_RAWBYTES"); err != nil { ++ t.Fatal(err) ++ } ++ ++ var raw RawBytes ++ ++ // The RawBytes in this query aliases driver-owned memory. ++ rows, err := db.Query("SELECT|people|name|") ++ if err != nil { ++ t.Fatal(err) ++ } ++ rows.Next() ++ rows.Scan(&raw) // now raw is pointing to driver-owned memory ++ name1 := string(raw) ++ rows.Close() ++ ++ // The RawBytes in this query does not alias driver-owned memory. ++ rows, err = db.Query("SELECT|people|age|") ++ if err != nil { ++ t.Fatal(err) ++ } ++ rows.Next() ++ rows.Scan(&raw) // this must not write to the driver-owned memory in raw ++ rows.Close() ++ ++ // Repeat the first query. Nothing should have changed. ++ rows, err = db.Query("SELECT|people|name|") ++ if err != nil { ++ t.Fatal(err) ++ } ++ rows.Next() ++ rows.Scan(&raw) // raw points to driver-owned memory again ++ name2 := string(raw) ++ rows.Close() ++ if name1 != name2 { ++ t.Fatalf("Scan read name %q, want %q", name2, name1) ++ } ++} ++ + // badConn implements a bad driver.Conn, for TestBadDriver. + // The Exec method panics. + type badConn struct{} +-- +2.40.0 diff --git a/meta/recipes-devtools/go/go/CVE-2025-47907.patch b/meta/recipes-devtools/go/go/CVE-2025-47907.patch new file mode 100644 index 0000000000..a556c3dd68 --- /dev/null +++ b/meta/recipes-devtools/go/go/CVE-2025-47907.patch @@ -0,0 +1,328 @@ +From 8a924caaf348fdc366bab906424616b2974ad4e9 Mon Sep 17 00:00:00 2001 +From: Damien Neil +Date: Wed, 23 Jul 2025 14:26:54 -0700 +Subject: [PATCH 2/2] database/sql: avoid closing Rows while scan is in + progress + +A database/sql/driver.Rows can return database-owned data +from Rows.Next. The driver.Rows documentation doesn't explicitly +document the lifetime guarantees for this data, but a reasonable +expectation is that the caller of Next should only access it +until the next call to Rows.Close or Rows.Next. + +Avoid violating that constraint when a query is cancelled while +a call to database/sql.Rows.Scan (note the difference between +the two different Rows types!) is in progress. We previously +took care to avoid closing a driver.Rows while the user has +access to driver-owned memory via a RawData, but we could still +close a driver.Rows while a Scan call was in the process of +reading previously-returned driver-owned data. + +Update the fake DB used in database/sql tests to invalidate +returned data to help catch other places we might be +incorrectly retaining it. + +Updates #74831 +Fixes #74832 + +Change-Id: Ice45b5fad51b679c38e3e1d21ef39156b56d6037 +Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2540 +Reviewed-by: Roland Shoemaker +Reviewed-by: Neal Patel +Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2601 +Reviewed-on: https://go-review.googlesource.com/c/go/+/693558 +TryBot-Bypass: Dmitri Shuralyov +Reviewed-by: Mark Freeman +Reviewed-by: Dmitri Shuralyov +Auto-Submit: Dmitri Shuralyov + +CVE: CVE-2025-47907 + +Upstream-Status: Backport [https://github.com/golang/go/commit/8a924caaf348fdc366bab906424616b2974ad4e9] + +Signed-off-by: Praveen Kumar +--- + src/database/sql/convert.go | 2 -- + src/database/sql/fakedb_test.go | 47 ++++++++++++-------------- + src/database/sql/sql.go | 26 ++++++-------- + src/database/sql/sql_test.go | 60 ++++++++++++++++++++++++++++++--- + 4 files changed, 89 insertions(+), 46 deletions(-) + +diff --git a/src/database/sql/convert.go b/src/database/sql/convert.go +index 999b8f1..2869a3b 100644 +--- a/src/database/sql/convert.go ++++ b/src/database/sql/convert.go +@@ -324,7 +324,6 @@ func convertAssignRows(dest, src any, rows *Rows) error { + if rows == nil { + return errors.New("invalid context to convert cursor rows, missing parent *Rows") + } +- rows.closemu.Lock() + *d = Rows{ + dc: rows.dc, + releaseConn: func(error) {}, +@@ -340,7 +339,6 @@ func convertAssignRows(dest, src any, rows *Rows) error { + parentCancel() + } + } +- rows.closemu.Unlock() + return nil + } + } +diff --git a/src/database/sql/fakedb_test.go b/src/database/sql/fakedb_test.go +index c6c3172..95c0fa3 100644 +--- a/src/database/sql/fakedb_test.go ++++ b/src/database/sql/fakedb_test.go +@@ -5,6 +5,7 @@ + package sql + + import ( ++ "bytes" + "context" + "database/sql/driver" + "errors" +@@ -15,7 +16,6 @@ import ( + "strconv" + "strings" + "sync" +- "sync/atomic" + "testing" + "time" + ) +@@ -91,8 +91,6 @@ func (cc *fakeDriverCtx) OpenConnector(name string) (driver.Connector, error) { + type fakeDB struct { + name string + +- useRawBytes atomic.Bool +- + mu sync.Mutex + tables map[string]*table + badConn bool +@@ -700,8 +698,6 @@ func (c *fakeConn) PrepareContext(ctx context.Context, query string) (driver.Stm + switch cmd { + case "WIPE": + // Nothing +- case "USE_RAWBYTES": +- c.db.useRawBytes.Store(true) + case "SELECT": + stmt, err = c.prepareSelect(stmt, parts) + case "CREATE": +@@ -805,9 +801,6 @@ func (s *fakeStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (d + case "WIPE": + db.wipe() + return driver.ResultNoRows, nil +- case "USE_RAWBYTES": +- s.c.db.useRawBytes.Store(true) +- return driver.ResultNoRows, nil + case "CREATE": + if err := db.createTable(s.table, s.colName, s.colType); err != nil { + return nil, err +@@ -1090,10 +1083,9 @@ type rowsCursor struct { + errPos int + err error + +- // a clone of slices to give out to clients, indexed by the +- // original slice's first byte address. we clone them +- // just so we're able to corrupt them on close. +- bytesClone map[*byte][]byte ++ // Data returned to clients. ++ // We clone and stash it here so it can be invalidated by Close and Next. ++ driverOwnedMemory [][]byte + + // Every operation writes to line to enable the race detector + // check for data races. +@@ -1110,9 +1102,19 @@ func (rc *rowsCursor) touchMem() { + rc.line++ + } + ++func (rc *rowsCursor) invalidateDriverOwnedMemory() { ++ for _, buf := range rc.driverOwnedMemory { ++ for i := range buf { ++ buf[i] = 'x' ++ } ++ } ++ rc.driverOwnedMemory = nil ++} ++ + func (rc *rowsCursor) Close() error { + rc.touchMem() + rc.parentMem.touchMem() ++ rc.invalidateDriverOwnedMemory() + rc.closed = true + return rc.closeErr + } +@@ -1143,6 +1145,8 @@ func (rc *rowsCursor) Next(dest []driver.Value) error { + if rc.posRow >= len(rc.rows[rc.posSet]) { + return io.EOF // per interface spec + } ++ // Corrupt any previously returned bytes. ++ rc.invalidateDriverOwnedMemory() + for i, v := range rc.rows[rc.posSet][rc.posRow].cols { + // TODO(bradfitz): convert to subset types? naah, I + // think the subset types should only be input to +@@ -1150,20 +1154,13 @@ func (rc *rowsCursor) Next(dest []driver.Value) error { + // a wider range of types coming out of drivers. all + // for ease of drivers, and to prevent drivers from + // messing up conversions or doing them differently. +- dest[i] = v +- +- if bs, ok := v.([]byte); ok && !rc.db.useRawBytes.Load() { +- if rc.bytesClone == nil { +- rc.bytesClone = make(map[*byte][]byte) +- } +- clone, ok := rc.bytesClone[&bs[0]] +- if !ok { +- clone = make([]byte, len(bs)) +- copy(clone, bs) +- rc.bytesClone[&bs[0]] = clone +- } +- dest[i] = clone ++ if bs, ok := v.([]byte); ok { ++ // Clone []bytes and stash for later invalidation. ++ bs = bytes.Clone(bs) ++ rc.driverOwnedMemory = append(rc.driverOwnedMemory, bs) ++ v = bs + } ++ dest[i] = v + } + return nil + } +diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go +index da0f52c..41130d9 100644 +--- a/src/database/sql/sql.go ++++ b/src/database/sql/sql.go +@@ -3357,37 +3357,33 @@ func (rs *Rows) Scan(dest ...any) error { + return fmt.Errorf("sql: Scan called without calling Next (closemuScanHold)") + } + rs.closemu.RLock() +- +- if rs.lasterr != nil && rs.lasterr != io.EOF { ++ rs.raw = rs.raw[:0] ++ err := rs.scanLocked(dest...) ++ if err == nil && scanArgsContainRawBytes(dest) { ++ rs.closemuScanHold = true ++ } else { + rs.closemu.RUnlock() ++ } ++ return err ++} ++func (rs *Rows) scanLocked(dest ...any) error { ++ if rs.lasterr != nil && rs.lasterr != io.EOF { + return rs.lasterr + } + if rs.closed { +- err := rs.lasterrOrErrLocked(errRowsClosed) +- rs.closemu.RUnlock() +- return err +- } +- +- if scanArgsContainRawBytes(dest) { +- rs.closemuScanHold = true +- rs.raw = rs.raw[:0] +- } else { +- rs.closemu.RUnlock() ++ return rs.lasterrOrErrLocked(errRowsClosed) + } + + if rs.lastcols == nil { +- rs.closemuRUnlockIfHeldByScan() + return errors.New("sql: Scan called without calling Next") + } + if len(dest) != len(rs.lastcols) { +- rs.closemuRUnlockIfHeldByScan() + return fmt.Errorf("sql: expected %d destination arguments in Scan, not %d", len(rs.lastcols), len(dest)) + } + + for i, sv := range rs.lastcols { + err := convertAssignRows(dest[i], sv, rs) + if err != nil { +- rs.closemuRUnlockIfHeldByScan() + return fmt.Errorf(`sql: Scan error on column index %d, name %q: %w`, i, rs.rowsi.Columns()[i], err) + } + } +diff --git a/src/database/sql/sql_test.go b/src/database/sql/sql_test.go +index c3b4822..ee65b1b 100644 +--- a/src/database/sql/sql_test.go ++++ b/src/database/sql/sql_test.go +@@ -5,6 +5,7 @@ + package sql + + import ( ++ "bytes" + "context" + "database/sql/driver" + "errors" +@@ -4411,10 +4412,6 @@ func testContextCancelDuringRawBytesScan(t *testing.T, mode string) { + db := newTestDB(t, "people") + defer closeDB(t, db) + +- if _, err := db.Exec("USE_RAWBYTES"); err != nil { +- t.Fatal(err) +- } +- + // cancel used to call close asynchronously. + // This test checks that it waits so as not to interfere with RawBytes. + ctx, cancel := context.WithCancel(context.Background()) +@@ -4506,6 +4503,61 @@ func TestContextCancelBetweenNextAndErr(t *testing.T) { + } + } + ++type testScanner struct { ++ scanf func(src any) error ++} ++ ++func (ts testScanner) Scan(src any) error { return ts.scanf(src) } ++ ++func TestContextCancelDuringScan(t *testing.T) { ++ db := newTestDB(t, "people") ++ defer closeDB(t, db) ++ ++ ctx, cancel := context.WithCancel(context.Background()) ++ defer cancel() ++ ++ scanStart := make(chan any) ++ scanEnd := make(chan error) ++ scanner := &testScanner{ ++ scanf: func(src any) error { ++ scanStart <- src ++ return <-scanEnd ++ }, ++ } ++ ++ // Start a query, and pause it mid-scan. ++ want := []byte("Alice") ++ r, err := db.QueryContext(ctx, "SELECT|people|name|name=?", string(want)) ++ if err != nil { ++ t.Fatal(err) ++ } ++ if !r.Next() { ++ t.Fatalf("r.Next() = false, want true") ++ } ++ go func() { ++ r.Scan(scanner) ++ }() ++ got := <-scanStart ++ defer close(scanEnd) ++ gotBytes, ok := got.([]byte) ++ if !ok { ++ t.Fatalf("r.Scan returned %T, want []byte", got) ++ } ++ if !bytes.Equal(gotBytes, want) { ++ t.Fatalf("before cancel: r.Scan returned %q, want %q", gotBytes, want) ++ } ++ ++ // Cancel the query. ++ // Sleep to give it a chance to finish canceling. ++ cancel() ++ time.Sleep(10 * time.Millisecond) ++ ++ // Cancelling the query should not have changed the result. ++ if !bytes.Equal(gotBytes, want) { ++ t.Fatalf("after cancel: r.Scan result is now %q, want %q", gotBytes, want) ++ } ++} ++ + func TestNilErrorAfterClose(t *testing.T) { + db := newTestDB(t, "people") + defer closeDB(t, db) +-- +2.40.0 From patchwork Wed Aug 27 21:29:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69218 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4FE5CCA0FF7 for ; Wed, 27 Aug 2025 21:30:09 +0000 (UTC) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mx.groups.io with SMTP id smtpd.web10.6594.1756330200035805895 for ; Wed, 27 Aug 2025 14:30:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=EW6hAEPp; spf=softfail (domain: sakoman.com, ip: 209.85.216.53, mailfrom: steve@sakoman.com) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-32753ef4e33so265739a91.0 for ; Wed, 27 Aug 2025 14:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330199; x=1756934999; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=VudScSBi8nbwJYZKWI32MGtLvhSMlxNvW5599qPCVrU=; b=EW6hAEPpZKm/434oGhqyTp6CHrX0jqiXLZl87U+SF0gN4AUI9L5HaFdNze9PNzgDP3 MUk3rdZrCdKvAfzz8G5BtFxyOotPHdil9N5oFqY/QXpfdeb8MtrNKW9CnRcnHPmbbzHe ysOjGj7B+aYgUYiSBn1yagJdWZR/c728wlzGc/MxrYGXeiOlqC2NujceyUCX+R+Wpeb4 xkMUsskMzt7KAVK7Altg85TX69PcIrRq/1NyQtTdZTks8bPKDXqAqmlcUcx4OGqZ7LuB vz+C8VPzeSOWya47tn6bzy5zzG928KIrbMNf+/MSu91NqgHRLEbD6ehUZdcQuzAs33F3 xCgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330199; x=1756934999; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VudScSBi8nbwJYZKWI32MGtLvhSMlxNvW5599qPCVrU=; b=oyG0sIAdThgbNRGaCOODgJNTTfZBbmgIy6xjHwyl2DIlyd58SYDRusr+qwDa5iiidm G0ATrGOlAM3jFQEAL89SdQfPmzL8IzjYUBfdcbAzI0kYODcGNP2xSag/c4XCKtpS9wnX e+L65uAWy+XAhwbSk5ykHheaxoSk5gZ9i7Sj+9Co9Ub3tl2LA4TCNfTSZgaoea3FjD/j tVgRRvd5h4A4HaTV8KeMCZhA+n5bHXGXp8rH119P4Q3DOfVb9oHU7jdvfjD3sn5v0um1 fafr6xRONP/4P3HmgQHIPGjdU+nUOIDGV/TjLRRL/keReLNL36+e0LoXSORbfXnb+dEU 4mCQ== X-Gm-Message-State: AOJu0YzQi/hN9impkyI+DnRzhitjszSOl3wc1pLkDBrlcXXXp6zILvnB cRmY/AOxhjqYUS/7PuG/sRt1juvdg8kQpFc/9pnI1QItVE5kF/TvXWnjiJEVDNRJaVmHx/gPzBH W9cht X-Gm-Gg: ASbGncs7FjnnaYVZpNpU6rmkFBeejO+pQ7kIQ/ffRBFR4BmN1uky9lTaY8T4sXV/XXM YNfuR5x2AuAi08znzaUYsOB2MNXXtyQOz/fdZl4vybqEb9ME47S0cTHlUNJ7iTwSPM+INhH4/6y ywePWwoFNrstRGgwveFC7gCASpwXOobzLhWmNzxbRvsvYjURQEL28Nh7TK+gIpF+ENe9t2jtaYs pCIpYFnC+oZ0MhB1VWUO67sNch2LurUrfxwUJueQPgFxPQhr5PfF0HI2917G/d4e6QD4tKQuIuH s/gli7WpiV/ktsMM2YEm8DTh4309Hm65CSPz1VDBQjvl4fLsVoQiEidYONaDw+Q3tqISBbGK7fe KTB2kg9udIEb4Rg== X-Google-Smtp-Source: AGHT+IEzj4mOf8SaZszCNo7MK9xuCx/1DY4qTEKpaqb560uUtiKmrCRgPIAxBIw2hdHNIcKNwU8v8w== X-Received: by 2002:a17:90b:48d2:b0:325:83ab:230b with SMTP id 98e67ed59e1d1-32583ab2adcmr16078525a91.22.1756330199309; Wed, 27 Aug 2025 14:29:59 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.29.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:29:58 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 06/33] ncurses: Pin to C17 standard Date: Wed, 27 Aug 2025 14:29:13 -0700 Message-ID: <2ee706f58a96f30904ac3d292c0ac532739c91ea.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222514 From: Khem Raj Newer snapshots of ncurses have the fixes but they are many needed to get C23 going. Until next release lets stick with C17 even while GCC 15 switches to C23 defaults. For scarthgap also add it in BUILD_CFLAGS. Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- meta/recipes-core/ncurses/ncurses.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 3b72f3efdd..5ef735fcf8 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -30,6 +30,10 @@ ENABLE_WIDEC ?= "true" # _GNU_SOURCE is required for widec stuff and is not detected automatically CPPFLAGS += "-D_GNU_SOURCE" +# Check if we still need it when next release (6.6) happens +CFLAGS += "-std=gnu17" +BUILD_CFLAGS += "-std=gnu17" + # natives don't generally look in base_libdir base_libdir:class-native = "${libdir}" From patchwork Wed Aug 27 21:29:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69220 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D16DCA0FED for ; Wed, 27 Aug 2025 21:30:09 +0000 (UTC) Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by mx.groups.io with SMTP id smtpd.web10.6596.1756330201446399299 for ; Wed, 27 Aug 2025 14:30:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=j8/Fi4R7; spf=softfail (domain: sakoman.com, ip: 209.85.214.175, mailfrom: steve@sakoman.com) Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-24457f581aeso2594635ad.0 for ; Wed, 27 Aug 2025 14:30:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330201; x=1756935001; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=SjyCOYNDpKAmj+xl0UqvdmT5VX+iXJn3K4VkoZifoNY=; b=j8/Fi4R780oRSl0fX4KkOJvCaOvov+jjp7iXS8Isq1/IbzHqtuSzzIKfWaSseIhdYp wBtqjXuZk3QME8t8+4NXICNux0TL6ZwoYCVNc6CEGIvDCIqYYQns3w1Wel3hW8mvEJVc qGXibYIfPLAD0L5RLT31XkIF6AUwHSQNvq/rhvUKrGL2iQSwahdBAqzhOXDX+ja2lyeQ YycSxeWn/FgEVQou/leRxPDF+Jsxbxs+833Zc3ahYiqxza0jmJFca+U4qP4XTNv/AFVX 3KzwR+SHD+xGsTFriIyOVsgaK1QKPDfXrlDY8NgNxLrVpZKl2CSu3aHaVl0gH+plU0UH R66g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330201; x=1756935001; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SjyCOYNDpKAmj+xl0UqvdmT5VX+iXJn3K4VkoZifoNY=; b=vnI4Js64EmJPWiC/9h5XKqW88vzNHjvhRz/b7SG+W4q5Ux6l3VYS8B2MSqfq7Ua2+L wdjdzngjbIXcI03zz935bG7PwEZttLAYLV6+BcMzWgZo/Q4a9591Jtf0uEE1Mc8KP+jo 2S4Q5LWjTnkiQxUwtk1Qs+GVNDq3SnQeJocfufdKfxVWCCEMeQWRJXBG1bCrziUbANOf w56sI+nTurV/JKWZbuTl7QNbcaEO7l2Svot0w9OcAYRkNh+Awx60LARFihlMxYJpVNMa pQLHd+3/xICazaVAr3pJZ50AX+DQH8FDswjIxHd1W1SDceB+ZWhBMahP/NqLT8SLepe5 Nnxw== X-Gm-Message-State: AOJu0YwqVtU1eSiXl5fa8dUEaqJrjF4utFXBQ2N52tWDkSmUDDUKIFXo F/j6M5uBJxnfsxjL+q2wEnsmLf6+pdRiZfs9pzVjdi2LyPuMR2xtRtyDosdlGTJovDireKRFTWq lfusx X-Gm-Gg: ASbGncuosawg8PEU1qNWKcpdvKPYb/mW9j6U7a7jFTOh6Zlbic8hJipIEL2WGspBCVN 6RyS/pBBaj7KM/yvQVsqSpE6lZjhL3pP4m9bpDr7KO8B8G9KVX0pxQLfhJgkPc1E7EWVQ3c+Y0V rpVQcX3MM6WOof0G5VbPFkO32DDTFthHQd3Tu/BF5SWMjAn97ydCphk0mJ2mNV7hq3/qRxfpuss mM5nMFbRV87wimpWwraKoWyIwKM+0KibKfUJzqTTSInKBVZ8xf4fp5eo5T2IbL/+iThFfDGq6Rb iCV9zlYWHq+zHGiXJTti9Iq2VtkSJupp4itSrxIiGqMS1HTUq9M78wUKahYr2rR1AojR6Uw7oIA HcIJYNorqXBfM5A== X-Google-Smtp-Source: AGHT+IGsGhKsffz1nyf0jpq7G/rNVIH/WINLlDmeYaGd9d8AIvQIBSrmwdMWtOorjXA3Qku+/E50eg== X-Received: by 2002:a17:903:11c9:b0:235:f143:9b16 with SMTP id d9443c01a7336-2462ef73b86mr278770565ad.41.1756330200716; Wed, 27 Aug 2025 14:30:00 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:00 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 07/33] qemu: set status of CVE-2024-7730 to fixed Date: Wed, 27 Aug 2025 14:29:14 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222515 From: Peter Marko This was backported to v8.2.7 and also it is mentioned in commit upgrading qemu in oe-core. Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- meta/recipes-devtools/qemu/qemu.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 38ed637b93..220f0a161c 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -84,6 +84,8 @@ CVE_STATUS[CVE-2024-6505] = "fixed-version: this CVE is fixed since 9.1.0" CVE_STATUS[CVE-2023-1386] = "disputed: not an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=2223985" +CVE_STATUS[CVE-2024-7730] = "fixed-version: this is fixed in v8.2.7" + COMPATIBLE_HOST:mipsarchn32 = "null" COMPATIBLE_HOST:mipsarchn64 = "null" COMPATIBLE_HOST:riscv32 = "null" From patchwork Wed Aug 27 21:29:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69221 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D1A8CA0FFC for ; Wed, 27 Aug 2025 21:30:09 +0000 (UTC) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by mx.groups.io with SMTP id smtpd.web11.6629.1756330203108496011 for ; Wed, 27 Aug 2025 14:30:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=S15RfHHS; spf=softfail (domain: sakoman.com, ip: 209.85.215.179, mailfrom: steve@sakoman.com) Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-b49dcdf018bso250523a12.0 for ; Wed, 27 Aug 2025 14:30:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330202; x=1756935002; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Ol2EHt8hZeM0W47mrNtDgsAWqDq43WDzSm4eAsoZKhQ=; b=S15RfHHSsnoTOy+a5RmjmxtLNX17D1WK5oM/CT4jQY5GPy9Ol4/InTj1IgU9Z8LhkV 9YwxhHvDhltSPTqhI+/zru5Tb0qllShf4IKixc6XT/R4NknPI80Jq7yuPhzrMhOgjxXW umJnpPEKTaFTLBrAZU8Xv37HszQG3Pfck2URrD/3mXcM2Ac+aV0CbgMIQNAavrWxjF9L T0/5zDs99APcpTfg2yDJrfFpoqyITq8ycCd0GcU8RZQxg5XPrs8nzoxy0EZuQ/q8o7+8 6MnBwgnx1b7zShLp9C1T+Rpa1dQOAGfFANo8D73TF57VE9IpNSndXZFDiWr7cP+QP5Fl yZFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330202; x=1756935002; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ol2EHt8hZeM0W47mrNtDgsAWqDq43WDzSm4eAsoZKhQ=; b=dR2JmQUpXgy8MBAFBeA7/3fbs+V9PTj/oeY0gv12o3avBGB3uiDE2ezHGI7fuUXr9E CPJSfYMoB65rNtWnN64qqIakjwY7/h/nAsjt084N0FS1vK/vSFMyDZ6pwsq5+QvAAnDv UkSTyJQZUuwTCCd9xT77K8t8L9NPofVHKMeQZoB0y9fXkA53mk15wSOOE419heIy1iwJ v5779NG9hiIAIppy9ogOFvsRIOvU1I4Cge/yImVG9jOwIa728QjLe53gx6zxni36heF3 mbwGhk92mxtmGISrnWunIqwGZm6wPRSlfIe7KwGYmVTuVrSwLuu4BOtXBykO7qw5jf73 6tdg== X-Gm-Message-State: AOJu0Yx/TynHBdCV8zdzcIEkZ4iTu/psaXnRWQlF4btb5VQQcmHFXOIg B3VVE3KWJ8FTMooYID1v0cYJWfTFU4PLYVNeHtRpyfuZZD6jEwtHALE8Iy6eJAk6ZCjYha3Yaz+ sVX+2 X-Gm-Gg: ASbGncskXvPcS0/KK3TtCUAhaeoIbxLq3tWjlrLJ1sDZA5Gm3liaQUn5UHEVS4j6AM0 2F01VNtf4rIcvN7ngi3vCuX04zYScsIyWovXPbS2OjVPHoi0bnrmlopr+4XFBAKidUq4sJLTQuu O6dsR1pxasRP/ziIkCInGBffVhZWTX3SQUI7LhyE0lWOapgglZyf7+IIQF1kbrVFmkMqrja4Mx7 YBwpP9Mk2O2MRPtB5andwVPSD5dvnP00/UvGUGHrguSQCBs2RrsX4BJ3DvmpkrlrtKpyO48S7m4 OvANoswOkWMDET2eTKg5toixPbkk64NjVbCKNKIfO5KUrQJHbFFc1bCA6Udb3v0eL+couFclXrU EUALFLrMnFHpAVg== X-Google-Smtp-Source: AGHT+IGTD6p+Vf9ooK+ue5jPeS+Dx0hJ17PooCNY9jslZng03V0SwJqf626S0uplqho0CSifXmT4ag== X-Received: by 2002:a17:90b:4c85:b0:323:28ac:4594 with SMTP id 98e67ed59e1d1-32515e2e438mr22910284a91.5.1756330202388; Wed, 27 Aug 2025 14:30:02 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:02 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 08/33] go-binary-native: ignore CVE-2025-0913 Date: Wed, 27 Aug 2025 14:29:15 -0700 Message-ID: <63dfdbf774dc24ea4e736a6d13d6aa8c72ebee4d.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222516 From: Peter Marko This was already done for all other go recipes. Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- meta/recipes-devtools/go/go-binary-native_1.22.12.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/go/go-binary-native_1.22.12.bb b/meta/recipes-devtools/go/go-binary-native_1.22.12.bb index b15b60a691..7688a090f4 100644 --- a/meta/recipes-devtools/go/go-binary-native_1.22.12.bb +++ b/meta/recipes-devtools/go/go-binary-native_1.22.12.bb @@ -18,6 +18,7 @@ UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" CVE_PRODUCT = "golang:go" CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows" +CVE_STATUS[CVE-2025-0913] = "not-applicable-platform: Issue only applies on Windows" S = "${WORKDIR}/go" From patchwork Wed Aug 27 21:29:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69219 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4FE27CA0EFF for ; Wed, 27 Aug 2025 21:30:09 +0000 (UTC) Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by mx.groups.io with SMTP id smtpd.web10.6598.1756330204812585060 for ; Wed, 27 Aug 2025 14:30:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=kT6M9jbJ; spf=softfail (domain: sakoman.com, ip: 209.85.216.47, mailfrom: steve@sakoman.com) Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-3254abaf13dso250920a91.2 for ; Wed, 27 Aug 2025 14:30:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330204; x=1756935004; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=5xCS94keCkephpoc9GPSICCCxB+eHjHMTH73+LJnLOg=; b=kT6M9jbJEB01KGG4ZN6g+eYZX6ZzNcGZX2MNhnUg83q8xUqKjufQbDfvKxibGtIjen Ei1FjZ1T3a3Nlj5IlDwam7oFpsVH+bCEuSpI96re+bsgzkthqFiz/VlGKD6EuoO95jBT BnzYHX7mXb2BreKQCg21i+WUzOonYeCBr0t0Sill4RKnZdcKv/AoVaSP+uIzQePpdZhk 4UD5wQQ/tWHfQeqp3GVF2npvGwZI87id2E7+tfTWbLSlChz1NbX88Ouy8OYH+FPApbuG nO2l+ypl1Qi6Assv9WzrUDQiOn9XhMBMG6oh6kh0KaUT2oxBec/m60b8zfHUsE5w+eXq NTvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330204; x=1756935004; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5xCS94keCkephpoc9GPSICCCxB+eHjHMTH73+LJnLOg=; b=TsjLLQXgR/Z/9ZKP8jF5j/xDioqS5gyRqDuiDZW09lEp2qKIhA2sRTCLigkf5Jh3gw FHnAMKHhYpBIbfmJcjLIHIoEnIwsrutUuwLXHs3N1u03cnGjQXbFJv5HyudER3PV2Hbo fQz+OYXhUVHY0JkhQdIzs/M8pJE5VF0w4epBsg6/jOm+GDzZKAFgBMDugRc9IipNcJzx 9lUZSBjr+IRJ0LJCkk2/Ppoz4J91M0G2+72bfbkTCSnQsyGUjWwJ+PeDGcnlM0Xwnq3b r1V+GN0wCOeOiuAmmz9l3H+bZXvcNu2qqAscfIhcKu8oXzcYBR5EZokdSUSOomFiYAtz PBAA== X-Gm-Message-State: AOJu0YylypSA0QmZ6o1S+1u6vzixXGdAX5S1SvQ0c5V1gfc56VmL6Lwy yUjcMrlUpS8wenOITeaFPXTNmrwsJs8Q7Aaz3S61gD5PTG/yg5FU1J45W4x9kkR7R5fo5BFikpy qDGJQ X-Gm-Gg: ASbGncvH5A93utEsnBIi1xEJko9X5wUooqJNZ+8C+InWOwWJz7mGxnd65hTmSEr1dO5 7RWX9jo2nMloQBEse/3cGMFjRrg1EBl0PYv1fAbSOtUbDEHZjR3tAg+wtEKRwHRo6I2aAw1PqWL ABjUxNmGLEw0GjwvyUACABIE0179Zq0hJXptu1gGwvhECDn3uzdcPf0990faohLbzKkj4wFWNbm MygPgIyE/qesGBMv6Q+VoqNo6ikgoEeCopfTFtIIpdseOB4tVaK1limEir0cLaATqyGqF9GpA73 Fc5Fln537K7Arfq+9knFeURMdn6AyyS+JC+K9MOGYwOAGbsXyC4R7j5bqFuKKiQOq4N0pf/l/ly OsLcnU8fEZ2XnXg== X-Google-Smtp-Source: AGHT+IFZ9Mmbb4+hUViZVGQ+A3bfd/rrmHG5jYhnQjkt71acOggYRHWMCCVCnzVvjKM345WmjDaQ7A== X-Received: by 2002:a17:90b:5703:b0:327:7c8e:8720 with SMTP id 98e67ed59e1d1-3277c8eb549mr3121544a91.34.1756330203921; Wed, 27 Aug 2025 14:30:03 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:03 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 09/33] glib-2.0: patch CVE-2025-7039 Date: Wed, 27 Aug 2025 14:29:16 -0700 Message-ID: <36402f219bc6fc03970e5277d449f2717199cf44.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222517 From: Peter Marko Pick commit per [1]. [1] https://security-tracker.debian.org/tracker/CVE-2025-7039 Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- .../glib-2.0/glib-2.0/CVE-2025-7039.patch | 43 +++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb | 1 + 2 files changed, 44 insertions(+) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-7039.patch diff --git a/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-7039.patch b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-7039.patch new file mode 100644 index 0000000000..6e03700880 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-7039.patch @@ -0,0 +1,43 @@ +From 61e963284889ddb4544e6f1d5261c16120f6fcc3 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Tue, 1 Jul 2025 10:58:07 -0500 +Subject: [PATCH] gfileutils: fix computation of temporary file name + +We need to ensure that the value we use to index into the letters array +is always positive. + +Fixes #3716 + +CVE: CVE-2025-7039 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/61e963284889ddb4544e6f1d5261c16120f6fcc3] +Signed-off-by: Peter Marko +--- + glib/gfileutils.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/glib/gfileutils.c b/glib/gfileutils.c +index c7d3339d1..286b1b154 100644 +--- a/glib/gfileutils.c ++++ b/glib/gfileutils.c +@@ -1532,9 +1532,9 @@ get_tmp_file (gchar *tmpl, + static const char letters[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + static const int NLETTERS = sizeof (letters) - 1; +- gint64 value; +- gint64 now_us; +- static int counter = 0; ++ guint64 value; ++ guint64 now_us; ++ static guint counter = 0; + + g_return_val_if_fail (tmpl != NULL, -1); + +@@ -1553,7 +1553,7 @@ get_tmp_file (gchar *tmpl, + + for (count = 0; count < 100; value += 7777, ++count) + { +- gint64 v = value; ++ guint64 v = value; + + /* Fill in the random bits. */ + XXXXXX[0] = letters[v % NLETTERS]; diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb index 53e0543045..c129be1328 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb @@ -29,6 +29,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://CVE-2025-3360-06.patch \ file://CVE-2025-4373-01.patch \ file://CVE-2025-4373-02.patch \ + file://CVE-2025-7039.patch \ " SRC_URI:append:class-native = " file://relocate-modules.patch \ file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ From patchwork Wed Aug 27 21:29:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69225 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65DCDCA0FFC for ; Wed, 27 Aug 2025 21:30:19 +0000 (UTC) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mx.groups.io with SMTP id smtpd.web10.6601.1756330212403533203 for ; Wed, 27 Aug 2025 14:30:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=PgxaY9RJ; spf=softfail (domain: sakoman.com, ip: 209.85.214.170, mailfrom: steve@sakoman.com) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-246181827e9so3182365ad.3 for ; Wed, 27 Aug 2025 14:30:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330212; x=1756935012; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RuAHpp2jIbI8ObGbY+7KKGdkNI574/9vokZgsvh17Uc=; b=PgxaY9RJ1jxnAF/gSjUqD2x3prp3/B0jwqpjnJ69EYY0SEF9D06Vq/5KOUh3CCh7bw 3u7E96FD2BzWKu2K3ruzV+1dIt2LIq5KswHkDfbdoJLsaAzcz7yZ2FGXcKj9VONKllFZ O5tEaj7v72xMo5eD7VDVqAxR/9eoHBA3/rdjWqJP6g4RsBe7HoCKrLaDiuRMAAxg1Ny5 NpOj6wnyh8OWvWES7dcneaeGlBod3n7oLuLvSwtjmvn6Mn6pKJzzN0AKD6g+wErFo4PY NRG6AtzHnuDyJXs6VsNm0S7aJ/P8vY08MW7yqSUt2TxxILKntcksA+yONoMXfUf7XNZH Impw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330212; x=1756935012; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RuAHpp2jIbI8ObGbY+7KKGdkNI574/9vokZgsvh17Uc=; b=I3+mVfRAgaBt0RT6sZ6gzpH0gqg0q9uz831Q7YROCiU8SqcFfNm7tYtbJERYm4CLUs u6na15/eJHDIwtotgI1Bi3Lm+aznD1u9AywC/uR2dZN7rrCr7RqoS5/WVcKXnfwH1BaU kx/JjmPiRQgljgSme6Zd5l441Wln6lGTm5Ql9tdZ8E/PT1k7Ke8duALE9qxI4b+g3rZ1 jJGxA3ruzrL5FxBlpzD2Ov7hGckah2QeVPhT1WUg6w7gmsfMzpZRYlX5fCs8ynSiUA4s 48TZbwWZCz4u+F8ygsl/vaOwUN9JDMpXQgFayphtpEzC3ZIYw56sJ3P0btGZTy5ez7/P fysQ== X-Gm-Message-State: AOJu0YyAqfCu+UeIh8gyD0lk2KXyqvHx+qywE5gARz0nI2bMLpqPURK1 +ZMQCVC7lFBtAxFOyDSY+Ry00ovVFJ1YWemWVqHwhbAsmNMwUX25G4s0HAxQpMEh2TnTEWzx1Qj GQtlj X-Gm-Gg: ASbGnctoh8gaEzZ8RM/QyTpdFK4Guu0Lh1M30DGdJi9pRFyPqnP1P1WFJsWLlPg7NMK /UtTpefBmvyIdZIytm1EFqs93Gg3bPTl0YqRA7P+X5cgkeH3ebc/AOadiBjQFmeWtKI/LL9ZDjO a66xMYAGt5ZQf0IoJ4tah54qdO2oq/fhWXZvKoIGUGAGPo5KMmC6MnGWg3dvjH1HsLqVHsX3GAL gMk3YbtNNx3+yc0qQxRYgeAOpcA7NnAEv7fR83wrcTaEZJ3cVbU695TtSPGoK98iV9TuXJwj9Tv Cz53HwdHVhT0jehDiIgGr1MwBggP7GYNOfFTUk06lydT+oEgmtFpHumphFxkl2in8rcF/2Oa3MR envv/Xp+aB2XCZrn8UpCh0NFs X-Google-Smtp-Source: AGHT+IH9QniD3Wm0F0FwjlsinzHnMp0QUCGHXJPsXBsw/1FoBMhDpKvo9RuyDIs0BFxuTLoummVCCA== X-Received: by 2002:a17:903:2349:b0:248:abeb:c104 with SMTP id d9443c01a7336-248abebc290mr38064735ad.15.1756330211457; Wed, 27 Aug 2025 14:30:11 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:11 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 10/33] glib-2.0: patch CVE-2025-6052 Date: Wed, 27 Aug 2025 14:29:17 -0700 Message-ID: <8e85effc1a79e78f34b0b17341dd223bb80b25e4.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222518 From: Peter Marko Pick commit per [1]. Also pick commits from [2] which is referencing this CVE as the original fix was not complete. [1] https://security-tracker.debian.org/tracker/CVE-2025-6052 [2] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4681 Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- .../glib-2.0/glib-2.0/CVE-2025-6052-01.patch | 69 +++++++++++++ .../glib-2.0/glib-2.0/CVE-2025-6052-02.patch | 97 +++++++++++++++++++ .../glib-2.0/glib-2.0/CVE-2025-6052-03.patch | 35 +++++++ meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb | 3 + 4 files changed, 204 insertions(+) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-01.patch create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-02.patch create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-03.patch diff --git a/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-01.patch b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-01.patch new file mode 100644 index 0000000000..1bfe31131c --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-01.patch @@ -0,0 +1,69 @@ +From 987309f23ada52592bffdb5db0d8a5d58bd8097b Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 3 Jun 2025 11:31:04 +0100 +Subject: [PATCH] gstring: Fix overflow check when expanding the string +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +After commit 34b7992fd6e3894bf6d2229b8aa59cac34bcb1b5 the overflow check +was only done when expanding the string, but we need to do it before +checking whether to expand the string, otherwise that calculation could +overflow and falsely decide that the string is big enough already. + +As a concrete example, consider a `GString` which has: + * `.len = G_MAXSIZE / 2 + 1` + * `.allocated_len = G_MAXSIZE / 2 + 1` +and `g_string_append()` is called on it with an input string of length +`G_MAXSIZE / 2`. + +This results in a call `g_string_maybe_expand (string, G_MAXSIZE / 2)`, +which calculates `string->len + len` as `(G_MAXSIZE / 2 + 1) + +(G_MAXSIZE / 2)` which evaluates to `1` as it overflows. This is not +greater than `string->allocated_len` (which is `G_MAXSIZE / 2 + 1`), so +`g_string_expand()` is *not* called, and `g_string_maybe_expand()` +returns successfully. The caller then assumes that there’s enough space +in the buffer, and happily continues to cause a buffer overflow. + +It’s unlikely anyone could hit this in practice because it requires +ludicrously big strings and `GString` allocations, which likely would +have been blocked by other code, but if we’re going to have the overflow +checks in `GString` then they should be effective. + +Spotted by code inspection. + +Signed-off-by: Philip Withnall + +CVE: CVE-2025-6052 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/987309f23ada52592bffdb5db0d8a5d58bd8097b] +Signed-off-by: Peter Marko +--- + glib/gstring.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/glib/gstring.c b/glib/gstring.c +index 2a399ee21..8a489ca0d 100644 +--- a/glib/gstring.c ++++ b/glib/gstring.c +@@ -78,10 +78,6 @@ static void + g_string_expand (GString *string, + gsize len) + { +- /* Detect potential overflow */ +- if G_UNLIKELY ((G_MAXSIZE - string->len - 1) < len) +- g_error ("adding %" G_GSIZE_FORMAT " to string would overflow", len); +- + string->allocated_len = g_nearest_pow (string->len + len + 1); + /* If the new size is bigger than G_MAXSIZE / 2, only allocate enough + * memory for this string and don't over-allocate. +@@ -96,6 +92,10 @@ static inline void + g_string_maybe_expand (GString *string, + gsize len) + { ++ /* Detect potential overflow */ ++ if G_UNLIKELY ((G_MAXSIZE - string->len - 1) < len) ++ g_error ("adding %" G_GSIZE_FORMAT " to string would overflow", len); ++ + if (G_UNLIKELY (string->len + len >= string->allocated_len)) + g_string_expand (string, len); + } diff --git a/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-02.patch b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-02.patch new file mode 100644 index 0000000000..a28425a4ff --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-02.patch @@ -0,0 +1,97 @@ +From 6aa97beda32bb337370858862f4efe2f3372619f Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Mon, 7 Jul 2025 20:52:24 +0200 +Subject: [PATCH] gstring: Fix g_string_sized_new segmentation fault + +If glib is compiled with -Dglib_assert=false, i.e. no asserts +enabled, then g_string_sized_new(G_MAXSIZE) leads to a segmentation +fault due to an out of boundary write. + +This happens because the overflow check was moved into +g_string_maybe_expand which is not called by g_string_sized_new. + +By assuming that string->allocated_len is always larger than +string->len (and the code would be in huge trouble if that is not true), +the G_UNLIKELY check in g_string_maybe_expand can be rephrased to +avoid a potential G_MAXSIZE overflow. + +This in turn leads to 150-200 bytes smaller compiled library +depending on gcc and clang versions, and one less check for the most +common code paths. + +Reverts https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4655 and +reorders internal g_string_maybe_expand check to still fix +CVE-2025-6052. + +CVE: CVE-2025-6052 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6aa97beda32bb337370858862f4efe2f3372619f] +Signed-off-by: Peter Marko +--- + glib/gstring.c | 10 +++++----- + glib/tests/string.c | 18 ++++++++++++++++++ + 2 files changed, 23 insertions(+), 5 deletions(-) + +diff --git a/glib/gstring.c b/glib/gstring.c +index 010a8e976..24c4bfb40 100644 +--- a/glib/gstring.c ++++ b/glib/gstring.c +@@ -78,6 +78,10 @@ static void + g_string_expand (GString *string, + gsize len) + { ++ /* Detect potential overflow */ ++ if G_UNLIKELY ((G_MAXSIZE - string->len - 1) < len) ++ g_error ("adding %" G_GSIZE_FORMAT " to string would overflow", len); ++ + string->allocated_len = g_nearest_pow (string->len + len + 1); + /* If the new size is bigger than G_MAXSIZE / 2, only allocate enough + * memory for this string and don't over-allocate. +@@ -92,11 +96,7 @@ static inline void + g_string_maybe_expand (GString *string, + gsize len) + { +- /* Detect potential overflow */ +- if G_UNLIKELY ((G_MAXSIZE - string->len - 1) < len) +- g_error ("adding %" G_GSIZE_FORMAT " to string would overflow", len); +- +- if (G_UNLIKELY (string->len + len >= string->allocated_len)) ++ if (G_UNLIKELY (len >= string->allocated_len - string->len)) + g_string_expand (string, len); + } + +diff --git a/glib/tests/string.c b/glib/tests/string.c +index aa363c57a..e3bc4a02e 100644 +--- a/glib/tests/string.c ++++ b/glib/tests/string.c +@@ -743,6 +743,23 @@ test_string_new_take_null (void) + g_string_free (g_steal_pointer (&string), TRUE); + } + ++static void ++test_string_sized_new (void) ++{ ++ ++ if (g_test_subprocess ()) ++ { ++ GString *string = g_string_sized_new (G_MAXSIZE); ++ g_string_free (string, TRUE); ++ } ++ else ++ { ++ g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT); ++ g_test_trap_assert_failed (); ++ g_test_trap_assert_stderr ("*string would overflow*"); ++ } ++} ++ + int + main (int argc, + char *argv[]) +@@ -772,6 +789,7 @@ main (int argc, + g_test_add_func ("/string/test-string-steal", test_string_steal); + g_test_add_func ("/string/test-string-new-take", test_string_new_take); + g_test_add_func ("/string/test-string-new-take/null", test_string_new_take_null); ++ g_test_add_func ("/string/sized-new", test_string_sized_new); + + return g_test_run(); + } diff --git a/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-03.patch b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-03.patch new file mode 100644 index 0000000000..3f6e564544 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2025-6052-03.patch @@ -0,0 +1,35 @@ +From 3752760c5091eaed561ec11636b069e529533514 Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Mon, 7 Jul 2025 20:57:41 +0200 +Subject: [PATCH] gstring: Improve g_string_append_len_inline checks + +Use the same style for the G_LIKELY check here as in g_string_sized_new. +The check could overflow on 32 bit systems. + +Also improve the memcpy/memmove check to use memcpy if val itself is +adjacent to end + len_unsigned, which means that no overlapping exists. + +CVE: CVE-2025-6052 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/3752760c5091eaed561ec11636b069e529533514] +Signed-off-by: Peter Marko +--- + glib/gstring.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/glib/gstring.h b/glib/gstring.h +index e817176c9..c5e64b33a 100644 +--- a/glib/gstring.h ++++ b/glib/gstring.h +@@ -228,10 +228,10 @@ g_string_append_len_inline (GString *gstring, + else + len_unsigned = (gsize) len; + +- if (G_LIKELY (gstring->len + len_unsigned < gstring->allocated_len)) ++ if (G_LIKELY (len_unsigned < gstring->allocated_len - gstring->len)) + { + char *end = gstring->str + gstring->len; +- if (G_LIKELY (val + len_unsigned <= end || val > end + len_unsigned)) ++ if (G_LIKELY (val + len_unsigned <= end || val >= end + len_unsigned)) + memcpy (end, val, len_unsigned); + else + memmove (end, val, len_unsigned); diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb index c129be1328..9f93655739 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.78.6.bb @@ -30,6 +30,9 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://CVE-2025-4373-01.patch \ file://CVE-2025-4373-02.patch \ file://CVE-2025-7039.patch \ + file://CVE-2025-6052-01.patch \ + file://CVE-2025-6052-02.patch \ + file://CVE-2025-6052-03.patch \ " SRC_URI:append:class-native = " file://relocate-modules.patch \ file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ From patchwork Wed Aug 27 21:29:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69224 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72BB5CA0FFB for ; Wed, 27 Aug 2025 21:30:19 +0000 (UTC) Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by mx.groups.io with SMTP id smtpd.web10.6602.1756330213934376726 for ; Wed, 27 Aug 2025 14:30:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=I4UEUQ9A; spf=softfail (domain: sakoman.com, ip: 209.85.210.172, mailfrom: steve@sakoman.com) Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-76e4f2e4c40so348741b3a.2 for ; Wed, 27 Aug 2025 14:30:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330213; x=1756935013; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RGMSBQY1LOzlJXcI61QgB1/I2ULe0p7TCjebJ3zTvUM=; b=I4UEUQ9AT+uOZs1sEyIjVMcdUloEiVzbNGPeROceY4lrXj+Da6zVWz12+QrwKZoccB B+jVznv57OlLEjW0fZUSOMlzLNFzCVU7xz963ixMFEXpoAg2l9t0PNFgYSgJ5b07fN77 Weeg94YR26gScd2TnpS5NBP6A4H6chgW85LOCO2dM0KXaB1ozuP6YcjqVboDIZoZ/acJ HnNtXxu/pchct2aOLATdPrI6J2iMFQr7TIg9IF4nsImI743edhhxVyy26vAxK70++Nfn T5emQkAOxC1XUeV73t64JfLb+5euMVy/hQsu98MR5g7vvVNLOCYvCdg+Du/wwYyP6x+p 7xZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330213; x=1756935013; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RGMSBQY1LOzlJXcI61QgB1/I2ULe0p7TCjebJ3zTvUM=; b=ZCREqY8KtR6UuHxz1Yr7p25iBF4Iv2ifRIC3HZszqJQoMJwdFIXqo6QtZWKVeBZs6T 4B6wO90MA1ML+OjNJztpcgVbkfQPenm/xFDbnkBUrbEdYR5bK0Gqt4LlQVBUwXeZdhtL YdxcaTW6LGWqyAdS5gxvOggTDhqAwwmAdog6xGOfv1PtB8gJpM7HpQsRBjPc/Sm1mU8e KqEWLKumwhjs2wUnMvgNmQbznyZ+P2+cB2WxlXQSg+fTemO51hSf1L0q7gEUdI+FcVrO XoP/AthykDIXAe83TNqYVYi30V5VHji6MAO1tN1soepoGYxzYbUBjgNKVdJRR3BZOMZ7 GLZw== X-Gm-Message-State: AOJu0YwZXEf2GfhxP9AkBUXUpXgS/2rCzK27wf+Dgk6YrRkBjRqMcs6g 2O05hexI5o9Zl9cEYT2obytXClCvTTiXpj1WFn0zAI0EudPNyeXOuFwUOQRNu7mrSJ09qt40toc wxlj9 X-Gm-Gg: ASbGncuCWTOxy/Vl3p34Qyw9csZ8Yh8HWPW6klh273WIGiTB7J9ACnM5ilBquScuBNr J9rOnU6RxNMstfbTizX8qJBckfwlasEI/DYRMkBXxrxaa4hBOeNyp6qDuEjOiNmTnGBoYBDw8fO 0ZxYAStSJ24++YXMdFPfpEmKk1htW79oxqjdeKfjoCHP3OvaOZK4w5y9OWTZAXAbN28tLM2vDFD +LNZdc2I+1Dbi7+Kig0FPrJjT5lkyJGh7kuFuNYA4+j79pb87NSPnPLJiTB9OGxe/f8Rcfp1zRA bTFZQ+jhxPUlhTOn2+PI9R5A1oStMJd7yiH0k/WQduTPrypitFDwbcLSeBuPBl1RrTQiFWsBcsf t7InEC/JIM27JTw== X-Google-Smtp-Source: AGHT+IGdp4U+1LiTYe4MsWRZhq1fDqFS0Pw+TsYh8T03M1F5mqEotcL7+Ax8ZnAqnNB8A01j1nS1Lg== X-Received: by 2002:a05:6a20:a124:b0:240:5b1:e157 with SMTP id adf61e73a8af0-24340d1241bmr27770978637.32.1756330213067; Wed, 27 Aug 2025 14:30:13 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:12 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 11/33] dpkg: patch CVE-2025-6297 Date: Wed, 27 Aug 2025 14:29:18 -0700 Message-ID: <859e5a47744a91b40d5d12c46ff4d8657ef5cf6e.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222519 From: Peter Marko Pick commit per [1] from 1.22.x branch. [1] https://nvd.nist.gov/vuln/detail/CVE-2025-6297 Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- .../dpkg/dpkg/CVE-2025-6297.patch | 125 ++++++++++++++++++ meta/recipes-devtools/dpkg/dpkg_1.22.0.bb | 1 + 2 files changed, 126 insertions(+) create mode 100644 meta/recipes-devtools/dpkg/dpkg/CVE-2025-6297.patch diff --git a/meta/recipes-devtools/dpkg/dpkg/CVE-2025-6297.patch b/meta/recipes-devtools/dpkg/dpkg/CVE-2025-6297.patch new file mode 100644 index 0000000000..537f77643b --- /dev/null +++ b/meta/recipes-devtools/dpkg/dpkg/CVE-2025-6297.patch @@ -0,0 +1,125 @@ +From 98c623c8d6814ae46a3b30ca22e584c77d47d86b Mon Sep 17 00:00:00 2001 +From: Guillem Jover +Date: Sat, 7 Jun 2025 14:17:07 +0200 +Subject: [PATCH] dpkg-deb: Fix cleanup for control member with restricted + directories +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When extracting a control member into a temporary directory, which is +documented as being a safe operation even on untrusted data, the code +in charge of the temporary directory cleanup does not sanitize the +directory permissions, which is then unable to perform the «rm -rf» +when running as a non-root user, leaving temporary files behind. + +Given automated and repeated execution of dpkg-deb commands on +adversarial .deb packages or with well compressible files, placed +inside a directory with permissions not allowing removal by a non-root +user, this can end up with a DoS scenario due to causing disk quota +exhaustion or disk full conditions. + +This is considered a minor issue, given the required conditions to +trigger a problem with it, but an issue non the less given the +documented security guarantees of the command. This has been an +issue since the initial commit introducing dpkg-deb in C. + +We use an existing string for the error message to avoid new strings +needing translation for stable branches, which make the error message +less descriptive than what would be ideal. This will be improved in +git HEAD. + +Reported-by: zhutyra on HackerOne +Fixes: CVE-2025-6297 +Stable-Candidate: 1.20.x 1.21.x 1.22.x +(cherry picked from commit ed6bbd445dd8800308c67236ba35d08004c98e82) +(cherry picked from commit 02ad0532bd490cbc95b344f670e622a38eecfbf6) +(cherry picked from commit d8a76551e22abe76eefd7fef5c7f51f4118eb40e) + +CVE: CVE-2025-6297 +Upstream-Status: Backport [https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=98c623c8d6814ae46a3b30ca22e584c77d47d86b] +Signed-off-by: Peter Marko +--- + src/at/deb-content.at | 32 ++++++++++++++++++++++++++++++++ + src/deb/info.c | 20 ++++++++++++++++++++ + 2 files changed, 52 insertions(+) + +diff --git a/src/at/deb-content.at b/src/at/deb-content.at +index a192c9493..d48eed72b 100644 +--- a/src/at/deb-content.at ++++ b/src/at/deb-content.at +@@ -127,3 +127,35 @@ newline' + ]) + + AT_CLEANUP ++ ++AT_SETUP([dpkg-deb .deb extraction cleanup]) ++AT_KEYWORDS([dpkg-deb deb extraction]) ++ ++DPKG_GEN_CONTROL([pkg-ctrl-dir-perms]) ++AT_CHECK([ ++dpkg-deb --root-owner-group -Znone -b pkg-ctrl-dir-perms ++DPKG_AR_EXTRACT([pkg-ctrl-dir-perms.deb]) ++dpkg-deb -R pkg-ctrl-dir-perms.deb pkg-ctrl-dir-perms-bad ++mkdir -p pkg-ctrl-dir-perms-bad/DEBIAN/rx-subdir/inner ++touch pkg-ctrl-dir-perms-bad/DEBIAN/rx-subdir/inner/file ++chmod 0555 pkg-ctrl-dir-perms-bad/DEBIAN ++chmod 0555 pkg-ctrl-dir-perms-bad/DEBIAN/rx-subdir ++chmod 0555 pkg-ctrl-dir-perms-bad/DEBIAN/rx-subdir/inner ++$TAR cf control.tar --format=gnu --sort=name --mtime @0 --clamp-mtime --owner root:0 --group root:0 -C pkg-ctrl-dir-perms-bad/DEBIAN . ++DPKG_AR_GEN([pkg-ctrl-dir-perms.deb], [debian-binary control.tar data.tar]) ++], [0], [dpkg-deb: building package 'pkg-ctrl-dir-perms' in 'pkg-ctrl-dir-perms.deb'. ++]) ++AT_CHECK([ ++dpkg-deb --ctrl-tarfile pkg-ctrl-dir-perms.deb | $TAR tvf - ++], [0], [dr-xr-xr-x root/root 0 1970-01-01 00:00 ./ ++-rw-r--r-- root/root 176 1970-01-01 00:00 ./control ++dr-xr-xr-x root/root 0 1970-01-01 00:00 ./rx-subdir/ ++dr-xr-xr-x root/root 0 1970-01-01 00:00 ./rx-subdir/inner/ ++-rw-r--r-- root/root 0 1970-01-01 00:00 ./rx-subdir/inner/file ++]) ++# Check that we can cleanup the temporarily extracted control.tar member. ++AT_CHECK([ ++dpkg-deb -I pkg-ctrl-dir-perms.deb ++], [0], [ignore]) ++ ++AT_CLEANUP +diff --git a/src/deb/info.c b/src/deb/info.c +index f3d57e2ce..396ea4d14 100644 +--- a/src/deb/info.c ++++ b/src/deb/info.c +@@ -45,14 +45,34 @@ + #include + #include + #include ++#include + #include + + #include "dpkg-deb.h" + ++static int ++cu_info_treewalk_fixup_dir(struct treenode *node) ++{ ++ const char *nodename; ++ ++ if (!S_ISDIR(treenode_get_mode(node))) ++ return 0; ++ ++ nodename = treenode_get_pathname(node); ++ if (chmod(nodename, 0755) < 0) ++ ohshite(_("error setting permissions of '%.255s'"), nodename); ++ ++ return 0; ++} ++ + static void cu_info_prepare(int argc, void **argv) { + char *dir; ++ struct treewalk_funcs cu_info_treewalk_funcs = { ++ .visit = cu_info_treewalk_fixup_dir, ++ }; + + dir = argv[0]; ++ treewalk(dir, TREEWALK_NONE, &cu_info_treewalk_funcs); + path_remove_tree(dir); + free(dir); + } diff --git a/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb b/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb index 7eaae9f22e..41f5123508 100644 --- a/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb +++ b/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb @@ -14,6 +14,7 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main file://0001-dpkg-Support-muslx32-build.patch \ file://pager.patch \ file://0001-Add-support-for-riscv32-CPU.patch \ + file://CVE-2025-6297.patch \ " SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" From patchwork Wed Aug 27 21:29:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69222 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65D02CA0FF7 for ; Wed, 27 Aug 2025 21:30:19 +0000 (UTC) Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by mx.groups.io with SMTP id smtpd.web11.6636.1756330215794510243 for ; Wed, 27 Aug 2025 14:30:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=q6AG4kKP; spf=softfail (domain: sakoman.com, ip: 209.85.216.54, mailfrom: steve@sakoman.com) Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-3276f46c1caso296856a91.1 for ; Wed, 27 Aug 2025 14:30:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330215; x=1756935015; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=vD7CzLxT0EbV6AAnNP+li2rvCd/tGGNuFIVHWPRUkA4=; b=q6AG4kKPLOsBM60MDaIoYt1Bi9S25FkmfFuhlRk4dvwSxiJhP0E86hDBr/n8q9V2Y8 orpiwN0cLWuZEFhSXtvnZuHO6Ie8pY7q2rZePEnggPuKXoEv5Tch/Fem1xz93sHBgwn9 l/FhuO0lunIWZEiVp0gPQz24BSEpDHpR+wRvrLD3Oe0XLUKdul50qkL7IwIYnCPxn3Fc SHWJ2s9IyAqn53T8xJxXbvS2oW90tWc+0pXgYNvlNwQ4SHPnG6hlEaIwhe+BVzF2BHpb czTM0PoFt6Djzn33F17ejWUnb3dWPrbb7JB2pzPpb6l1/p6g1LHjfLCNtiFHp3s0yTrJ GvfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330215; x=1756935015; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vD7CzLxT0EbV6AAnNP+li2rvCd/tGGNuFIVHWPRUkA4=; b=D8X8ImfmB+LjH5jJSTPSSRchd8oOoAmlEQR4cdPH0O+0mw9NbNCv+tKyF35gohm2Nw rOVX6gfiBaPpQAjjirdPqQrmiPqWnAEP+kbJl2pvrFFAwOkFm8bAJnRYadXki4ifKMFT pK1lpPwVjKyHFRmdvj6keT80M+JNBUr1dfRyLJYDX/OZRWUKpt76p7R2ZUYiXe4O/x3k 7k0SF5tEOkOOKWyj01mdZZtzXs40Lqb48d1/TLYbIVLyCw95zqaIFgHWgOBYugHs+UL9 RAnRCue2QddPhzxhPjq4Lz7EC4ynI3vUJmRw94ujNlak5t3RjpnrO1/9p4QuE6n4vbUl GPOg== X-Gm-Message-State: AOJu0YwfoM+DQV9wLPEgiv5BLUgeYamS+tQ1OWtVgI0DC+LKMvExZgXV 6h9GET0h2dn6QpPWny5vcRKM38Ls2kFtWjGQyy2jTgRM6k3rSdkbPPjEU9NmF6okbi8Fko+PNOD KFmNA X-Gm-Gg: ASbGncvcw2xczUSuiDVfBIfAnHdUKQyUEtdNxySKjp19V01ecd31gE6mPQO+SbCn+CZ CvH7XwQfRcgRAUcn6bjHbJGkzFvAbFbo0Ed6e3eCbJgClFs9VcdJc5n+cF7BHwEo7Qu5r6cJ9I6 dCIKfQtoCiiSLjcbv/0hyR/iYTGK8AgSM62NUbeF55k4+x+GcKTXi6Gz9E+HHTEk2vaH8WMn831 wtRnSwkMS7S2ygFYo5eRmTZcZ6UYnjKbuDJvgRniGRQetESnjqKgaoEh4WS1r7i6CYP7AAHZaWZ ipeWHCj0y63cK/FatVlnwmpGwKXOHqLsOduJjATYCBhcsoQFhCMQKHOCbepNbyXuQSgUmRMregt iuXKlPzvHRNsz8g== X-Google-Smtp-Source: AGHT+IEVe6YsVyl8Ap0lLd3haWRXqNHPL1CEANeqjwOGmRGG5fpel5w4F2gxGc5h7RUfUpVQUeDI9Q== X-Received: by 2002:a17:90b:1f8a:b0:327:53f0:6368 with SMTP id 98e67ed59e1d1-32753f06524mr7514803a91.2.1756330214812; Wed, 27 Aug 2025 14:30:14 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:14 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 12/33] libarchive: patch regression of patch for CVE-2025-5918 Date: Wed, 27 Aug 2025 14:29:19 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222520 From: Peter Marko Picked commit per [1]. [1] https://security-tracker.debian.org/tracker/CVE-2025-5918 Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- .../libarchive/CVE-2025-5918-0003.patch | 51 +++++++++++++++++++ .../libarchive/libarchive_3.7.9.bb | 1 + 2 files changed, 52 insertions(+) create mode 100644 meta/recipes-extended/libarchive/libarchive/CVE-2025-5918-0003.patch diff --git a/meta/recipes-extended/libarchive/libarchive/CVE-2025-5918-0003.patch b/meta/recipes-extended/libarchive/libarchive/CVE-2025-5918-0003.patch new file mode 100644 index 0000000000..bc6903d41c --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/CVE-2025-5918-0003.patch @@ -0,0 +1,51 @@ +From 51b4c35bb38b7df4af24de7f103863dd79129b01 Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Tue, 27 May 2025 17:09:12 +0200 +Subject: [PATCH] Fix FILE_skip regression + +The fseek* family of functions return 0 on success, not the new offset. +This is only true for lseek. + +Fixes https://github.com/libarchive/libarchive/issues/2641 +Fixes dcbf1e0ededa95849f098d154a25876ed5754bcf + +Signed-off-by: Tobias Stoeckmann + +CVE: CVE-2025-5918 +Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/51b4c35bb38b7df4af24de7f103863dd79129b01] +Signed-off-by: Peter Marko +--- + libarchive/archive_read_open_file.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/libarchive/archive_read_open_file.c b/libarchive/archive_read_open_file.c +index 6ed18a0c..742923ab 100644 +--- a/libarchive/archive_read_open_file.c ++++ b/libarchive/archive_read_open_file.c +@@ -132,7 +132,7 @@ FILE_skip(struct archive *a, void *client_data, int64_t request) + #else + long skip = (long)request; + #endif +- int64_t old_offset, new_offset; ++ int64_t old_offset, new_offset = -1; + int skip_bits = sizeof(skip) * 8 - 1; + + (void)a; /* UNUSED */ +@@ -170,11 +170,14 @@ FILE_skip(struct archive *a, void *client_data, int64_t request) + #ifdef __ANDROID__ + new_offset = lseek(fileno(mine->f), skip, SEEK_CUR); + #elif HAVE__FSEEKI64 +- new_offset = _fseeki64(mine->f, skip, SEEK_CUR); ++ if (_fseeki64(mine->f, skip, SEEK_CUR) == 0) ++ new_offset = _ftelli64(mine->f); + #elif HAVE_FSEEKO +- new_offset = fseeko(mine->f, skip, SEEK_CUR); ++ if (fseeko(mine->f, skip, SEEK_CUR) == 0) ++ new_offset = ftello(mine->f); + #else +- new_offset = fseek(mine->f, skip, SEEK_CUR); ++ if (fseek(mine->f, skip, SEEK_CUR) == 0) ++ new_offset = ftell(mine->f); + #endif + if (new_offset >= 0) + return (new_offset - old_offset); diff --git a/meta/recipes-extended/libarchive/libarchive_3.7.9.bb b/meta/recipes-extended/libarchive/libarchive_3.7.9.bb index f08673ea3b..f4b1be2337 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.7.9.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.7.9.bb @@ -37,6 +37,7 @@ SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ file://CVE-2025-5917.patch \ file://CVE-2025-5918-0001.patch \ file://CVE-2025-5918-0002.patch \ + file://CVE-2025-5918-0003.patch \ " UPSTREAM_CHECK_URI = "http://libarchive.org/" From patchwork Wed Aug 27 21:29:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69223 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61A97CA0EFF for ; Wed, 27 Aug 2025 21:30:19 +0000 (UTC) Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by mx.groups.io with SMTP id smtpd.web11.6637.1756330217254706579 for ; Wed, 27 Aug 2025 14:30:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=ChpHlang; spf=softfail (domain: sakoman.com, ip: 209.85.210.176, mailfrom: steve@sakoman.com) Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-770522b34d1so1070452b3a.1 for ; Wed, 27 Aug 2025 14:30:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330216; x=1756935016; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=FaNPdGywvn6ijFgg0y4iRAF9cSHw986QheYSU6n/Bqs=; b=ChpHlang1u/nH6k0nvLaQIa7QZK/pzq93A8ZZd71Ns1Sr4GCtAPgPdfYN8Fyn/vdPv MiO8jah6hUYHtQ/dXpUx2ZN0YJVIuS/ry5a2TbolC/qfLtJzRNcmaTHWfJse60D4T1XY 0624oHFOlknLc3VkYws8IjzzHsHEbPIb3f6Cm1HSlJlGSn9t7dC2HAEetvJBeFVTb79Z yF4+pxnC2giV2cCyD1z55F1jFtQt5lyt6OaJA7wuhSiYrk2sP60Cl3UivJz9PM5Cg094 xNz7mw5ZFTet3upSkARjPaj7ubSn212e5bAE64Tt/ay1PB/VGyqXuNlNYoy/NQ2MRlo4 Bijg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330216; x=1756935016; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FaNPdGywvn6ijFgg0y4iRAF9cSHw986QheYSU6n/Bqs=; b=rldYwCeLMqGA5DO0USI2rRt3QmlluigJA3wRLhCb6z/QYKikJ2My54ARYw6+IToq0x k+46kJfkQmdjUfUayeQReC7dicwUTKpdP9ZeyYY4ItKJ1dSrIxnxWzmyIWxhDCZuLyPD z5c7cqhnAGeDjfY3UxNpO4MGypz/Po1guacm5JJeBkrYwhR560PY4ehgNSFYWhkRwoLK RsTn1xLgGelE9UMZ63hPByqM2ScL4I89ldBFn15hRY4Kp/0JwyJlHouYb36rSglgrFe+ pHoePEM+KczFFbDZ7XDrVHSMeE/RW0VGiu2xKh4F7IPRMrJtLx11PzFLIkQWNP5FBAH6 oReA== X-Gm-Message-State: AOJu0Yzj1zuQWYXJBOW6u2rweMh6pHBUth/6whhGg9oWr6GlEOpdfZUv ARjLUWfn3Vci/q9D9G/eadkXhMtQvjZD5ty+2KDz/lMU0QGUwq/vWOlLb+w/Sbkj0BbMjEEThGv 134kS X-Gm-Gg: ASbGncvrtlxIyM9KIqEPX1NEAOVe9+omViMRurlrU+NIA007IiaH+uH9iPeOkPu4P/v 24uq1P/SliP9hfGMyDFFQFtChmwwAMWiCpGzBgJFGuqBms/o2XDcPL9kwUOzCzqF6vIrronoVA3 3fljHgqv17k9o7nVUMvQAiGsJU+pgC8YRZqsFQYvjD1XuUk0BxBuiNGIbkBAZoj940mr1b28Y34 +0bFdqn1rqScybpUw81108zEPL5Oxzqbi49XpQcNHD8HXEIMLUbqsIGHGEu/STKB6Z7q5E9OvFH qMemA/zncQ4FJhfYUzNEY7DrWxqAyCTTw7xeW6XWnGkKZJ6XISWrUSOzp1t87I/D5Bcx8/PXOKy EBe5qBUGD1l3vpg== X-Google-Smtp-Source: AGHT+IF6UoFGkwff5mQYqN4MvLkt9cH3E/nDjKLl9QPv+ja/JyK767aEsFED069z4J7uuxuWHfLSvQ== X-Received: by 2002:a17:902:c408:b0:23f:fa47:f933 with SMTP id d9443c01a7336-248753a2734mr93280755ad.8.1756330216371; Wed, 27 Aug 2025 14:30:16 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:15 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 13/33] vim: upgrade 9.1.1198 -> 9.1.1652 Date: Wed, 27 Aug 2025 14:29:20 -0700 Message-ID: <052fd7e55d2c73f13f63267fbfb5e39fa504baa3.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222521 From: Peter Marko Handles CVE-2025-53905, CVE-2025-53906, CVE-2025-55157, CVE-2025-55158. Changes between 9.1.1198 -> 9.1.1652 ==================================== https://github.com/vim/vim/compare/v9.1.1198...v9.1.1652 Refresh patches. Disable newly introduced wayland support (in patch version 1485). To this belongs also adding recursion in delete command for dir auto which was newly failing as there is wayland directory inside now. If someone is interested, this can be probably enabled, but without additional work it results in compilation error due to function redefinition conflicts. (From OE-Core rev: e87d427d928234ef0441f9ce1fe8631fbe471094) Signed-off-by: Peter Marko Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- .../0001-src-Makefile-improve-reproducibility.patch | 10 +++++----- .../vim/files/disable_acl_header_check.patch | 12 ++++++------ meta/recipes-support/vim/files/no-path-adjust.patch | 2 +- meta/recipes-support/vim/vim.inc | 7 ++++--- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch index 2fc11dbdc2..0741745adc 100644 --- a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch +++ b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch @@ -16,11 +16,11 @@ Signed-off-by: Mingli Yu src/Makefile | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) -Index: git/src/Makefile -=================================================================== ---- git.orig/src/Makefile -+++ git/src/Makefile -@@ -3101,16 +3101,10 @@ auto/pathdef.c: Makefile auto/config.mk +diff --git a/src/Makefile b/src/Makefile +index 32c0d97d1..97c754673 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -3138,16 +3138,10 @@ auto/pathdef.c: Makefile auto/config.mk -@echo '#include "vim.h"' >> $@ -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@ -@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@ diff --git a/meta/recipes-support/vim/files/disable_acl_header_check.patch b/meta/recipes-support/vim/files/disable_acl_header_check.patch index ee1ea0f390..2a5487e685 100644 --- a/meta/recipes-support/vim/files/disable_acl_header_check.patch +++ b/meta/recipes-support/vim/files/disable_acl_header_check.patch @@ -13,11 +13,11 @@ Signed-off-by: Changqing Li src/configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -Index: git/src/configure.ac -=================================================================== ---- git.orig/src/configure.ac -+++ git/src/configure.ac -@@ -3292,7 +3292,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h strin +diff --git a/src/configure.ac b/src/configure.ac +index cdb818519..dafb7d6ce 100644 +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -3400,7 +3400,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h string.h \ sys/systeminfo.h locale.h sys/stream.h termios.h \ libc.h sys/statfs.h poll.h sys/poll.h pwd.h \ utime.h sys/param.h sys/ptms.h libintl.h libgen.h \ @@ -26,7 +26,7 @@ Index: git/src/configure.ac sys/access.h sys/sysinfo.h wchar.h wctype.h) dnl sys/ptem.h depends on sys/stream.h on Solaris -@@ -3974,6 +3974,7 @@ AC_ARG_ENABLE(acl, +@@ -4137,6 +4137,7 @@ AC_ARG_ENABLE(acl, , [enable_acl="yes"]) if test "$enable_acl" = "yes"; then AC_MSG_RESULT(no) diff --git a/meta/recipes-support/vim/files/no-path-adjust.patch b/meta/recipes-support/vim/files/no-path-adjust.patch index 908459a95e..1b380393d8 100644 --- a/meta/recipes-support/vim/files/no-path-adjust.patch +++ b/meta/recipes-support/vim/files/no-path-adjust.patch @@ -18,7 +18,7 @@ diff --git a/src/Makefile b/src/Makefile index c9513a632..7a7cbdc43 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -2534,11 +2534,7 @@ installtools: $(TOOLS) $(DESTDIR)$(exec_prefix) $(DEST_BIN) \ +@@ -2552,11 +2552,7 @@ installtools: $(TOOLS) $(DESTDIR)$(exec_prefix) $(DEST_BIN) \ rm -rf $$cvs; \ fi -chmod $(FILEMOD) $(DEST_TOOLS)/* diff --git a/meta/recipes-support/vim/vim.inc b/meta/recipes-support/vim/vim.inc index c7f3987134..2a9fda5376 100644 --- a/meta/recipes-support/vim/vim.inc +++ b/meta/recipes-support/vim/vim.inc @@ -18,8 +18,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://no-path-adjust.patch \ " -PV .= ".1198" -SRCREV = "f209dcd3defb95bae21b2740910e6aa7bb940531" +PV .= ".1652" +SRCREV = "3e152c76adb9542af86760786d42a0beffe5354b" # Do not consider .z in x.y.z, as that is updated with every commit UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+)\.0" @@ -37,7 +37,7 @@ CLEANBROKEN = "1" # vim configure.in contains functions which got 'dropped' by autotools.bbclass do_configure () { cd src - rm -f auto/* + rm -rf auto/* touch auto/config.mk # git timestamps aren't reliable, so touch the shipped .po files so they aren't regenerated touch -c po/cs.cp1250.po po/ja.euc-jp.po po/ja.sjis.po po/ko.po po/pl.UTF-8.po po/pl.cp1250.po po/ru.cp1251.po po/sk.cp1250.po po/uk.cp1251.po po/zh_CN.po po/zh_CN.cp936.po po/zh_TW.po @@ -76,6 +76,7 @@ EXTRA_OECONF = " \ --disable-desktop-database-update \ --with-tlib=ncurses \ --with-modified-by='${MAINTAINER}' \ + --with-wayland=no \ ac_cv_small_wchar_t=no \ ac_cv_path_GLIB_COMPILE_RESOURCES=no \ vim_cv_getcwd_broken=no \ From patchwork Wed Aug 27 21:29:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69227 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A6E7CA0FF7 for ; Wed, 27 Aug 2025 21:30:29 +0000 (UTC) Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by mx.groups.io with SMTP id smtpd.web10.6604.1756330219557881768 for ; Wed, 27 Aug 2025 14:30:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=zIqSYsYm; spf=softfail (domain: sakoman.com, ip: 209.85.216.54, mailfrom: steve@sakoman.com) Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-32519b32b6cso193037a91.0 for ; Wed, 27 Aug 2025 14:30:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330219; x=1756935019; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=n+smTV1VwE4+FJ0GlBkv2qEM95XoN6PZBwIOVSjM5/c=; b=zIqSYsYmvUfMLNvNrRI+3LaGyT4pga6dlHz/11qt6cxs5ogzpERBXGc0W0Yf8jOk9J 1Ffmrainbr7AZIA6GSFmmJLP830cJ0eugcHc1VqMQC1p8BwmPeIApIJCI67V14uE8fPt yQsY3GtpJcUFqDj/Jj8psy4oR1ohZtXcRp6PuCpCm8HeDdp2V6sB1M3p/atbzOJ3mp7b l4SSy9PZBYPwlBf8kxdIo66Jh4mN1KbtfrOaZQZqZKDphqTSXpSK8LCaJtgJaG2P0qjB FYlvZtMmgbdIqOPIS6gyivGwgyF7JhMhSJslV8rzr04DwKFJfmbmiwKaW8S0hW5hVgMx FGpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330219; x=1756935019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n+smTV1VwE4+FJ0GlBkv2qEM95XoN6PZBwIOVSjM5/c=; b=rlsXhdFEThS2I3oz8G9xqMj9ufGXO3zReGrX/Se6bPk/6CUhnd4o3qJbnXadOORd5t XcRYaWFYDP62EOJlpqhcGQ8Gi1sh4C8APJXyOE70OFjNHDFeaO8192Amqw2CUHwQfk/R ti5hbgVDJANWVZpu2FuWN8gHPKRpmio43OycW0dopzgp4UF8GiOuuNxxwAAYi7zRI957 QziAPxvyGwkxTYiYF4PsW0PYRszFvf0FznUmPMR51vk+BX9o72wCeQxxrIqryH5r8CN0 N3tkGCvcPizC/IAMBCVwsal7NJxYgst/vXxb1fyHvBGoAc9blMz3uJoYDLiBnBYnycmu yigQ== X-Gm-Message-State: AOJu0YwrwhYS9qLOqW/Ip+W6QYyigra0OIe2vXMvZvGxIrMgSGs579kt IZIiGICUTfnKjgcj4NnWYOLSvI5yAJU/bKSFTWaZ1oj+mYECDRMzCYavi3mCaDlbxeXtrviGEtE +D8Dk X-Gm-Gg: ASbGncuNxHTR94/RpNXlfcFYQa+xU1eGC+e1NLjkXOO/V1BPQ8qn5++NN9AzZi9zYJF GogvLfWqhxZrN/xAPg9pEqK7LTz/TkP4THqZGFTYCo0Bobzr8vylotDtIUopx/KeYsXOvPP5w2u 8m7LbBEXvmwE9Ggotv9yMEjZwMKN08k43JDBBWBFjni4RfrsgRjTSbTk/VSYkEiULrM2G1v7wyn 7uhWKJLOY2nXppu2fX1kOC9bIRxBcpcB+wonNBLeteBxwrq/3704EOHXWpDobErrXeAMaXW+EaV gIAzIJS/BuywF1C+ngTvaE2uVuEh8/uPMd3tgT5alCANlB7F/X2q+inQQzcu0U6HjSnhSTXpVUh vDL7gHdKUA6q23A== X-Google-Smtp-Source: AGHT+IGxxZ+SrNFho5vscG+R6A/V5PGF4ZKPngswZ+gFxsNx923J0f9bFbs+F8o+uibwzcxrOynjfA== X-Received: by 2002:a17:90b:2d81:b0:323:7e82:fcc with SMTP id 98e67ed59e1d1-32517b2c440mr21761241a91.36.1756330218759; Wed, 27 Aug 2025 14:30:18 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:17 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 14/33] cmake: fix build with gcc-15 on host Date: Wed, 27 Aug 2025 14:29:21 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222522 From: Martin Jansa Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- meta/recipes-devtools/cmake/cmake.inc | 1 + .../0001-cppdap-fix-build-with-gcc-15.patch | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 meta/recipes-devtools/cmake/cmake/0001-cppdap-fix-build-with-gcc-15.patch diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc index a52506a8ea..b8667832e2 100644 --- a/meta/recipes-devtools/cmake/cmake.inc +++ b/meta/recipes-devtools/cmake/cmake.inc @@ -18,6 +18,7 @@ CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch \ + file://0001-cppdap-fix-build-with-gcc-15.patch \ " SRC_URI[sha256sum] = "72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1" diff --git a/meta/recipes-devtools/cmake/cmake/0001-cppdap-fix-build-with-gcc-15.patch b/meta/recipes-devtools/cmake/cmake/0001-cppdap-fix-build-with-gcc-15.patch new file mode 100644 index 0000000000..1ff0764018 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/0001-cppdap-fix-build-with-gcc-15.patch @@ -0,0 +1,30 @@ +From f742c298a0d6b70059e5c98c89d301e62a3e2087 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= +Date: Thu, 8 Aug 2024 20:26:35 +0200 +Subject: [PATCH] cppdap: include/dap/network.h: add include for GCC + 15 + +GCC 15 requires the include for the declaration of `uint32_t`. +Backport [cppdap PR 133](https://github.com/google/cppdap/pull/133). + +Upstream-Status: Backport [https://gitlab.kitware.com/cmake/cmake/-/commit/f742c298a0d6b70059e5c98c89d301e62a3e2087] +Signed-off-by: Martin Jansa +--- + Utilities/cmcppdap/include/dap/network.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Utilities/cmcppdap/include/dap/network.h b/Utilities/cmcppdap/include/dap/network.h +index 9d14f6b70fa..dd3e0062407 100644 +--- a/Utilities/cmcppdap/include/dap/network.h ++++ b/Utilities/cmcppdap/include/dap/network.h +@@ -17,6 +17,7 @@ + + #include + #include ++#include + + namespace dap { + class ReaderWriter; +-- +GitLab + From patchwork Wed Aug 27 21:29:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69231 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89D44CA0FFD for ; Wed, 27 Aug 2025 21:30:29 +0000 (UTC) Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by mx.groups.io with SMTP id smtpd.web11.6639.1756330221677336142 for ; Wed, 27 Aug 2025 14:30:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=VFTDsxHD; spf=softfail (domain: sakoman.com, ip: 209.85.210.177, mailfrom: steve@sakoman.com) Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-770522b34d1so1070483b3a.1 for ; Wed, 27 Aug 2025 14:30:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330221; x=1756935021; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=eZvo6+8YVOOxpJp0pbBAbE89BpkiHqFla65pt8+lOqk=; b=VFTDsxHDrfefHljyIq9FBxs4iRT3FbAoU2Rlo4w8YFci3/JmRNn84X1Rk5YNjKqyUF +DaTG2dYehr7LECjK/Tb+HgvtYdlsleNA0xYOXzIS0aR45KRVyePY3h4LoSIGyzl63Ui Ly/g44IIMKPUF3cBSp7zW9hO/CMWXtbCkJ0y9cFf1pozq9nNBdXh43ZcgjLo/h+jkg0d 82o83sdSBlD3X1l1wiF/rpJXQOVF/NG4RJZVOV8AsEluMrco3V+iWDuwXFJKQLquVy2S i1RlNVBDhekBNGPnUTqJL+FCCdbfpSqA8oEO/J9G0CHIMtSd0ZnETjymadzRgPAlUV46 lVAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330221; x=1756935021; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eZvo6+8YVOOxpJp0pbBAbE89BpkiHqFla65pt8+lOqk=; b=B1+/g+PZb0oAiIlAabV9csAjodBs3za2LeuQQaVnv9Q+KA9AzPUxnqg7bq9C0sFwRL i3FFHsBmM71jbmYwkQB/Ckur/lwwKN1CcubUDDzvUEQzp+CSzw97B3ytiztzX+d81AxI XWZT8QmoYcZH8JhLQfJGaXdF+N0q7dUoywHVVudkaxYayrZUv+qYfn61eQc93eGW4HpN yrDJzodqwjLdmv2qDDVUfFuUiV/j9kL+i5y/N9Okh3Eh/z9rGnbs+ui+pLJZlGEfbCYx 7vAWFI4hrnqUe4f3iU9Dpz8ihR3o68AShUHJ4gi6bZNsSVBiffi2KETJcG3uZMQ1kzqB QWJg== X-Gm-Message-State: AOJu0Ywf7/DAEGah4fz7K2oS6RUHOPRAjj613HpKjZpqf8J/+Ravp59+ w2ncOi7amICBsTIZZ9vT3D87DPj3c9wfja8aBy3yf5AHLJipPpLP3h0PAWxYkITaskltjkEPI1z tczQt X-Gm-Gg: ASbGncv2sjMfAtHpuZh05dVIfvtg7Swh+OTuv0OxNheFIBuYK90Z808gTEO1YRuHz0/ EvhId4ojNAzsX4tbjdv2UQ35j3htP3Z1AV8NHhwQUEIJCcO9iI1RusoSWb7BuANBf1NVW74O5d2 h5547NjiDBarFeWBeGXLgN2Gw+BJRo4yf4uObIewrwcYcOwsTseZ75BrNhYsuvnEd6XXa3TgG2o REGNCLhScj0ScLg6x46NcK2yBjS9CAPGpWtTM8yz0DXFkGgl4EWzYdUKvJn9DHTUZFzAIFWyChL tob+YO9hpAZ1RWDJYN4RVMZAIB7NpM4zLo4tLQA4m9L1giBMXquCCtSur6HpA9YJvNiq4w5VL2z WQaPNG2eus9v8+g== X-Google-Smtp-Source: AGHT+IGF5SHw2aHbdAqPUxn5S+EKmp+jXuld+REJx8xXXwGztaHoo1WalBMeXWZeMUN7HfHgez4v5g== X-Received: by 2002:a17:902:cecc:b0:237:f757:9ad8 with SMTP id d9443c01a7336-248753ada89mr84250145ad.1.1756330220754; Wed, 27 Aug 2025 14:30:20 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:20 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 15/33] git: fix build with gcc-15 on host Date: Wed, 27 Aug 2025 14:29:22 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222523 From: Martin Jansa Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...ndex-pack-rename-struct-thread_local.patch | 67 +++++++++++++++++++ .../git/0001-reflog-rename-unreachable.patch | 40 +++++++++++ meta/recipes-devtools/git/git_2.44.4.bb | 2 + 3 files changed, 109 insertions(+) create mode 100644 meta/recipes-devtools/git/git/0001-index-pack-rename-struct-thread_local.patch create mode 100644 meta/recipes-devtools/git/git/0001-reflog-rename-unreachable.patch diff --git a/meta/recipes-devtools/git/git/0001-index-pack-rename-struct-thread_local.patch b/meta/recipes-devtools/git/git/0001-index-pack-rename-struct-thread_local.patch new file mode 100644 index 0000000000..b3b490064f --- /dev/null +++ b/meta/recipes-devtools/git/git/0001-index-pack-rename-struct-thread_local.patch @@ -0,0 +1,67 @@ +From e8b3bcf49120309b207b7afc25c4aa81b866ac45 Mon Sep 17 00:00:00 2001 +From: "brian m. carlson" +Date: Sun, 17 Nov 2024 01:31:48 +0000 +Subject: [PATCH] index-pack: rename struct thread_local + +"thread_local" is a keyword in C23. To make sure that our code compiles +on a wide variety of C versions, rename struct thread_local to "struct +thread_local_data" to avoid a conflict. + +Signed-off-by: brian m. carlson +Signed-off-by: Junio C Hamano + +Upstream-Status: Backport [v2.48.0 e8b3bcf49120309b207b7afc25c4aa81b866ac45] +Signed-off-by: Martin Jansa +--- + builtin/index-pack.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/builtin/index-pack.c b/builtin/index-pack.c +index e228c56ff2..74675dbd6c 100644 +--- a/builtin/index-pack.c ++++ b/builtin/index-pack.c +@@ -94,7 +94,7 @@ static LIST_HEAD(done_head); + static size_t base_cache_used; + static size_t base_cache_limit; + +-struct thread_local { ++struct thread_local_data { + pthread_t thread; + int pack_fd; + }; +@@ -117,7 +117,7 @@ static struct object_entry *objects; + static struct object_stat *obj_stat; + static struct ofs_delta_entry *ofs_deltas; + static struct ref_delta_entry *ref_deltas; +-static struct thread_local nothread_data; ++static struct thread_local_data nothread_data; + static int nr_objects; + static int nr_ofs_deltas; + static int nr_ref_deltas; +@@ -148,7 +148,7 @@ static uint32_t input_crc32; + static int input_fd, output_fd; + static const char *curr_pack; + +-static struct thread_local *thread_data; ++static struct thread_local_data *thread_data; + static int nr_dispatched; + static int threads_active; + +@@ -390,7 +390,7 @@ static NORETURN void bad_object(off_t offset, const char *format, ...) + (uintmax_t)offset, buf); + } + +-static inline struct thread_local *get_thread_data(void) ++static inline struct thread_local_data *get_thread_data(void) + { + if (HAVE_THREADS) { + if (threads_active) +@@ -401,7 +401,7 @@ static inline struct thread_local *get_thread_data(void) + return ¬hread_data; + } + +-static void set_thread_data(struct thread_local *data) ++static void set_thread_data(struct thread_local_data *data) + { + if (threads_active) + pthread_setspecific(key, data); diff --git a/meta/recipes-devtools/git/git/0001-reflog-rename-unreachable.patch b/meta/recipes-devtools/git/git/0001-reflog-rename-unreachable.patch new file mode 100644 index 0000000000..a44fe91dd3 --- /dev/null +++ b/meta/recipes-devtools/git/git/0001-reflog-rename-unreachable.patch @@ -0,0 +1,40 @@ +From 639cd8db63b07c958062bde4d3823dadbf469b0b Mon Sep 17 00:00:00 2001 +From: "brian m. carlson" +Date: Sun, 17 Nov 2024 01:31:49 +0000 +Subject: [PATCH] reflog: rename unreachable + +In C23, "unreachable" is a macro that invokes undefined behavior if it +is invoked. To make sure that our code compiles on a variety of C +versions, rename unreachable to "is_unreachable". + +Signed-off-by: brian m. carlson +Signed-off-by: Junio C Hamano + +Upstream-Status: Backport [v2.48.0 639cd8db63b07c958062bde4d3823dadbf469b0b] +Signed-off-by: Martin Jansa +--- + reflog.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/reflog.c b/reflog.c +index 875ac1aa66..aeab78c9b7 100644 +--- a/reflog.c ++++ b/reflog.c +@@ -210,7 +210,7 @@ static void mark_reachable(struct expire_reflog_policy_cb *cb) + cb->mark_list = leftover; + } + +-static int unreachable(struct expire_reflog_policy_cb *cb, struct commit *commit, struct object_id *oid) ++static int is_unreachable(struct expire_reflog_policy_cb *cb, struct commit *commit, struct object_id *oid) + { + /* + * We may or may not have the commit yet - if not, look it +@@ -265,7 +265,7 @@ int should_expire_reflog_ent(struct object_id *ooid, struct object_id *noid, + return 1; + case UE_NORMAL: + case UE_HEAD: +- if (unreachable(cb, old_commit, ooid) || unreachable(cb, new_commit, noid)) ++ if (is_unreachable(cb, old_commit, ooid) || is_unreachable(cb, new_commit, noid)) + return 1; + break; + } diff --git a/meta/recipes-devtools/git/git_2.44.4.bb b/meta/recipes-devtools/git/git_2.44.4.bb index 66936417e1..3c94667382 100644 --- a/meta/recipes-devtools/git/git_2.44.4.bb +++ b/meta/recipes-devtools/git/git_2.44.4.bb @@ -11,6 +11,8 @@ PROVIDES:append:class-native = " git-replacement-native" SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \ file://fixsort.patch \ file://0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch \ + file://0001-reflog-rename-unreachable.patch \ + file://0001-index-pack-rename-struct-thread_local.patch \ " SRC_URI:append:class-nativesdk = " \ From patchwork Wed Aug 27 21:29:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69228 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E23ACA0FFB for ; Wed, 27 Aug 2025 21:30:29 +0000 (UTC) Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by mx.groups.io with SMTP id smtpd.web10.6605.1756330223121762547 for ; Wed, 27 Aug 2025 14:30:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=uxKKFYx3; spf=softfail (domain: sakoman.com, ip: 209.85.215.182, mailfrom: steve@sakoman.com) Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-b4c3c36643aso216580a12.3 for ; Wed, 27 Aug 2025 14:30:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330222; x=1756935022; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Z3eLs0spXINi/TSBo0uEssx6cITHA0DTvkk1K3WMLT8=; b=uxKKFYx326Bp/3PMXEVDlCkuEv21IiY9IMXF/hm2RHcpc8KJv+jL2+dvQzcPyJRLxI XrzsGqHQiLSDGg9xaC05zferNIyVZD0IrWga8cpsRBSW1n0pWEpK4LwVNUu3RFzewWr6 m7AOS/GlcTUM6X9YnYug8n7qCrLZsP04OyYVhYpSg01xy0CO6pWSCQEaV52Uf4HpDSFo +ObfvF5rdVBZUovIaYqkP0YzTcbU6+/EDbs/r+txw4LmjWm6XpIldEhpNjH0hs6Vyt+O WcX/kh8wRKiql4L+Sl/mIMHBgAyXuXbNxynXM/VSsjQO46z0PZ8ex7kgDwUgxICIehmR qMVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330222; x=1756935022; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z3eLs0spXINi/TSBo0uEssx6cITHA0DTvkk1K3WMLT8=; b=TOpTFs+JOJNiYyUki2bNJcR6240CVfwn3g1La5AnCPN5ycbiG5S4Rmx+pibvC+sk0B fqQpB5va3MvMB3LahHwJ76z0XDOb+ZeSS4/kZ060wUrZS+WbNsTD/moxQ8gVjTmXe2FA u1pop8OjAOvLssQpmhGKW6nMAv4HvJLx9qJwNRGZso3qgYi9yjvGx/1gK2WMBbsnIBUX SgzygYSieISDxaCsKaMAmlYNaj22pfmU7cfS2+ae1fp7/LYfYZ15ywxv5+2UQ+YrEMIY GqGSPe9cg8nEX6kRktKfoKmOhzufPss8CIzSDZv1skukpOIx9lt8TqGbFnenl9ZIri52 8Wvg== X-Gm-Message-State: AOJu0Ywyn+ULTbHUkIdhHxbf+wRhJk2U+g0tRGXqh2flzcI/xfRBN4v4 qs7Cl/ZQ0Y4W7IIJDmTLZtB+fRUTtti1Dbx34C9M/nqQyQOj8r5y4pqCHkcAzny5ZVn53/cVWu9 3M6pg X-Gm-Gg: ASbGncvKwA2FPs4FUN7mj0U+mZJkeTWhMmmjI/6TkRNLlXbJJMGxfIoQmI7f8ALvBCw N1uGevYc0h4KVPOX9z243HDyTS6b8+oLpjOHuEWNaCI+PGpMHlDFmEDYpRXNcq/x9gQX59OX7qw AggUmaWRyA7KGRclegppUxhOoe9P8twdZ7Zoe1SMitK9y9QSgFclpiKEK8/YcqY3SdrZubi6e/t xSWt3AXD7snbL8JfRSSSjt7dhckiG2Oi30mn9MGq756S9JfZy2ooMFI05mbJOOZAEbrN4ZsKHcx iZ6sFSF/3JHdBx60fzS9XCptSuZLiq9dlzx37eFmftwwJZQ4pIdlhD2q0wc29/gyLF4jw7U1nPx i6Ho8Ps+e52+MfSv1jxxqZpBS X-Google-Smtp-Source: AGHT+IEoFb8xyF805OYeqUAxAnEjfSgoM9l8doWRPZ8MqsFYAFQyI3rhfc9hRi+R5KineNRZrujNag== X-Received: by 2002:a17:90b:3805:b0:31c:c661:e4e with SMTP id 98e67ed59e1d1-32518997f87mr26401349a91.33.1756330222353; Wed, 27 Aug 2025 14:30:22 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:22 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 16/33] unzip: Fix build with GCC-15 Date: Wed, 27 Aug 2025 14:29:23 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222524 From: Khem Raj Add a patch to remove redundant declarations Signed-off-by: Khem Raj Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- meta/recipes-extended/unzip/unzip/gcc15.patch | 18 ++++++++++++++++++ meta/recipes-extended/unzip/unzip_6.0.bb | 1 + 2 files changed, 19 insertions(+) create mode 100644 meta/recipes-extended/unzip/unzip/gcc15.patch diff --git a/meta/recipes-extended/unzip/unzip/gcc15.patch b/meta/recipes-extended/unzip/unzip/gcc15.patch new file mode 100644 index 0000000000..ab06a4713f --- /dev/null +++ b/meta/recipes-extended/unzip/unzip/gcc15.patch @@ -0,0 +1,18 @@ +Do not redefine gmtime(), localtime() + +They are already provided by system time.h header + +Upstream-Status: Inactive-Upstream [need a new release] + +Signed-off-by: Khem Raj +Signed-off-by: Martin Jansa +--- a/unix/unxcfg.h ++++ b/unix/unxcfg.h +@@ -117,7 +117,6 @@ typedef struct stat z_stat; + # endif + #else + # include +- struct tm *gmtime(), *localtime(); + #endif + + #if (defined(BSD4_4) || (defined(SYSV) && defined(MODERN))) diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb index c13e7a008e..0a88b4c092 100644 --- a/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/meta/recipes-extended/unzip/unzip_6.0.bb @@ -32,6 +32,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/ file://CVE-2022-0530.patch \ file://0001-configure-Add-correct-system-headers-and-prototypes-.patch \ file://0001-unix-configure-fix-detection-for-cross-compilation.patch \ + file://gcc15.patch \ " UPSTREAM_VERSION_UNKNOWN = "1" From patchwork Wed Aug 27 21:29:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69226 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A6ACCA0FED for ; Wed, 27 Aug 2025 21:30:29 +0000 (UTC) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mx.groups.io with SMTP id smtpd.web11.6640.1756330225064447071 for ; Wed, 27 Aug 2025 14:30:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=r6+wFs+Q; spf=softfail (domain: sakoman.com, ip: 209.85.214.180, mailfrom: steve@sakoman.com) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2489c65330aso3012245ad.0 for ; Wed, 27 Aug 2025 14:30:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330224; x=1756935024; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6cS0ee6vh2c0kvJQyu+xaQ2FzSyOrgvNdCiwlEJngk4=; b=r6+wFs+QQtOwAbWq18Wf8ZYx4cGrw32S4GSCyFQK2v+Uqa4UKu1/5ytmrPGgXvs83d eKBq1ioYRxVGhsnsKyAfKuUcrzHJA1/EK/sqqNGXNvWKTtlsM8D+8nyiM3a3tJ+/02wc y/RzpeAkF3EEUAJtVmXab5MpqtDwEo+QQj6H+HkmF9T8RnBgI5f7gjAbCTZ3VUKNn93H 8AQEQhj9AYfr9gUNGi3fIAdmXjUT1suTP+FRroxI0dBjrGfNFEU+BDiYffhRt1ksXEhd sW4Uiy/eAiZPhJ0z61nHCsqwurRdwsL6I2P4/hnhkUHBCHBo34FNWGi7JZJLCISdsppD I8VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330224; x=1756935024; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6cS0ee6vh2c0kvJQyu+xaQ2FzSyOrgvNdCiwlEJngk4=; b=Al8tkHZbdcF2C9/LSV4+DAX4Y0MEKzqkaOcSSXzFcfVpIO/goOnAdO+cPMvcYezfyx CwShysPr1Wr4ju64Ke7uqYGtzI6iese/PX1Gnwjz77mIWRZk5xJhD0ADa7dad7OnCuiw oprJ6TlkkcAZ3Wjc6pBzL8g7uLngd3rI1X9Yko2ZXs5MYrssISlCNAt6uzN5zGbFXi+1 lJi0hys+G50u5WFx+RenU07Yo/2KFAdCDbpAh0Fz9CDXoKMP+jE5Ucq2kqYb9gvl2W6g /vtJo/0YiSgqVrXnaD7cjeOgEyiTIpHjbmOwFb0MX+o3bAb68UK3dzmy70SwjYkkOkq3 7NUw== X-Gm-Message-State: AOJu0Yz7FYF9IXlq0lMCRS+/srpiiN3Lps/KFNNvThDzyrxrCIVQpqFO iD95wNZqfM0RUZSTJ0OJhHuW05NNNMD3VLYbmTSDgnTOyOTFciWw4EF1BTSW+4/Lz/Ic+McHfko /2q88 X-Gm-Gg: ASbGncvYw99/HwCxmU4iVkdkm4Q6tSiHTpp4OdsxkDllXJghH7cqR/eihnNoHCLjAL1 hQ+zpiAD1pNXqonpmS5WVqHhC9n7zZaDL7QCHSwkej+NjJ2X6ADipZ/PxwiuHaPPzWJzefT/O98 9okaDly2NClSlO5pwy2OyDSjBV3DNXTNsPSjClt5F7RFc3LiX6k8AxG6eJKDBu8sQOXhTg459/z ozMujREV6RfqgDAIxtrd3pfRiqBjwaDsLkZB6VIMrLefTWIsLOGhts8CYB6kHdUSN4h+B38AkHP 4r5auEykKAxOhPFfEs739oROXTIreOVeHxbQSyaXVlRIPj/azq+gyGKcFktNfXAbO17lSmTspGC hlaqZWAhvtAUiWQ== X-Google-Smtp-Source: AGHT+IGE4pQ22g2HnpVkuxZBdQgmaF73IshkZN3KjCL59PMq1N208fTkDfk/RLIaj8l1QD9Ottm1lQ== X-Received: by 2002:a17:903:11c5:b0:23f:f96f:9de7 with SMTP id d9443c01a7336-2462ef1f266mr225976105ad.51.1756330223872; Wed, 27 Aug 2025 14:30:23 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:23 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 17/33] m4: Stick to C17 standard Date: Wed, 27 Aug 2025 14:29:24 -0700 Message-ID: <94ec72b332dce71a2756560ddf738f864e3c853d.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222525 From: Khem Raj GCC15 imposes C23 by default and 1.4.19 release has gnulib version which can not be compiled without errors, while new release of m4 is in progress we might use C17 until then and use GCC15 to compile it For scarthgap also add it in BUILD_CFLAGS. Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- meta/recipes-devtools/m4/m4-1.4.19.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-devtools/m4/m4-1.4.19.inc b/meta/recipes-devtools/m4/m4-1.4.19.inc index fcc9e58270..4b1f847664 100644 --- a/meta/recipes-devtools/m4/m4-1.4.19.inc +++ b/meta/recipes-devtools/m4/m4-1.4.19.inc @@ -30,6 +30,9 @@ EXTRA_OECONF += "--without-libsigsegv-prefix" EXTRA_OEMAKE += "'infodir=${infodir}'" +CFLAGS += "-std=gnu17" +BUILD_CFLAGS += "-std=gnu17" + do_compile_ptest() { cd ${B}/tests sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_LIBRARIES) $(check_PROGRAMS)' Makefile From patchwork Wed Aug 27 21:29:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69230 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71421CA0EFF for ; Wed, 27 Aug 2025 21:30:29 +0000 (UTC) Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by mx.groups.io with SMTP id smtpd.web11.6642.1756330226675980062 for ; Wed, 27 Aug 2025 14:30:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=a7/wWc1H; spf=softfail (domain: sakoman.com, ip: 209.85.215.172, mailfrom: steve@sakoman.com) Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-b474e8d6d01so273214a12.0 for ; Wed, 27 Aug 2025 14:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330226; x=1756935026; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=gC9nE5MVbzo3m58NchZ6y0Vej0N0tQUXvfWriYPgpaY=; b=a7/wWc1HpAI/CgyHO2rv7YHMpPEUyWvDFz90LPhyWIy0zuh+AyRcqtvITLmC8G65FS 3NVvVCDkWCj27Pda+5DLVl+N1J4LGp8WwJKk1LSgSaq6uiKFz66P4Gd3BANVYTeLf7JE /wNVWyDQOwtsUyZIQ2+XWH7C612/sioNIWnVkXpwaNWNfzu9PpQqB2uTfcjsbT2l9VZ1 kcn3wvqTBlHtvl17f0ct6EfvQ+Thzr9PJ96iX4j6ItBE7EULJ18rreI+wRAQIryP/6k3 IN8B6LruBY+RyuKKq27P7RXn+oLN52sLUdEbcD9z1AC0f96la91D8Dv2p2gyocmP/7uM qAfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330226; x=1756935026; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gC9nE5MVbzo3m58NchZ6y0Vej0N0tQUXvfWriYPgpaY=; b=AygkJqKPPjg79+AyXmKg337WlNhorlWaHEkVQR89DK1yAi60ugePym4Yf6wza8tcxW 85s/SFKwF1P7HqXiSwhjg+myhn5vzBQBeDw3toAAgIM8JfdZ9/xadX0EA9plgVo5jyCD hHdXG3sAwossaq+T68DNodamcylDF1DOdcFNwvK52Q7Jo8gtscIVM/1rPm/BPEIPodpA SeQmuBHZjn9CY5VN7HDqfRpAhlN0HZyT/BAO0+dFcBY35aEXPKXIfMAhzxK/ITRdZxcP q9cJ5Kks4l76wk5mUgHXepPLuazXertKcmDDDj0Q/kt1ZOjy+6h/W7ABskhqLoERI1zr tXkg== X-Gm-Message-State: AOJu0Yz457JoSFuZ8KyX6F3ldL9qfOl7TlCgzdZgiIgHzvpVioEz056v ULZTcMr5kbk6kWIk0sSkZrFjnSYVkSfuFvFdvo1riERMoLS8UCwZ3MeueoRknLYt58585aGM75m 1Mngx X-Gm-Gg: ASbGncuAbMlEpyNN5OektpTtR3me0XJOJ+Kif4jaGEOQswR/vL6ElCclbl0FRL2Wm8+ 9ucRF3NzuT4H/lsfxc6Sqs4IDRLLYzaRoHeohM4eEhh9yUT1BltBqP69rogdME+3gWjW9AYLRc6 9+u4X12HjtL3kCW4d00Rv5g8aBUzCI8YyXsWcTj3j5Rd2I3B6XXEPK4Ai98N86LtYYAwvwpaSY5 uVLVDE9dxPnbGYJ8XQk1dloFh1Jn9rbIzD7UnjZSoZVP/WrHcBV3MuRTyHJ6hpHzhW5PMSIwTPA jkalCzLyzWJHiXVYDr3LiZP5lB94Gv7TljdWigEUxLUvZLNNwpC9IQF6RCtjBIy5Ukp1m07WA/5 dmbzqoJ9orOjBCg== X-Google-Smtp-Source: AGHT+IECqypKy/hcVNPhLsFyG3nhQ2Ua/hYThUghyK1gWE9Iinhn4xkwaR1AVPaniH2f0tKgyXQPZw== X-Received: by 2002:a17:90b:1fcc:b0:327:6823:bfe with SMTP id 98e67ed59e1d1-32768230e60mr6255518a91.8.1756330225872; Wed, 27 Aug 2025 14:30:25 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:25 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 18/33] gmp: Fix build with GCC15/C23 Date: Wed, 27 Aug 2025 14:29:25 -0700 Message-ID: <5114bea0e9fe3cc15cb4f4d264a932d5b9897296.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222526 From: Khem Raj Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...n-prototype-in-acinclude.m4-for-C23-.patch | 25 +++++++++++++++++++ meta/recipes-support/gmp/gmp_6.3.0.bb | 1 + 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-support/gmp/gmp/0001-Complete-function-prototype-in-acinclude.m4-for-C23-.patch diff --git a/meta/recipes-support/gmp/gmp/0001-Complete-function-prototype-in-acinclude.m4-for-C23-.patch b/meta/recipes-support/gmp/gmp/0001-Complete-function-prototype-in-acinclude.m4-for-C23-.patch new file mode 100644 index 0000000000..ee199a8373 --- /dev/null +++ b/meta/recipes-support/gmp/gmp/0001-Complete-function-prototype-in-acinclude.m4-for-C23-.patch @@ -0,0 +1,25 @@ +From 51a657c827422d2bc284d752dfbcfd2b1311a5bf Mon Sep 17 00:00:00 2001 +From: Marc Glisse +Date: Wed, 29 Jan 2025 22:38:02 +0100 +Subject: [PATCH] Complete function prototype in acinclude.m4 for C23 + compatibility + +Upstream-Status: Backport [https://gmplib.org/repo/gmp/rev/8e7bb4ae7a18] +Signed-off-by: Khem Raj +--- + acinclude.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 9cf9483..787511f 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long reliability test 1], + + #if defined (__GNUC__) && ! defined (__cplusplus) + typedef unsigned long long t1;typedef t1*t2; +-void g(){} ++void g(int,t1 const*,t1,t2,t1 const*,int){} + void h(){} + static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) + {t1 c,x,r;int i;if(v0){c=1;for(i=1;i X-Patchwork-Id: 69229 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 76E25CA0FFC for ; Wed, 27 Aug 2025 21:30:29 +0000 (UTC) Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by mx.groups.io with SMTP id smtpd.web10.6606.1756330228408980672 for ; Wed, 27 Aug 2025 14:30:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=QMZGccbH; spf=softfail (domain: sakoman.com, ip: 209.85.210.170, mailfrom: steve@sakoman.com) Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-76e6cbb991aso337051b3a.1 for ; Wed, 27 Aug 2025 14:30:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330228; x=1756935028; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=VXgtD0QrPyUFlP1oCsvVr7/qYKRH8bb14uys1zsOBp4=; b=QMZGccbHLWa4csB2xoW9lj199806MQk/1Hi8ImJ55hQN+IcYRMX1TgVZX158gz7hQK MCAv+gDyazc8h5q56whg/7raJuaguRm7HIDMwswonQ/9ONu7RMoK/30HImPqjinQwxiK 0j7fAioqgUGFva+HoZ37T7iNNXXp3Q8mV2a/bj/oRua4Vv+UWz01o2ISbQbeQvNkHm1w 0CsXr6fuhryXlxWdvEz5q5T0/a0yAwS9iFc+cpEuEVqF4wdjPeK+9uE624Rl6Qfa9lRg cpYOM2rBO/Xqh9q4TjCl3TlSshRm2rmf4FRLk8zayIhMIRMDI6x6k1+beqOY3n/a7Soq HtwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330228; x=1756935028; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VXgtD0QrPyUFlP1oCsvVr7/qYKRH8bb14uys1zsOBp4=; b=RVknN0FUR80673G7u60hwjWZN3aFXyHeFHAUJo1fiMWfIKUO4tEPgddV3UZUXOcXZW zluyYP6OaXf8i57gt8+0nUkGD2TV96mInITr9ECP+c6K+Ugkhms3evnZvdu7yWo5lEJt YHI/zoVOyygjQccBfLH1eLflR/ZI3TGOfd92C+g6Gkutkro/T4KXQYm6zt7LnU/nM04W 5NqFBA+SIk1cVJhfgcn4OY56iIBDCGlD6FQEiy2f5h0YH4OvwS8g6YRr5h8MYF3ThxUf ekDF/EFN93SOucA8R3WErL/OFvJSpwLxC31j7FXnjsp5bJ5jiK4LrI5nAH2pYlELpspA 1feQ== X-Gm-Message-State: AOJu0YyifWdEdBbCmcMvLF0vwce1m3FfINMSr3hw4Fp/KofCLiYEVRY+ LfVnZ5R9GSIjO+gguZJzb0Il8Y+2WNpGTwDVlgaQZLqol/3TwonWyA2yswl9rYz1Zw0pjIcDAa5 QC16S X-Gm-Gg: ASbGncsWMoT//nVN0RKAYpNHaXCPU0IlXfDini+VE88LzZCXt4nAxyICHGpXj5Br/yK CSHoBsBVRivhgTo5qi4Vpx+tzOF7vpTYSg27OUX8ztMHx8/EQVZwiGfQEMGhCbh5raERTRGpQed /GFrwSS+96fLVPQxRUaRYVpr9gthfqfQ/gR5OsYZ07TfnbR1JMY+GYJs2+vr95pbU4DHgRwJ19o JKtB/UQaa++DMGmJmtNFnjtNnjwy5op8+rXp1WaRKV1t51mN5hC6HovdD37/ZQTn4ULwzOylNLY /Gvse/RwgGtwM8Ob2T5VfC6u1xSFcPyZyv6M6JfbjyEg9Ldqf2ycsRLfu3kCpBWFiImTyllQXpR svW9+eGZrR7WnUA== X-Google-Smtp-Source: AGHT+IFNGuCQhozP5i1nqGebLE470yMhqoZh+fQbPJdOsXRsJBHu7i97Kpekc/+vMAD+9OgG5Kd7cg== X-Received: by 2002:a05:6a21:7e87:b0:243:4eb0:5835 with SMTP id adf61e73a8af0-2434eb05a09mr22094235637.57.1756330227583; Wed, 27 Aug 2025 14:30:27 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:27 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 19/33] gmp: Fix build with older gcc versions Date: Wed, 27 Aug 2025 14:29:26 -0700 Message-ID: <237085506a454fb927389d681f30c8c995bc7b2b.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222527 From: Khem Raj The fix to make this work with GCC15/C23 caused problems with older gcc versions. Add a fix for that. Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...d-parameter-names-in-prototype-for-g.patch | 50 +++++++++++++++++++ meta/recipes-support/gmp/gmp_6.3.0.bb | 1 + 2 files changed, 51 insertions(+) create mode 100644 meta/recipes-support/gmp/gmp/0001-acinclude.m4-Add-parameter-names-in-prototype-for-g.patch diff --git a/meta/recipes-support/gmp/gmp/0001-acinclude.m4-Add-parameter-names-in-prototype-for-g.patch b/meta/recipes-support/gmp/gmp/0001-acinclude.m4-Add-parameter-names-in-prototype-for-g.patch new file mode 100644 index 0000000000..ae2411fd1b --- /dev/null +++ b/meta/recipes-support/gmp/gmp/0001-acinclude.m4-Add-parameter-names-in-prototype-for-g.patch @@ -0,0 +1,50 @@ +From 1744e433a16fb39a55c4c771b8ecb02246aa5b99 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Mar 2025 09:40:06 -0700 +Subject: [PATCH] acinclude.m4: Add parameter names in prototype for g(). +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This allows it to compile with older gcc e.g. gcc-10 +which does not have allow parameter name omission, it results +in + +a.c: In function ‘g’: +a.c:3:8: error: parameter name omitted + 3 | void g(int,t1 const*,t1,t2,t1 const*,int){} + | ^~~ + +this was added to gcc via [1] thats why it is supported in +newer gcc. + +Adding the parameter names make it compatible with +old and new gcc + +[1] https://gcc.gnu.org/pipermail/gcc-cvs/2020-October/336068.html + +Upstream-Status: Submitted [https://gmplib.org/list-archives/gmp-devel/2025-March/006294.html] +Signed-off-by: Khem Raj +--- +ChangeLog + +2025-03-15 Khem Raj + + * acinclude.m4: Add parameter names to function prototype. + + acinclude.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 4fca12de2..b9d1eacfe 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long reliability test 1], + + #if defined (__GNUC__) && ! defined (__cplusplus) + typedef unsigned long long t1;typedef t1*t2; +-void g(int,t1 const*,t1,t2,t1 const*,int){} ++void g(int a,t1 const* b,t1 c,t2 d,t1 const* e,int f){} + void h(){} + static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) + {t1 c,x,r;int i;if(v0){c=1;for(i=1;i X-Patchwork-Id: 69232 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83762CA0EFF for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by mx.groups.io with SMTP id smtpd.web10.6607.1756330229845953555 for ; Wed, 27 Aug 2025 14:30:29 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=xwgj5HpA; spf=softfail (domain: sakoman.com, ip: 209.85.210.173, mailfrom: steve@sakoman.com) Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-7704f3c46ceso283986b3a.2 for ; Wed, 27 Aug 2025 14:30:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330229; x=1756935029; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=j7la/fFiO76PT50sbrmKizbT8InT19wZzwKvmHgaPao=; b=xwgj5HpA2XIly11UtD2vdotb8/DPUiF0LUI9yA1qUH89bbgpFByGXCb4twvRse93Qr IF/xYsE6fvtVJTvC1ZdFRdnoDI4/IALHDG/IaeOH580bkupjgNkNG0khxBQ0ZUjisWTo KyeDDexsrTMjcceDxY0yd8HWMp5VvP/0WovCL/C2Z4ltAQqPAVKt61U+WYYrFs16RPWo 0O3esgvFqJeGBR4iBWxlT+jlCNqBr5MEa92vTVMqQx2tUSiIgKgMVmh05NM/y9eABWhf s5dJij+81DMNTFr0j1oB79P832VmnpDvc/0qvVuyDoSHB1Auh5NtvwaE5iJxowSPSPvT 0wLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330229; x=1756935029; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j7la/fFiO76PT50sbrmKizbT8InT19wZzwKvmHgaPao=; b=NM9swrwnzvxnihEkAlHKFfLcjM9sx13JwdzSjwoCOXR8lYbLYtfWH6VR0TbcvTMYXm VEMP8DdUMy0/vK1r76MIedNFQhehpLjIbUhCLO9LOBQDAXoCDHfbILYiXFmUgStPL4qc buu6OZmNYT2oWfqWESQCF+3Fj1pIpjiuEjGfdnUtC7Rl0sJLfJ6YHdEbqmieF17acTUU X+b/2DwQm9tMFI04cdTDdfRLZxcOeuUIMP0mIIcllqNQiRbLbIjaZ+Y84XHyfqOy7SQf FYL43NDF9V22XDjLxckMeLCvHzYLc4mmxtz8aTtMN0OtKPiV+8QgHlBNuRyvH4Ykr95t 7FOg== X-Gm-Message-State: AOJu0Ywer8fqr4jDE+bvwFQoT+vDS3wY1XVwnCiJHauQ7SLYh0J8s82t ZjJnY++c31iDeeUz1KN1dF9f8u4kyeU1ZDtzyYxvdkzNRz+yA7T3Ibg5+/dy+uJrCF5NUYulOqa zlyeH X-Gm-Gg: ASbGncu8BPOFVJJXPpA0AuUlLCCrtVl0FSgx4KBrAxy3/Zri72CmHu5xze/tiSkPLNe U/uM4d+76g6RSWamC7J0zlwlMghZQVwP/sfNRpHytOOuxVfg1moYTiOln/VFVpVphNa53TtsfrF Pmja563Hlyx22th7FeW95hWJ/BTZoYQBQh4taTT4kfem8lEoTvZU5oKfzF1WW0wnn7c0LrOtlo1 ZbZf2PsdYYNM2o0gI7peNmtcpRDL/kv8KyO5ls3p/lmRi3rj5crKVfG6n9uZCLA4MRQefQLdIXj nvETFTLt8L/TWee8EZ3cJQAcCr2b79Qt0Oo0cmxSw5u6jWIDYrKS0+FWBIRIHTkzGWh+nZn97nF Ld26+KCOxsoGofzeEKXoIC6RL X-Google-Smtp-Source: AGHT+IFftx6LQRNtJijmwg6salDvyRukHjFTWqyfc77bsNlrtxI9PAl3j+Xtn9AkMkltCMJOxC6JZg== X-Received: by 2002:a05:6a20:734e:b0:240:1918:1c1f with SMTP id adf61e73a8af0-24340d2c281mr32828629637.39.1756330229010; Wed, 27 Aug 2025 14:30:29 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:28 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 20/33] gdbm: Use C11 standard Date: Wed, 27 Aug 2025 14:29:27 -0700 Message-ID: <97989d81c5e30434594beadd9449e907e98d3ceb.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222528 From: Khem Raj GCC15 is switching defaults to C23 and gdbm is not yet ready to compile using C23 std. For scarthgap also add it in BUILD_CFLAGS. Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- meta/recipes-support/gdbm/gdbm_1.23.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-support/gdbm/gdbm_1.23.bb b/meta/recipes-support/gdbm/gdbm_1.23.bb index a08079741d..9b32935571 100644 --- a/meta/recipes-support/gdbm/gdbm_1.23.bb +++ b/meta/recipes-support/gdbm/gdbm_1.23.bb @@ -23,6 +23,10 @@ EXTRA_OECONF = "--enable-libgdbm-compat --without-readline" # Stop presence of dbm/nbdm on the host contaminating builds CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no" +# Not yet ready for C23 +CFLAGS += "-std=gnu11" +BUILD_CFLAGS += "-std=gnu11" + BBCLASSEXTEND = "native nativesdk" do_install:append () { From patchwork Wed Aug 27 21:29:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69238 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AB9D6CA0FFF for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by mx.groups.io with SMTP id smtpd.web11.6644.1756330231484951487 for ; Wed, 27 Aug 2025 14:30:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=dVlgfUcx; spf=softfail (domain: sakoman.com, ip: 209.85.215.173, mailfrom: steve@sakoman.com) Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-b49db86cac4so241065a12.3 for ; Wed, 27 Aug 2025 14:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330231; x=1756935031; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=mZerscwBIRGWF3oFNtoL2m/ZMsKBCKTmECtaoMNqcF0=; b=dVlgfUcxT1y5hkQAvzC2I2drHZMYeIF1WVRFAOiDjcRpRNi3uZI6Le2c0EwMqTHKkP QQGHoR17x2/R6kXYbnelkWebluD+uqcX7lanZmtjhcQeNCwQYjbVV7kohDY4qMhcY+/J mcBEf9QLRnEj6+Dv4fpsg8Omx60biw7lnYn4Yw8sKxJpenxkKdHKhVE4GzHZreWEKdSq I9yCh0znolDKbYrDG557OsuMQRsuqSb0rJUjGx62r8lg9UvAD4YkHOAl1sW/Jggcu7HM dJ0C0uHh6lpimiU0EBndvHJ+dno2AEkvUVVWx8kCXLaDzd3ZOqkcyhIX93dIb04qafOd JGDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330231; x=1756935031; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mZerscwBIRGWF3oFNtoL2m/ZMsKBCKTmECtaoMNqcF0=; b=geZJ/IYHeahCiXjxL2PvzArF5Fjap7zm1sZmVM1UHNYVxNxQdhvAGc2JDwnN3ib5Yy /7YZ7NXdeGFGY8ZS4MnxdKOAhMP5bNOGSNXgTdzxY7DEgHnxPLsSartyjVBbgy2uvtLz 8066XcEnwPxsM8JxM2G8rjGq5jH2uak9mGs4UotAZJzoHg4S3x5xFrNo9Yvm+NktvAF7 L4TGr1z5Fhi5OjPn/pbdOvyJtwzSUtVLtbtxM4l6sZyf7R49m5ReUu1g0R8SyDBxhtNf xs+fZtKF9n6g6wWyRxxTv8hgm9Ue0VXRHxdd3cPglfYidrcxjFF9ggnNTrvqlsz6KAFr 9Cwg== X-Gm-Message-State: AOJu0YzGVOz+lNHki95bNBn+R7aRi8Ss7DW+8G93YHSTBwV1FqdHXQqy RTHBYYf7it5tLWVM3Mqn0OplKBx/9is1WJamG8/n/nYsRvctkHBWJaf89yRXXj98fj6qGWmkIkV rpknb X-Gm-Gg: ASbGncutOu5oV9w5498L0RaXTCaP0AQL5OIw2GG+ZhfbAnBhSECI9uYm3DM5NAwodcx 5UiVbGQ0JTlassW2N5lcS8UmJ1r7uFiyIfbE/tQjICEKmlAjFiW2/BphEcWprB20cdxmkGE0Nn8 ZghBMgwTpIZdTJoK+LI9zSgEKH7H6VlGNJdNax2JTK7skjynsDQIj8+pEFdIgluIxZQ+XkhNMCU ssZ/b1DE2QnK/k0qFtmA05QVJNYXpOmgIyZeyZJGa0LsnUqd1vV8/SmZl7h9a+z21tsEp1mKKyP 66xSoFkQQKGZbvb6FAoV508/AH6XThYGqPS0qDbHd+dw3WnMNeVhOQm4RPzKYYFIlpUulKYJE4f 8dbeUC7SWtEiQoBsJXAu1KkCw X-Google-Smtp-Source: AGHT+IH+oQVW1zV6GC30LkCXE1VOnb2YjEc9ihIfzwl4mt0v1EDWSdN1oJf3N3UcNjDJEaJjRcpH2w== X-Received: by 2002:a17:90b:350a:b0:327:75c9:bea9 with SMTP id 98e67ed59e1d1-32775c9bfeamr4639106a91.24.1756330230551; Wed, 27 Aug 2025 14:30:30 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:30 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 21/33] unifdef: Don't use C23 constexpr keyword Date: Wed, 27 Aug 2025 14:29:28 -0700 Message-ID: <3085783dd5585a85a3853858215689c362429c64.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222529 From: Khem Raj Fixes build with GCC-15 Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...0001-Don-t-use-C23-constexpr-keyword.patch | 57 +++++++++++++++++++ meta/recipes-devtools/unifdef/unifdef_2.12.bb | 3 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/unifdef/unifdef/0001-Don-t-use-C23-constexpr-keyword.patch diff --git a/meta/recipes-devtools/unifdef/unifdef/0001-Don-t-use-C23-constexpr-keyword.patch b/meta/recipes-devtools/unifdef/unifdef/0001-Don-t-use-C23-constexpr-keyword.patch new file mode 100644 index 0000000000..9d02183930 --- /dev/null +++ b/meta/recipes-devtools/unifdef/unifdef/0001-Don-t-use-C23-constexpr-keyword.patch @@ -0,0 +1,57 @@ +From ca1ac9c8bde84dbdea972299b1a6e30e78c2d785 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 17 Nov 2024 01:26:27 +0000 +Subject: [PATCH] Don't use C23 constexpr keyword + +This fixes building with upcoming GCC 15 which defaults to -std=gnu23. + +Upstream-Status: Submitted [https://github.com/fanf2/unifdef/pull/19] +Signed-off-by: Khem Raj +--- + unifdef.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/unifdef.c b/unifdef.c +index dc145a2..4bd3bda 100644 +--- a/unifdef.c ++++ b/unifdef.c +@@ -202,7 +202,7 @@ static int depth; /* current #if nesting */ + static int delcount; /* count of deleted lines */ + static unsigned blankcount; /* count of blank lines */ + static unsigned blankmax; /* maximum recent blankcount */ +-static bool constexpr; /* constant #if expression */ ++static bool is_constexpr; /* constant #if expression */ + static bool zerosyms; /* to format symdepth output */ + static bool firstsym; /* ditto */ + +@@ -1086,7 +1086,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp) + *valp = (value[sym] != NULL); + lt = *valp ? LT_TRUE : LT_FALSE; + } +- constexpr = false; ++ is_constexpr = false; + } else if (!endsym(*cp)) { + debug("eval%d symbol", prec(ops)); + sym = findsym(&cp); +@@ -1103,7 +1103,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp) + lt = *valp ? LT_TRUE : LT_FALSE; + cp = skipargs(cp); + } +- constexpr = false; ++ is_constexpr = false; + } else { + debug("eval%d bad expr", prec(ops)); + return (LT_ERROR); +@@ -1170,10 +1170,10 @@ ifeval(const char **cpp) + long val = 0; + + debug("eval %s", *cpp); +- constexpr = killconsts ? false : true; ++ is_constexpr = killconsts ? false : true; + ret = eval_table(eval_ops, &val, cpp); + debug("eval = %d", val); +- return (constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret); ++ return (is_constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret); + } + + /* diff --git a/meta/recipes-devtools/unifdef/unifdef_2.12.bb b/meta/recipes-devtools/unifdef/unifdef_2.12.bb index 3e08b3a0a4..bf0f3e1b17 100644 --- a/meta/recipes-devtools/unifdef/unifdef_2.12.bb +++ b/meta/recipes-devtools/unifdef/unifdef_2.12.bb @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3498caf346f6b77934882101749ada23 \ file://unifdef.c;endline=32;md5=6f4ee8085d6e6ab0f7cb4390e1a9c497 \ " -SRC_URI = "http://dotat.at/prog/${BPN}/${BP}.tar.xz" +SRC_URI = "http://dotat.at/prog/${BPN}/${BP}.tar.xz \ + file://0001-Don-t-use-C23-constexpr-keyword.patch" SRC_URI[md5sum] = "ae8c0b3b4c43c1f6bc5f32412a820818" SRC_URI[sha256sum] = "43ce0f02ecdcdc723b2475575563ddb192e988c886d368260bc0a63aee3ac400" From patchwork Wed Aug 27 21:29:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69233 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8379DCA0FF7 for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mx.groups.io with SMTP id smtpd.web10.6609.1756330232855330976 for ; Wed, 27 Aug 2025 14:30:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=wZuUXkBy; spf=softfail (domain: sakoman.com, ip: 209.85.214.178, mailfrom: steve@sakoman.com) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-248cb0b37dfso2685755ad.3 for ; Wed, 27 Aug 2025 14:30:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330232; x=1756935032; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=H6yEYo3jr9hMgTKfHtIjgmWiehvxzw7aG7+rB5Xx5Mk=; b=wZuUXkBymKsy3Fqe7V0QCUpHKUlXgPJG7Rve7u/ZA2+PV5xCrD4etoGV87I7jr41yI 7pPZi5/n58KKDRHWV3pxZN0X71yEEQusqd1cEh5KqRckhryfMI7Q3Wo8QgrE7OMHVo4d 1OLSanhktotk5Whbj2Xc7SpKyIklHS080OM9Go457bWW99Re2ZtC9kinFTkU6pS2Ganf +sPtEbbSvXamDoRJrIu9a9CEYv1eLwykjqmAfvrXvD+ELduH8C4beV5pgWjTfGZIkDLa X5HphTdRskVWx0DTWjKsGYgFRMr1IvmG/iIIoLoMbu5DWMid5KzXChRYwFaWja+m+ZMG gmKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330232; x=1756935032; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H6yEYo3jr9hMgTKfHtIjgmWiehvxzw7aG7+rB5Xx5Mk=; b=N3LsZovZzfe7OgkPSQNWg1WwFE+kELE0g6SoxVUPuuNyhPr0xg87YyU/ZGYq4MKnqe tu2URuYka8bmf+0AAo+G9jCEGbiTwXTiqiEafYMlMlwThRUgiOQRGCOI9ZagvnB3FbIJ SIDft45n4Nx8zvwqfnImyGtdMdT8z7LHEzTwboway8Rl0RpCwij7nsecY9M4LLRLUPim RWOs7LnJRPPyws+qIS3Frgi0L+r/ut16n+UmkQFFpAZqANgblKqgbXKDae7APkI3lsXC SsXUFAmLlPuRXbyO3HvrIBVzzGotbpZisi0CctGocQ9QyM0z20fBoNihVf9jAyzjJbu8 A0+Q== X-Gm-Message-State: AOJu0Yy9miD/dO/gF2qC6OQL+xxp6rUX8Yl9+dCTtlne+jiV1BVajoWI 080sXu8LjkZQXVkc+Vb30S02QdR9RChWCb7sSwMiZiV/UQ5LKowSjZTvlojfD9kEvfKyt/gNLkt qp7OM X-Gm-Gg: ASbGnctnXoNpjmkt4xgCcVTLNnTMT1IdmWbF4Bocb6KyKRHEHg+NSoj2NNaGeObsmFV 2net3Bh7h0zaTi9SFNOqoLIdyRMURt2enHcuL3x6FFq//vPsK8lLVyqJmTFmtxXzRhkPAQSGciE Oe2LmHtE0XHdGeqxhY0ynXIKYfak0W52qd+0ZMSBt/78hBOxRVsVnfdudoMViXR9Wm0Awpk7OeH qNmpLOuQwphDxtZb0ZSiBpkNEOqM3Pl2JsXjKVx0MYDT4YW5/1YQtal7vQZtRQBV2y64xFPuVCe /Eu93GrVLXl5RaURcJfeQjlF4JqQnESm51YFRKvJqUc+ObTD8c6z90G6r7dddu91VD51XCSzdQ2 poFMVT4sMCzj8dA== X-Google-Smtp-Source: AGHT+IHtwJ2uVJnVbf8/dLWRLqGaSUE03U/B/GT7iRiFxK0TVaIph3eqJxscom0Kai44k1GgLrwDgA== X-Received: by 2002:a17:903:32cb:b0:226:38ff:1d6a with SMTP id d9443c01a7336-2462edd7db5mr289072725ad.7.1756330232053; Wed, 27 Aug 2025 14:30:32 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:31 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 22/33] pkgconfig: fix build with gcc-15 Date: Wed, 27 Aug 2025 14:29:29 -0700 Message-ID: <948e0170d83949e2d5a676afb81edc44f07c5ba4.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222530 From: Martin Jansa * on hosts with gcc-15 or whenever glib PACKAGECONFIG isn't enabled and pkgconfig uses own old bundled glib * fixes: http://errors.yoctoproject.org/Errors/Details/853015/ ../../../git/glib/glib/goption.c:169:14: error: two or more data types in declaration specifiers 169 | gboolean bool; | ^~~~ ../../../git/glib/glib/goption.c:169:18: warning: declaration does not declare anything 169 | gboolean bool; | ^ Signed-off-by: Martin Jansa Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...0001-Do-not-use-bool-as-a-field-name.patch | 36 +++++++++++++++++++ .../pkgconfig/pkgconfig_git.bb | 1 + 2 files changed, 37 insertions(+) create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-Do-not-use-bool-as-a-field-name.patch diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/0001-Do-not-use-bool-as-a-field-name.patch b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-Do-not-use-bool-as-a-field-name.patch new file mode 100644 index 0000000000..bcb7e94d69 --- /dev/null +++ b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-Do-not-use-bool-as-a-field-name.patch @@ -0,0 +1,36 @@ +From b3b26a7e125e5e4f5b69975cc17eb6d33198ebaa Mon Sep 17 00:00:00 2001 +From: Emmanuele Bassi +Date: Thu, 11 Apr 2024 14:40:21 +0100 +Subject: [PATCH] Do not use bool as a field name + +C99 aliases `bool` to `_Bool`, and C23 introduces `bool` as a reserved +keyword. Let's avoid using `bool` as a field name. + +Upstream-Status: Backport [Backport from glib to bunlded version in pkg-config https://github.com/GNOME/glib/commit/9e320e1c43a4770ed1532248fe5416eb0c618120] +Signed-off-by: Martin Jansa +--- + glib/glib/goption.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/glib/glib/goption.c b/glib/glib/goption.c +index 0a22f6f..f439fd4 100644 +--- a/glib/glib/goption.c ++++ b/glib/glib/goption.c +@@ -166,7 +166,7 @@ typedef struct + gpointer arg_data; + union + { +- gboolean bool; ++ gboolean boolean; + gint integer; + gchar *str; + gchar **array; +@@ -1600,7 +1600,7 @@ free_changes_list (GOptionContext *context, + switch (change->arg_type) + { + case G_OPTION_ARG_NONE: +- *(gboolean *)change->arg_data = change->prev.bool; ++ *(gboolean *)change->arg_data = change->prev.boolean; + break; + case G_OPTION_ARG_INT: + *(gint *)change->arg_data = change->prev.integer; diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index 16e6c5b609..c67c526aa5 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -15,6 +15,7 @@ SRC_URI = "git://gitlab.freedesktop.org/pkg-config/pkg-config.git;branch=master; file://pkg-config-esdk.in \ file://pkg-config-native.in \ file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ + file://0001-Do-not-use-bool-as-a-field-name.patch \ " S = "${WORKDIR}/git" From patchwork Wed Aug 27 21:29:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69234 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E378CA0FFB for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by mx.groups.io with SMTP id smtpd.web10.6611.1756330234131858181 for ; Wed, 27 Aug 2025 14:30:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=1Lj8QjWD; spf=softfail (domain: sakoman.com, ip: 209.85.210.181, mailfrom: steve@sakoman.com) Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-771e4378263so300684b3a.0 for ; Wed, 27 Aug 2025 14:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330233; x=1756935033; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RgxT5WlEMBGpdaOJJZF7VhP7y+Jv5n64WS4j1y9zrEo=; b=1Lj8QjWDmntGa2lj2yk5fHtcYytUu5p4Y0WqJvhPaQbeZgqgAusg6z5hBQrG6Jzlz7 M/KW6d4Q88NTCkycCR3urYBNV351EyqTKjctKmxZwINjfajRSjWB9KTNTQKhyebCa6nx 9PhtU5BhEo9vMCs6qvWr8jblHmN9Ab305URMjtSBTwGveMV998Fudsrre1sQ+4jh+ed9 kuQf3FlLDlTWKSrEdmCc3h5KsGnsilXTHm6AGxgBgIDLg1LR0IDs4vnAuomteE4JLjkN kBFU4Le7hToXB4i1bxPB+ppHljomKyQwf+bfbo1/6CjAp6PEheFQgikwTuvA6zHbZhWA Gmqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330233; x=1756935033; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RgxT5WlEMBGpdaOJJZF7VhP7y+Jv5n64WS4j1y9zrEo=; b=BpvLPZBYSgSSyuRPOdBewi17CuDx3phFZ4Bm9N0aLXslUvdY2cimsIZhOBXvj+VtjA 1+HN8KanOn7VaqlHEUw+651DKIZxek1wpOXa/wIitqxSUrscN5RlqI9q54dgcK9vPMpo wX6Kjc7HdERbfNHMinF75fkiPZlepwkd4uKP0UZgTdCtyvILQKIcFFwMhnFPsOVrvhHp PdpJz3R5pXSvj0okB/ZD0+90AVEyFPkhiptW5MZ4Tjo3MDCquHTzlYjctae04CGHwcJU I1+B7k3ybpzUPAQJ4dVkFjHOMMOblxdedWblNhDMFpXRU/OVsTnvrPv4hg+drw6GFh8P wjdw== X-Gm-Message-State: AOJu0YxKkJEcWKqFHbNC6IBJhZaeLICCsA/lfCz3KJBUX8swnwFCF+nr G2s4+QHKMEkM8DYb8yZMO2h8z230ipXdmYNpDwvqpZBhAIvpWWdzizYG/+trUy1L6LmN6y/iWoA FhfS4 X-Gm-Gg: ASbGncukAJajdGfaFj9RjJXaNeHaRBnJEfr3BbzxS3pBdJ8iypyVfXc1TmLi5mf2A3t awH9s3p44tTLAyaSFilsJLmnk6yu4MQKEcoHwB+UoSzEJ/vCjphyRKOVmmIYBFACa2+0AC9cQVm 7fjaK+EHQ10yZ8Iu78Ba5S7sVqSc9j/8UkDZFZ+qMzxB+8LB98ZAGuN6HxbwDWgf9WA+Xh46UAf +Ey3tWpfpfIHSLRYRssGwzsLovzrLhvDhu7QorkPX0mWsJg3z4wbSPACFVhtlO5Y45o3RaRxJTu +xDlwgretyDolOiUFP3BfInaD1Kh95tkT4wOFEje+Mk3Vq7iYgsWiWXEhA5HkoE2DT3rtJyjTm4 987ykio0S8294WA== X-Google-Smtp-Source: AGHT+IGlyAXp+krr3FucwXKMsgDw8P6WSYGChfp6OYSSmZfjiCKTysAZHGMiuwGhWlWupp4LgUGxNA== X-Received: by 2002:a05:6a20:a728:b0:243:a17b:6414 with SMTP id adf61e73a8af0-243a17b69a0mr3801253637.26.1756330233370; Wed, 27 Aug 2025 14:30:33 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:33 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 23/33] libgpg-error: fix build with gcc-15 Date: Wed, 27 Aug 2025 14:29:30 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222531 From: Martin Jansa Backport a fix for native build with gcc-15 on host Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...oid-use-of-nullptr-for-an-identifier.patch | 52 +++++++++++++++++++ .../libgpg-error/libgpg-error_1.48.bb | 1 + 2 files changed, 53 insertions(+) create mode 100644 meta/recipes-support/libgpg-error/libgpg-error/0001-Avoid-use-of-nullptr-for-an-identifier.patch diff --git a/meta/recipes-support/libgpg-error/libgpg-error/0001-Avoid-use-of-nullptr-for-an-identifier.patch b/meta/recipes-support/libgpg-error/libgpg-error/0001-Avoid-use-of-nullptr-for-an-identifier.patch new file mode 100644 index 0000000000..11ab7a2a4e --- /dev/null +++ b/meta/recipes-support/libgpg-error/libgpg-error/0001-Avoid-use-of-nullptr-for-an-identifier.patch @@ -0,0 +1,52 @@ +From d14c69a7f256a9444c5c64b808d8767e5a8ba68e Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Wed, 23 Oct 2024 08:48:06 +0900 +Subject: [PATCH] Avoid use of 'nullptr' for an identifier. + +* tests/t-printf.c (check_fprintf_sf): Use 'null_ptr' +as an identifier. + +-- + +GnuPG-bug-id: 7344 +Signed-off-by: NIIBE Yutaka + +Upstream-Status: Backport [libgpg-error-1.51 d14c69a7f256a9444c5c64b808d8767e5a8ba68e] +Signed-off-by: Martin Jansa +--- + tests/t-printf.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tests/t-printf.c b/tests/t-printf.c +index c1ad0b0..87c201d 100644 +--- a/tests/t-printf.c ++++ b/tests/t-printf.c +@@ -449,7 +449,7 @@ string_filter (const char *string, int no, void *opaque) + static void + check_fprintf_sf (void) + { +- volatile char *nullptr = NULL; /* Avoid compiler warning. */ ++ volatile char *null_ptr = NULL; /* Avoid compiler warning. */ + struct sfstate_s sfstate = {NULL}; + gpgrt_stream_t stream; + const char *expect; +@@ -461,8 +461,8 @@ check_fprintf_sf (void) + + gpgrt_fprintf_sf (stream, string_filter, &sfstate, + "%s a=%d b=%s c=%d d=%.8s null=%s\n", +- nullptr, 1, "foo\x01 bar", 2, +- "a longer string", nullptr); ++ null_ptr, 1, "foo\x01 bar", 2, ++ "a longer string", null_ptr); + expect = "[==>Niente<==] a=1 b=foo\x01 bar c=2 d=a longer null=(null)\n"; + result = stream_to_string (stream); + if (strcmp (result, expect)) +@@ -475,7 +475,7 @@ check_fprintf_sf (void) + + gpgrt_fprintf_sf (stream, string_filter, &sfstate, + "a=%d b=%s c=%d d=%.8s e=%s\n", +- 1, "foo\n bar", 2, nullptr, ""); ++ 1, "foo\n bar", 2, null_ptr, ""); + expect = "a=1 b=foo\n bar c=2 d=[==>Nien e=\n"; + result = stream_to_string (stream); + if (strcmp (result, expect)) diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.48.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.48.bb index 9f2b49209d..2106f3de85 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error_1.48.bb +++ b/meta/recipes-support/libgpg-error/libgpg-error_1.48.bb @@ -17,6 +17,7 @@ UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \ file://pkgconfig.patch \ file://0001-Do-not-fail-when-testing-config-scripts.patch \ + file://0001-Avoid-use-of-nullptr-for-an-identifier.patch \ file://run-ptest \ " From patchwork Wed Aug 27 21:29:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69237 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 977DFCA0FFC for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mx.groups.io with SMTP id smtpd.web11.6647.1756330235880730608 for ; Wed, 27 Aug 2025 14:30:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=KuKEggTy; spf=softfail (domain: sakoman.com, ip: 209.85.216.52, mailfrom: steve@sakoman.com) Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-327aa47c928so144342a91.3 for ; Wed, 27 Aug 2025 14:30:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330235; x=1756935035; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XfydZJBr1gAko3cEegmLHVHbY/czkJHSyv1knIpuph8=; b=KuKEggTy6uSg8fVSfOhBSzZJvSFfVdayl1SMwf2BZStOgGC9VymNtrhLssDFKmmeiM XWvdSdULJ9nS5rS6Ivh6zqVIZNRiq5lJH5ovpHNsRGLBRKqlYvcZZfTwJ8+3+EizeoKH eOKDxj+s3PPthy1m6LGo+xzQFvOMziwzNACdC6pg9plG+ClpkW5oXS0jLb9dbGEhHCtb qfLX32it7ez+xTaZFPdAGkhKmSb641zMnT6pZlLwIbkuB+iTubtj2bPeLEk+gQC5obOv aIfFnZlbSG8OS7NZKaKRGPNSGUEVw/OYgj201rUXINXIelbLYQqHlzzx8H4fHjhpHM3w UHCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330235; x=1756935035; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XfydZJBr1gAko3cEegmLHVHbY/czkJHSyv1knIpuph8=; b=V+wbEJozTU8nIOlJ4J4rbji8VtEU6jQPELbE0dvQwWE1cyFaiv/MtbSHeDVxDXwXLl W/qRf7EsxfURgD5keeBZ9jWpX+xpwxHeHqnPhkmbgi5L4Y8DnQ8IRDLabyqxytjKcqLY 825EwS3eERK9R5RA/Cse6Jx2HCBlsiyEuLLF05DfpmMO0+vG8uRY7SSqoxj/4qL3njhc dGjXe8f+ZlmoBycDGvlSlgtA19pkQq6caXdpdHoCotapC958knyM9p4rkkM3dLBWdL02 0oLdcjjNIFbDTAEwNpc7RxYbR6RvgnHbizE/N5JRn8WLT9puqezG+w0dz35XLESqqWVH PJVQ== X-Gm-Message-State: AOJu0Yyt9n7IHWnyZYZK1GJ6JYWda38nhTRrxtYV4dc6sg6xjVbrrj++ LRhGHNrnAle0FAysGOKRE7XHyCssUK3dGMGQTk0OQfEYytZuMWeEYjzKbh7AGgdJHR8X/X9Owim N9cu0 X-Gm-Gg: ASbGncu2q5Ppp5uDTgMm61wrCDW7kWFZ82jjMClupFJInR1oUIIrbYrB+GP1hEIDDY6 1dwtp0Q7Or6hiIRUqmG1nwNFecZONgiDFt+40GFHwjEJbyzgaug5VoUz/48RAquvuUkozM4arUs 1G8AdOue00Qp8hdQzuA6lGRA2a0idXqqvzsL54Rprmn/HdkOCuZObFdVUEkCy3BsFgXienI978P ywDQzM8ucpolaNkMW53AUNpKxytsq5SzSp9h4yL3nTn0tDfFx3dzEUnbksNEoZHmN7mAopBf14b AXohSG3N+7IiOgQyJM+5fdQEsrYwQh3VOu5GIqEtZ3W66Ex2AdLBQQzhuo73mfcV8/k0ot05iol mND+TETE3fQ7QiUMa0usNgGXR X-Google-Smtp-Source: AGHT+IGRO6iJAIsQdldhnps/1JTKpghuR8YWh3oLE3NIBkIbqMuzHcgxs2qfsYy/zLZKSIJiDWuMng== X-Received: by 2002:a17:90b:5445:b0:327:5360:5b1a with SMTP id 98e67ed59e1d1-3275360623bmr8802806a91.37.1756330235048; Wed, 27 Aug 2025 14:30:35 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:34 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 24/33] rust-llvm: fix build with gcc-15 Date: Wed, 27 Aug 2025 14:29:31 -0700 Message-ID: <818750db213dc2c0daac4757d078092be6de3fe6.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222532 From: Martin Jansa As in meta-clang for clang-native: https://github.com/kraj/meta-clang/commit/f915bbfc71f7b58c38607b8407718bd8b5cefa44 Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...36-Add-cstdint-to-SmallVector-101761.patch | 28 ++++++++++++++++ ...cstdint-in-AMDGPUMCTargetDesc-101766.patch | 23 +++++++++++++ ...-include-to-X86MCTargetDesc.h-123320.patch | 32 +++++++++++++++++++ .../recipes-devtools/rust/rust-llvm_1.75.0.bb | 8 +++-- 4 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/rust/rust-llvm/0036-Add-cstdint-to-SmallVector-101761.patch create mode 100644 meta/recipes-devtools/rust/rust-llvm/0037-Include-cstdint-in-AMDGPUMCTargetDesc-101766.patch create mode 100644 meta/recipes-devtools/rust/rust-llvm/0038-Add-missing-include-to-X86MCTargetDesc.h-123320.patch diff --git a/meta/recipes-devtools/rust/rust-llvm/0036-Add-cstdint-to-SmallVector-101761.patch b/meta/recipes-devtools/rust/rust-llvm/0036-Add-cstdint-to-SmallVector-101761.patch new file mode 100644 index 0000000000..cf00eacbee --- /dev/null +++ b/meta/recipes-devtools/rust/rust-llvm/0036-Add-cstdint-to-SmallVector-101761.patch @@ -0,0 +1,28 @@ +From 9c9071480edd4093b28a9e9a9980c2426d27344c Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Fri, 2 Aug 2024 23:07:21 +0100 +Subject: [PATCH] Add `` to SmallVector (#101761) + +SmallVector uses `uint32_t`, `uint64_t` without including `` +which fails to build w/ GCC 15 after a change in libstdc++ [0] + +[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2 + +Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/7e44305041d96b064c197216b931ae3917a34ac1] +Signed-off-by: Martin Jansa +--- + llvm/include/llvm/ADT/SmallVector.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llvm/include/llvm/ADT/SmallVector.h b/llvm/include/llvm/ADT/SmallVector.h +index 09676d792..17444147b 100644 +--- a/llvm/include/llvm/ADT/SmallVector.h ++++ b/llvm/include/llvm/ADT/SmallVector.h +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/meta/recipes-devtools/rust/rust-llvm/0037-Include-cstdint-in-AMDGPUMCTargetDesc-101766.patch b/meta/recipes-devtools/rust/rust-llvm/0037-Include-cstdint-in-AMDGPUMCTargetDesc-101766.patch new file mode 100644 index 0000000000..24e7e1234f --- /dev/null +++ b/meta/recipes-devtools/rust/rust-llvm/0037-Include-cstdint-in-AMDGPUMCTargetDesc-101766.patch @@ -0,0 +1,23 @@ +From 422390b31680305ce6babcfbf65579b7dbe090a5 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 3 Aug 2024 06:36:43 +0100 +Subject: [PATCH] Include `` in AMDGPUMCTargetDesc (#101766) + +Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/8f39502b85d34998752193e85f36c408d3c99248] +Signed-off-by: Martin Jansa +--- + llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +index 3ef00f757..879dbe1b2 100644 +--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h ++++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +@@ -15,6 +15,7 @@ + #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + ++#include + #include + + namespace llvm { diff --git a/meta/recipes-devtools/rust/rust-llvm/0038-Add-missing-include-to-X86MCTargetDesc.h-123320.patch b/meta/recipes-devtools/rust/rust-llvm/0038-Add-missing-include-to-X86MCTargetDesc.h-123320.patch new file mode 100644 index 0000000000..9bfbe9e2ed --- /dev/null +++ b/meta/recipes-devtools/rust/rust-llvm/0038-Add-missing-include-to-X86MCTargetDesc.h-123320.patch @@ -0,0 +1,32 @@ +From 72dc74c42eb9d9940b36c6804a4e4ac757370324 Mon Sep 17 00:00:00 2001 +From: Stephan Hageboeck +Date: Mon, 20 Jan 2025 17:52:47 +0100 +Subject: [PATCH] Add missing include to X86MCTargetDesc.h (#123320) + +In gcc-15, explicit includes of `` are required when fixed-size +integers are used. In this file, this include only happened as a side +effect of including SmallVector.h + +Although llvm compiles fine, the root-project would benefit from +explicitly including it here, so we can backport the patch. + +Maybe interesting for @hahnjo and @vgvassilev + +Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/7abf44069aec61eee147ca67a6333fc34583b524] +Signed-off-by: Martin Jansa +--- + llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h +index 437a7bd6f..fd7d79484 100644 +--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h ++++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h +@@ -13,6 +13,7 @@ + #ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H + #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H + ++#include + #include + #include + diff --git a/meta/recipes-devtools/rust/rust-llvm_1.75.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.75.0.bb index 292fc15c55..cba41c739e 100644 --- a/meta/recipes-devtools/rust/rust-llvm_1.75.0.bb +++ b/meta/recipes-devtools/rust/rust-llvm_1.75.0.bb @@ -10,8 +10,12 @@ require rust-source.inc SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ - file://0003-llvm-fix-include-benchmarks.patch;striplevel=2 \ - file://0004-llvm-Fix-CVE-2024-0151.patch;striplevel=2" + file://0003-llvm-fix-include-benchmarks.patch;striplevel=2 \ + file://0004-llvm-Fix-CVE-2024-0151.patch;striplevel=2 \ + file://0036-Add-cstdint-to-SmallVector-101761.patch;striplevel=2 \ + file://0037-Include-cstdint-in-AMDGPUMCTargetDesc-101766.patch;striplevel=2 \ + file://0038-Add-missing-include-to-X86MCTargetDesc.h-123320.patch;striplevel=2 \ +" S = "${RUSTSRC}/src/llvm-project/llvm" From patchwork Wed Aug 27 21:29:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69236 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E0B3CA0FED for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mx.groups.io with SMTP id smtpd.web10.6612.1756330237534290928 for ; Wed, 27 Aug 2025 14:30:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=nYir5kQx; spf=softfail (domain: sakoman.com, ip: 209.85.216.52, mailfrom: steve@sakoman.com) Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-3253f0c8788so409265a91.0 for ; Wed, 27 Aug 2025 14:30:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330237; x=1756935037; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=j/oz1RTDZ6mg5uW9TtT79vxhrA7+LGXf0Ql/wu1hJc0=; b=nYir5kQxujgTFLHWCt5IzDLts31quuMxRcWFDhpom/jKFIAWL3AtPZ0iJUHcK0LH5s CozSaTVsaZ2xLACgHsokXS8VZZPPzMO/tjOBKxLg6FQDLoY/6mnQuRsVmXBxG9oapGKq autmcvcPD7XtqFQNv3/KoIfqiT0FI7XErKjJuk6muWNMcwPUeyjB6n8jmgMduaj7Jbwf 3kkrvvWKKw0FGZu3kIaiyO1+1PI2QQtMPMiPWI9w0NxuhITkH85x9NiN9+N4EoWxYXoo skwWzMK8fuXuUXn/+Y/oepTLgF8dSOirU1m2hu1ZHONndwbNgIrAIo7wmMgwJ3NaIlsJ xj3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330237; x=1756935037; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j/oz1RTDZ6mg5uW9TtT79vxhrA7+LGXf0Ql/wu1hJc0=; b=AqhQctNjCBrYBcLNjICL5veK/pIEJtc4K15Ax4LJ1hZZfvjFs+Eo6VLlw/AEVwmmp5 TAiK0ezGxLXlb1NnQerxCg3ZCuTyQvOd3UbVrBESgOSmI1UC887hB8em7L2496exaZTF C3Ix1SCzCLG007PBP38mi4w+opiypA2Ybm9qNLzOJRGzZZdydrIbmZRqbzxhVzEFAxWF 341lzuCGqdHYOLYKeh468EWOVghfP8MuPb6+miIo5nQhYozJMXzHNoYwYPZL9BAe/ggZ Okwd+kmpRjKrS8NT70BTsLAYK4/dPNnYdzkFZJWcge2KGwIUa/xuq27V5ekkBbOJXEoP TZpw== X-Gm-Message-State: AOJu0YxzWp4RTuEV1uflc+jMMJMUodF1sQYmJt9cAAhA0qc6GjCvAP1h MMSE4jCt5ZlJsF5vk1n+T03S9+uHRnIHlq9X+v5DUKgQbp0XV1P9+M7rjzT6dirIApOCt9nKC6G OpKMM X-Gm-Gg: ASbGnctD+wPTKWs1hDsVnIZMJySEu9sh1LzNbqiI2TPrbAmin7lXXHOpLKbh9unbEm1 VkBP/t6jVmcnvVbJCt3IpA0H2eQpKGOaxzQENwkcWbAKdFA2wfiki/JVnswqzBnmdfFS5KSZPxj YTgBcO//1vW08xjnGdBT0vXkfiLsWw9ix+FaXJ4kfzbxpv/Orl4QtME0QxueiWwu9rVdRbiKKws HXy/z4czJXDs3Y8tSWtnmVwmefyliln0KzwzP+YjZIU0L8P34cHB0yVoXDWHF0qpQN6RohG6vu5 ylRjniqfQiKp1Op1ETCt7cJY1wdItVrPOwwV4OPZsEwq1HMt/HbssZurJ2k9dnltazSU9wTxO8J kvpwnoevHqHenuQ== X-Google-Smtp-Source: AGHT+IHT+nzJjnn7wvLoxjlNFqsa9iMz3jJ2uLdaeG/hSc6U+67zunjZ5Re7W7PZHLtyI2XEqJBhjA== X-Received: by 2002:a17:90b:1d4f:b0:323:4fe5:deec with SMTP id 98e67ed59e1d1-32515eda4efmr25891217a91.25.1756330236625; Wed, 27 Aug 2025 14:30:36 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:36 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 25/33] libtirpc: Fix build with gcc-15/C23 Date: Wed, 27 Aug 2025 14:29:32 -0700 Message-ID: <65036ab0a519c14338fb26ac8162d159d965da2b.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222533 From: Khem Raj Update declarations to allow building with gcc-15 with C23 std being default now. Fixes: error: conflicting types for 'xdr_opaque_auth Signed-off-by: Khem Raj Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- ...rations-to-allow-compile-with-gcc-15.patch | 64 +++++++++++++++++++ ...d-key_call-declarations-to-allow-com.patch | 60 +++++++++++++++++ .../libtirpc/libtirpc_1.3.4.bb | 2 + 3 files changed, 126 insertions(+) create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch create mode 100644 meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch new file mode 100644 index 0000000000..7bfe7c2924 --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch @@ -0,0 +1,64 @@ +From b526c0a90953f47d4cbf7ef01e9ac13e9e76904a Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Thu, 12 Dec 2024 04:16:02 -0500 +Subject: [PATCH 1/2] Update declarations to allow compile with gcc-15 + +This patch fixes some of the compile errors with gcc 15-20241117. + +In addition the follow declarations need to be fixed: + sed -n 75,77p libtirpc-1.3.6/src/key_call.c + cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0; + cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0; + des_block *(*__key_gendes_LOCAL)() = 0; + +Upstream-Status: Backport [https://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=d473f1e1f6ba80bfaee4daa058da159305167323] +Signed-off-by: Rudi Heitbaum +Signed-off-by: Steve Dickson +Signed-off-by: Khem Raj +--- + src/auth_none.c | 2 +- + src/getpublickey.c | 2 +- + src/svc_auth_none.c | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/auth_none.c b/src/auth_none.c +index 0b0bbd1..aca6e71 100644 +--- a/src/auth_none.c ++++ b/src/auth_none.c +@@ -62,7 +62,7 @@ static bool_t authnone_validate (AUTH *, struct opaque_auth *); + static bool_t authnone_refresh (AUTH *, void *); + static void authnone_destroy (AUTH *); + +-extern bool_t xdr_opaque_auth(); ++extern bool_t xdr_opaque_auth(XDR *, struct opaque_auth *); + + static struct auth_ops *authnone_ops(); + +diff --git a/src/getpublickey.c b/src/getpublickey.c +index be37a24..4e96c7c 100644 +--- a/src/getpublickey.c ++++ b/src/getpublickey.c +@@ -52,7 +52,7 @@ + /* + * Hack to let ypserv/rpc.nisd use AUTH_DES. + */ +-int (*__getpublickey_LOCAL)() = 0; ++int (*__getpublickey_LOCAL)(const char *, char *) = 0; + + /* + * Get somebody's public key +diff --git a/src/svc_auth_none.c b/src/svc_auth_none.c +index 887e809..5ca98e9 100644 +--- a/src/svc_auth_none.c ++++ b/src/svc_auth_none.c +@@ -37,8 +37,8 @@ + + #include + +-static bool_t svcauth_none_destroy(); +-static bool_t svcauth_none_wrap(); ++static bool_t svcauth_none_destroy(SVCAUTH *); ++static bool_t svcauth_none_wrap(SVCAUTH *, XDR *, bool_t (*)(XDR *, ...), char *); + + struct svc_auth_ops svc_auth_none_ops = { + svcauth_none_wrap, diff --git a/meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch b/meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch new file mode 100644 index 0000000000..83e2105a1a --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch @@ -0,0 +1,60 @@ +From 55452e6ae71869880f8c85d5dba9aa24d7147d8b Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Thu, 2 Jan 2025 08:46:24 -0500 +Subject: [PATCH 2/2] update signal and key_call declarations to allow compile + with gcc-15 + +Follow up patch addressing the following declarations: + sed -n 75,77p libtirpc-1.3.6/src/key_call.c + cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0; + cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0; + des_block *(*__key_gendes_LOCAL)() = 0; + +Upstream-Status: Backport [https://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=240ee6c774729c9c24812aa8912f1fcf8996b162] +Signed-off-by: Rudi Heitbaum +Signed-off-by: Steve Dickson +Signed-off-by: Khem Raj +--- + src/auth_time.c | 4 ++-- + src/key_call.c | 6 +++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/auth_time.c b/src/auth_time.c +index 936dd76..c21b1df 100644 +--- a/src/auth_time.c ++++ b/src/auth_time.c +@@ -248,7 +248,7 @@ __rpc_get_time_offset(td, srv, thost, uaddr, netid) + char ut[64], ipuaddr[64]; + endpoint teps[32]; + nis_server tsrv; +- void (*oldsig)() = NULL; /* old alarm handler */ ++ void (*oldsig)(int) = NULL; /* old alarm handler */ + struct sockaddr_in sin; + int s = RPC_ANYSOCK; + socklen_t len; +@@ -417,7 +417,7 @@ __rpc_get_time_offset(td, srv, thost, uaddr, netid) + } else { + int res; + +- oldsig = (void (*)())signal(SIGALRM, alarm_hndler); ++ oldsig = (void (*)(int))signal(SIGALRM, alarm_hndler); + saw_alarm = 0; /* global tracking the alarm */ + alarm(20); /* only wait 20 seconds */ + res = connect(s, (struct sockaddr *)&sin, sizeof(sin)); +diff --git a/src/key_call.c b/src/key_call.c +index 9f4b1d2..43f990e 100644 +--- a/src/key_call.c ++++ b/src/key_call.c +@@ -72,9 +72,9 @@ + * implementations of these functions, and to call those in key_call(). + */ + +-cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0; +-cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0; +-des_block *(*__key_gendes_LOCAL)() = 0; ++cryptkeyres *(*__key_encryptsession_pk_LOCAL)(uid_t, char *) = 0; ++cryptkeyres *(*__key_decryptsession_pk_LOCAL)(uid_t, char *) = 0; ++des_block *(*__key_gendes_LOCAL)(uid_t, char *) = 0; + + static int key_call( u_long, xdrproc_t, void *, xdrproc_t, void *); + diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb index aa526e9e1c..198cefacfb 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb @@ -11,6 +11,8 @@ PROVIDES = "virtual/librpc" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ file://ipv6.patch \ + file://0001-Update-declarations-to-allow-compile-with-gcc-15.patch \ + file://0002-update-signal-and-key_call-declarations-to-allow-com.patch \ " UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)/" From patchwork Wed Aug 27 21:29:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69235 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AB0A0CA0FFD for ; Wed, 27 Aug 2025 21:30:39 +0000 (UTC) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mx.groups.io with SMTP id smtpd.web10.6613.1756330239018764852 for ; Wed, 27 Aug 2025 14:30:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=lmJbzXsN; spf=softfail (domain: sakoman.com, ip: 209.85.216.53, mailfrom: steve@sakoman.com) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-32326e5f0bfso268608a91.3 for ; Wed, 27 Aug 2025 14:30:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330238; x=1756935038; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=bOqdwV6ULmCr+kOWIsRNXHQkPa50Sh3cqoldN800fB8=; b=lmJbzXsNqp64n1jrqzSbbQpPngvcn/QOyD9OVR7gBVjv7+Btt0aI8eLAO3HOxU9Pnv wjFgeFHQ3vqSaz5VQSxmrFlWfHcAwqzln6QnzNdHNEfcaOLSZ7pfFb6nD3xoHbL3yPnj HZzAC6b8Ab/cACR1twQFe/wSMIc8SFVpE+BRKPXWPf22FZ821z1p4CCIldf2P0UsLj6c jB+Xtd9GRP5CCkhIvTDrtGCkUJHMLYDKk7sJJbk8GMCKk0rpCQlOgGOpydQxI3TbzuHH qIV6zTxYw2fhdOoQRDU/VIouePPd7FDdJRUP77P7GOZIM3jgjcQo1OMWcAS/XauKB1n7 CRSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330238; x=1756935038; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bOqdwV6ULmCr+kOWIsRNXHQkPa50Sh3cqoldN800fB8=; b=FbdiGIBB2qlYV1azsC7Z9AGel42NkaaacdCCzB7Fq0bvNlVzqAGXLO4dvFFdazCEC0 S4fRJvW2LzepMbzgjK19uPtzcUmoa7rBsZpDq2SLwlk53bgCNzZJGDsULdwwAYp5jyId rorVnaCjnSvQdNwLuffOUyRouJlabykfXjOaDVRVhPokC2tfyzWVhN6cDoCyDIaxzARN TUPzg6jijG9JQvC1ENmN8ASefaCBSbuggtSUeS3wwZNwsUYJl+SChojejUZXpDLjxjBo iPp1pLUyY9eqaOv0X0gihC7JXVwtAEeLzUyG9zBCS5lQyBE4VDdgJkKAAvpGL5RPt+S1 yIZA== X-Gm-Message-State: AOJu0Yw3yw2cWEW1a0viTO4uoLrxBn3aeS0ROr6bSmX30y3fDOVT9JJ+ 5EpR1wrvMEQGHKXqNaAA76h4YV20lilKa/5BPhkhe2dl+ctH3ee/rrFCPrV8qRyikbnkOWrhs15 uSSo0 X-Gm-Gg: ASbGncvwV4HGjvREiMZ2TPkqI1IRUgwo3VSifVNzK8EypgDfBZAPIGCnbcdc/ad/LkH xDdk+ct7hVrQWpTAA4XdLhekY/uCuHOif06Nw+5AEAO0+fl5LCZ0Bt/csPh31iBDeNVWKR7yANm wcC4QJh5xNn+xNujrHI1PE2cYwQYJzUIcAIRd0ghc3yuUkZkdW4yRGRPK+Y3Ng7LUvpyjwJxrj+ btzsv46250VyTIOnBI8jtK8QuGFO2PSBWp7Z6X6CBj40XrehazydrfXIFPH5PevOuZfAPBfxtS3 MxpROlg+FQphEKrdhBILDJTPvnXeOnuxhW90uj2+bfA8s2O1VeOfewB4IpU1L7MlW056fVgyKYG bovnM6yUuhqzBXw== X-Google-Smtp-Source: AGHT+IGxiLYdQMGbmU5LWkhMy0f5jaOmWyjQwU987Zvn0QB469II0ePSNv+pAQpsWipJ2ACqq0RptA== X-Received: by 2002:a17:90b:4fc2:b0:31f:6d6b:b453 with SMTP id 98e67ed59e1d1-32517c23e05mr25893812a91.30.1756330238248; Wed, 27 Aug 2025 14:30:38 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:37 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 26/33] elfutils: fix build with gcc-15 Date: Wed, 27 Aug 2025 14:29:33 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222534 From: Martin Jansa Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- .../elfutils/elfutils_0.191.bb | 1 + .../files/0007-Fix-build-with-gcc-15.patch | 72 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 meta/recipes-devtools/elfutils/files/0007-Fix-build-with-gcc-15.patch diff --git a/meta/recipes-devtools/elfutils/elfutils_0.191.bb b/meta/recipes-devtools/elfutils/elfutils_0.191.bb index bab3d94d12..fcb91e41aa 100644 --- a/meta/recipes-devtools/elfutils/elfutils_0.191.bb +++ b/meta/recipes-devtools/elfutils/elfutils_0.191.bb @@ -27,6 +27,7 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ file://CVE-2025-1365.patch \ file://CVE-2025-1372.patch \ file://CVE-2025-1371.patch \ + file://0007-Fix-build-with-gcc-15.patch \ " SRC_URI:append:libc-musl = " \ file://0003-musl-utils.patch \ diff --git a/meta/recipes-devtools/elfutils/files/0007-Fix-build-with-gcc-15.patch b/meta/recipes-devtools/elfutils/files/0007-Fix-build-with-gcc-15.patch new file mode 100644 index 0000000000..8f5c7e4421 --- /dev/null +++ b/meta/recipes-devtools/elfutils/files/0007-Fix-build-with-gcc-15.patch @@ -0,0 +1,72 @@ +From 7508696d107ca01b65ce8273c881462a8658f90f Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Wed, 17 Jul 2024 23:03:34 +0100 +Subject: [PATCH] backends: allocate enough stace for null terminator + +`gcc-15` added a new warning in https://gcc.gnu.org/PR115185: + + i386_regs.c:88:11: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization] + 88 | "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" + | ^~~~ + +`elfutils` does not need to store '\0'. We could either initialize the +arrays with individual bytes or allocate extra byte for null. + +This change initializes the array bytewise. + + * backends/i386_regs.c (i386_register_info): Initialize the + array bytewise to fix gcc-15 warning. + * backends/x86_64_regs.c (x86_64_register_info): Ditto. + +Signed-off-by: Sergei Trofimovich +Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=7508696d107ca01b65ce8273c881462a8658f90f] +Signed-off-by: Martin Jansa +--- + backends/i386_regs.c | 10 +++++++++- + backends/x86_64_regs.c | 9 ++++++++- + 2 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/backends/i386_regs.c b/backends/i386_regs.c +index 7ec93bb9..ead55ef7 100644 +--- a/backends/i386_regs.c ++++ b/backends/i386_regs.c +@@ -85,7 +85,15 @@ i386_register_info (Ebl *ebl __attribute__ ((unused)), + { + static const char baseregs[][2] = + { +- "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" ++ {'a', 'x'}, ++ {'c', 'x'}, ++ {'d', 'x'}, ++ {'b', 'x'}, ++ {'s', 'p'}, ++ {'b', 'p'}, ++ {'s', 'i'}, ++ {'d', 'i'}, ++ {'i', 'p'}, + }; + + case 4: +diff --git a/backends/x86_64_regs.c b/backends/x86_64_regs.c +index ef987daf..dab8f27f 100644 +--- a/backends/x86_64_regs.c ++++ b/backends/x86_64_regs.c +@@ -82,7 +82,14 @@ x86_64_register_info (Ebl *ebl __attribute__ ((unused)), + { + static const char baseregs[][2] = + { +- "ax", "dx", "cx", "bx", "si", "di", "bp", "sp" ++ {'a', 'x'}, ++ {'d', 'x'}, ++ {'c', 'x'}, ++ {'b', 'x'}, ++ {'s', 'i'}, ++ {'d', 'i'}, ++ {'b', 'p'}, ++ {'s', 'p'}, + }; + + case 6 ... 7: +-- +2.43.7 + From patchwork Wed Aug 27 21:29:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69243 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B654BCA0FFB for ; Wed, 27 Aug 2025 21:30:49 +0000 (UTC) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mx.groups.io with SMTP id smtpd.web10.6615.1756330241609926408 for ; Wed, 27 Aug 2025 14:30:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=o58SPhTb; spf=softfail (domain: sakoman.com, ip: 209.85.216.53, mailfrom: steve@sakoman.com) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-327705d0a9bso316466a91.0 for ; Wed, 27 Aug 2025 14:30:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330241; x=1756935041; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=U7uAYNzo3UtxeLPZSMbVy3keK7dAqCEP21SkD+NIwzg=; b=o58SPhTbp/FfdeXyEZ4G4GcvKfy3AeTxHa7H2b9H7hEmWIKbEKeYeE3+2K/Q+KtFuu tziTyW2Sc3D5WkUDsSRlRIvy/uSbeIPrAh1/jx0TPESnUkNOWZgwSHmRfh40A36PcJBh 8byJTw7y1Id0UlPU/qCcK5HNex/DGPWAZa6Rq/JuzCHEOF/1jo9IeXu61RrcNGCuePbx v7BZz0w+Pa/VSOMN8LFpCdqVCU9pMDYMPsA7DF7qdQzAMf0xW7lIVrZSCFhhdyl9cJV8 UUZ34mV+41Qwd3y7IZCMOkSjV2H3CBuDWQNMNkeuTO35wKxKB6FohbIXs98v6D/6u4eS SPpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330241; x=1756935041; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U7uAYNzo3UtxeLPZSMbVy3keK7dAqCEP21SkD+NIwzg=; b=wbLHuPZawzqvgg7LkBcOgdgMS5Lv4CR6PQPg9i0f3nuUMlIJAujcNvpEW/CZZu4O10 qUSuqGzfslKfhzUYTn5G7BsLJTZeX+UU4D9FORaLBHSLWLVEixSMSrpO0oAoNLkOMF2x BS3nTiqF5RaECTsUnA7pUeVEregr5bTdUmtzn+9EP9YlTzcfNLo1+KNLI8xEEYvmkkwq yoIFGDkKDOlL5xcocUaJg/Eo6rSmrFQvTJqEWoMke1YtAErKEB7KmN0BIUsBE9S3vDq2 LtnKx1gTGpWPBItak7vIXu04p2wH+CSuFjI/Lo4daEFcDRtB/QZDIHDsqBJKv7rzTRR7 OMuQ== X-Gm-Message-State: AOJu0YzkQF0EtntXmu0Jb/f3I6EO+MDEcSRGDsUHTXEAD+mGMztcuLoI FXA7EDK9CjdT+joY43lpgHjUwADWU2atPzJBrtlYP1Z5CgWISA7GpQFw0oc3LMxRENmb+RHnCzz pbSY+ X-Gm-Gg: ASbGncs3uZ/uXEs5MCgFVGFUhFaJ3KQpk1RV8gaUIGQOO80uFPuV53z2/0mhiejqgD6 ZRITmdeAss5E51Xz8GYrtdiE60v9tGckOvjJBG+TTvQnN4f9Ugf66NSAjcaLX4VZ8mV76IY60+S t2LFwUAfVZBdEFrOVzbANPPpg7OMO1jxB/nsjH826cYtioehrCjJdGbwu7rkErqO80b6VmiTp2U cXMhy1qWPuOvCYShXu5VU7VfS4w+sYWF8SXaVFHJ/5YMdyUH6InuvEmmyQ/uWa4Z1UB/0N39WIj C7QLnw36/2axqJmOK1cUjPqrtjsz6Mv2NPD/F4l9ggYjbpSX1a2p7Mr09e1VUCJPcXGa6NSwGmv xnnQZ0/187dkuWA== X-Google-Smtp-Source: AGHT+IFtWqUaP0XPQ0QMPmuAEFixqGMMQHR3+0Jr7wPk/GE2naxVeMFsPBgILY+/ElqJJln/8dJtEg== X-Received: by 2002:a17:90b:580f:b0:327:7c8e:872b with SMTP id 98e67ed59e1d1-3277c8eb5bemr3663796a91.5.1756330240241; Wed, 27 Aug 2025 14:30:40 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:39 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 27/33] binutils: fix build with gcc-15 Date: Wed, 27 Aug 2025 14:29:34 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222535 From: Martin Jansa Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- .../binutils/binutils-2.42.inc | 4 + ...nu23-compatibility-wrt-static_assert.patch | 89 ++ ...ngs-when-building-gprofng-with-Clang.patch | 767 ++++++++++++++++++ ...gnu23-compatibility-wrt-unprototyped.patch | 606 ++++++++++++++ ...021-gprofng-fix-build-with-std-gnu23.patch | 196 +++++ 5 files changed, 1662 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/0018-opcodes-fix-std-gnu23-compatibility-wrt-static_assert.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0019-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0020-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0021-gprofng-fix-build-with-std-gnu23.patch diff --git a/meta/recipes-devtools/binutils/binutils-2.42.inc b/meta/recipes-devtools/binutils/binutils-2.42.inc index fb34ea9763..e791cd2b13 100644 --- a/meta/recipes-devtools/binutils/binutils-2.42.inc +++ b/meta/recipes-devtools/binutils/binutils-2.42.inc @@ -39,6 +39,10 @@ SRC_URI = "\ file://0015-gprofng-change-use-of-bignum-to-bigint.patch \ file://0016-CVE-2024-53589.patch \ file://0017-dlltool-file-name-too-long.patch \ + file://0018-opcodes-fix-std-gnu23-compatibility-wrt-static_assert.patch \ + file://0019-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch \ + file://0020-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch \ + file://0021-gprofng-fix-build-with-std-gnu23.patch \ file://0018-CVE-2025-0840.patch \ file://CVE-2025-1176.patch \ file://CVE-2025-1178.patch \ diff --git a/meta/recipes-devtools/binutils/binutils/0018-opcodes-fix-std-gnu23-compatibility-wrt-static_assert.patch b/meta/recipes-devtools/binutils/binutils/0018-opcodes-fix-std-gnu23-compatibility-wrt-static_assert.patch new file mode 100644 index 0000000000..d447ce0d52 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0018-opcodes-fix-std-gnu23-compatibility-wrt-static_assert.patch @@ -0,0 +1,89 @@ +From 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 16 Nov 2024 05:03:52 +0000 +Subject: [PATCH] opcodes: fix -std=gnu23 compatibility wrt static_assert + +static_assert is declared in C23 so we can't reuse that identifier: +* Define our own static_assert conditionally; + +* Rename "static assert" hacks to _N as we do already in some places + to avoid a conflict. + +ChangeLog: + PR ld/32372 + + * i386-gen.c (static_assert): Define conditionally. + * mips-formats.h (MAPPED_INT): Rename identifier. + (MAPPED_REG): Rename identifier. + (OPTIONAL_MAPPED_REG): Rename identifier. + * s390-opc.c (static_assert): Define conditionally. +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4] +Signed-off-by: Martin Jansa +--- + opcodes/i386-gen.c | 2 ++ + opcodes/mips-formats.h | 6 +++--- + opcodes/s390-opc.c | 2 ++ + 3 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c +index 053b66675c5..7ee8a30310c 100644 +--- a/opcodes/i386-gen.c ++++ b/opcodes/i386-gen.c +@@ -30,7 +30,9 @@ + + /* Build-time checks are preferrable over runtime ones. Use this construct + in preference where possible. */ ++#ifndef static_assert + #define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); })) ++#endif + + static const char *program_name = NULL; + static int debug = 0; +diff --git a/opcodes/mips-formats.h b/opcodes/mips-formats.h +index 90df7100803..c4dec6352bf 100644 +--- a/opcodes/mips-formats.h ++++ b/opcodes/mips-formats.h +@@ -49,7 +49,7 @@ + #define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \ + { \ + typedef char ATTRIBUTE_UNUSED \ +- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ ++ static_assert_3[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ + static const struct mips_mapped_int_operand op = { \ + { OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \ + }; \ +@@ -83,7 +83,7 @@ + #define MAPPED_REG(SIZE, LSB, BANK, MAP) \ + { \ + typedef char ATTRIBUTE_UNUSED \ +- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ ++ static_assert_4[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ + static const struct mips_reg_operand op = { \ + { OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \ + }; \ +@@ -93,7 +93,7 @@ + #define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \ + { \ + typedef char ATTRIBUTE_UNUSED \ +- static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ ++ static_assert_5[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ + static const struct mips_reg_operand op = { \ + { OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \ + }; \ +diff --git a/opcodes/s390-opc.c b/opcodes/s390-opc.c +index 9d9f0973e55..49efd714157 100644 +--- a/opcodes/s390-opc.c ++++ b/opcodes/s390-opc.c +@@ -36,7 +36,9 @@ + + /* Build-time checks are preferrable over runtime ones. Use this construct + in preference where possible. */ ++#ifndef static_assert + #define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); })) ++#endif + + #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) + +-- +2.43.7 + diff --git a/meta/recipes-devtools/binutils/binutils/0019-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch b/meta/recipes-devtools/binutils/binutils/0019-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch new file mode 100644 index 0000000000..89bd9618bc --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0019-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch @@ -0,0 +1,767 @@ +From b7888eb5a45772ed2e9a2030c50625a15b5ef795 Mon Sep 17 00:00:00 2001 +From: Vladimir Mezentsev +Date: Tue, 3 Sep 2024 21:30:31 -0700 +Subject: [PATCH] Fix 32097 Warnings when building gprofng with Clang + +gprofng/ChangeLog +2024-09-03 Vladimir Mezentsev . + + PR gprofng/32097 + * common/hwcdrv.c: Fix -Wempty-body warnings. + * common/hwcentry.h: Fix -Wdeprecated-non-prototype warnings. + * common/hwctable.c: Fix -Wdeprecated-non-prototype warnings. + * libcollector/collector.c: Likewise. + * libcollector/collector.h: Likewise. + * libcollector/collectorAPI.c: Likewise. + * libcollector/dispatcher.c: Likewise. + * libcollector/iotrace.c: Likewise. + * libcollector/libcol_util.c: Fix -Wunused-but-set-variable warnings. + * libcollector/libcol_util.h: Remove unused declarations. + * libcollector/linetrace.c: Fix -Wdeprecated-non-prototype warnings. + * src/BaseMetricTreeNode.h: Fix -Wunused-private-field warnings. + * src/Dbe.cc: Fix -Wself-assign warnings. + * src/DbeSession.cc: Fix -Wunused-but-set-variable warnings. + * src/Disasm.cc: Fix -Wunused-const-variable warnings. + * src/Experiment.cc: Fix -Wunused-private-field warnings. + * src/HashMap.h: Fix -Wself-assign warnings. + * src/IOActivity.h: Fix -Wunused-private-field warnings. + * src/collctrl.cc: Fix -Wself-assign, -Wparentheses-equality warnings. + * src/collctrl.h: Fix -Wunused-private-field warnings. + * src/collector_module.h: Fix -Wdeprecated-non-prototype warnings. + * src/gp-display-src.cc: Fix -Wunused-private-field warnings. + * src/gp-print.h: Fix -Wheader-guard warnings. + * src/hwc_intel_icelake.h: Fix -Winitializer-overrides warnings. + * src/util.cc: Fix -Wunused-but-set-variable warnings. +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/b79c457ca01df82dbe1facb708e45def4584c903] +Signed-off-by: Martin Jansa +--- + gprofng/common/hwcdrv.c | 3 ++- + gprofng/common/hwcentry.h | 7 +---- + gprofng/common/hwctable.c | 13 +--------- + gprofng/libcollector/collector.c | 15 ++++------- + gprofng/libcollector/collector.h | 2 +- + gprofng/libcollector/collectorAPI.c | 15 ++++++----- + gprofng/libcollector/dispatcher.c | 19 ++++++++------ + gprofng/libcollector/iotrace.c | 12 ++++----- + gprofng/libcollector/libcol_util.c | 2 -- + gprofng/libcollector/libcol_util.h | 6 ----- + gprofng/libcollector/linetrace.c | 40 +++++++++++++++++------------ + gprofng/src/BaseMetricTreeNode.h | 1 - + gprofng/src/Dbe.cc | 12 ++++----- + gprofng/src/DbeSession.cc | 3 --- + gprofng/src/Disasm.cc | 1 - + gprofng/src/Experiment.cc | 2 -- + gprofng/src/HashMap.h | 3 +-- + gprofng/src/IOActivity.h | 1 - + gprofng/src/collctrl.cc | 14 +++++----- + gprofng/src/collctrl.h | 1 - + gprofng/src/collector_module.h | 20 +++++++-------- + gprofng/src/gp-display-src.cc | 8 ------ + gprofng/src/gp-print.h | 2 +- + gprofng/src/util.cc | 10 +++----- + 24 files changed, 84 insertions(+), 128 deletions(-) + +diff --git a/gprofng/common/hwcdrv.c b/gprofng/common/hwcdrv.c +index 2d549b0d6a5..fa1ad32430b 100644 +--- a/gprofng/common/hwcdrv.c ++++ b/gprofng/common/hwcdrv.c +@@ -650,6 +650,7 @@ read_sample (counter_state_t *ctr_state, int msgsz, uint64_t *rvalue, + static void + dump_perf_event_attr (struct perf_event_attr *at) + { ++#if defined(DEBUG) + TprintfT (DBG_LT2, "dump_perf_event_attr: size=%d type=%d sample_period=%lld\n" + " config=0x%llx config1=0x%llx config2=0x%llx wakeup_events=%lld __reserved_1=%lld\n", + (int) at->size, (int) at->type, (unsigned long long) at->sample_period, +@@ -665,13 +666,13 @@ dump_perf_event_attr (struct perf_event_attr *at) + DUMP_F (exclude_kernel); + DUMP_F (exclude_hv); + DUMP_F (exclude_idle); +- // DUMP_F(xmmap); + DUMP_F (comm); + DUMP_F (freq); + DUMP_F (inherit_stat); + DUMP_F (enable_on_exec); + DUMP_F (task); + DUMP_F (watermark); ++#endif + } + + static void +diff --git a/gprofng/common/hwcentry.h b/gprofng/common/hwcentry.h +index a35a363e693..7899875cf96 100644 +--- a/gprofng/common/hwcentry.h ++++ b/gprofng/common/hwcentry.h +@@ -202,17 +202,12 @@ extern "C" + extern char *hwc_get_docref (char *buf, size_t buflen); + /* Return a CPU HWC document reference, or NULL. */ + +- // TBR +- extern char *hwc_get_default_cntrs (); +- /* Return a default HW counter string; may be NULL, or zero-length */ +- /* NULL means none is defined in the table; or zero-length means string defined could not be loaded */ +- + extern char *hwc_get_default_cntrs2 (int forKernel, int style); + /* like hwc_get_default_cntrs() for style==1 */ + /* but allows other styles of formatting as well */ + /* deprecate and eventually remove hwc_get_default_cntrs() */ + +- extern char *hwc_get_orig_default_cntrs (); ++ extern char *hwc_get_orig_default_cntrs (int forKernel); + /* Get the default HW counter string as set in the table */ + /* NULL means none is defined in the table */ + +diff --git a/gprofng/common/hwctable.c b/gprofng/common/hwctable.c +index d0735132fac..fe9153190e7 100644 +--- a/gprofng/common/hwctable.c ++++ b/gprofng/common/hwctable.c +@@ -3231,7 +3231,7 @@ check_tables () + } + #endif + +-static int try_a_counter (); ++static int try_a_counter (int forKernel); + static void hwc_process_raw_ctrs (int forKernel, Hwcentry ***pstd_out, + Hwcentry ***praw_out, Hwcentry ***phidden_out, + Hwcentry**static_tables, +@@ -4321,17 +4321,6 @@ hwc_get_docref (char *buf, size_t buflen) + return buf; + } + +-//TBR: +- +-extern char* +-hwc_get_default_cntrs () +-{ +- setup_cpcx (); +- if (cpcx_default_hwcs[0] != NULL) +- return strdup (cpcx_default_hwcs[0]); // TBR deprecate this +- return NULL; +-} +- + extern char* + hwc_get_default_cntrs2 (int forKernel, int style) + { +diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c +index 39529758600..ef580dcbdd9 100644 +--- a/gprofng/libcollector/collector.c ++++ b/gprofng/libcollector/collector.c +@@ -210,15 +210,10 @@ get_collector_interface () + static void + collector_module_init (CollectorInterface *col_intf) + { +- int nmodules = 0; +- + ModuleInitFunc next_init = (ModuleInitFunc) dlsym (RTLD_DEFAULT, "__collector_module_init"); + if (next_init != NULL) +- { +- nmodules++; +- next_init (col_intf); +- } +- TprintfT (DBG_LT1, "collector_module_init: %d modules\n", nmodules); ++ next_init (col_intf); ++ TprintfT (DBG_LT1, "collector_module_init: %d modules\n", next_init ? 1 : 0); + } + + /* Routines concerned with general experiment start and stop */ +@@ -1784,7 +1779,7 @@ __collector_pause () + } + + void +-__collector_pause_m (char *reason) ++__collector_pause_m (const char *reason) + { + hrtime_t now; + char xreason[MAXPATHLEN]; +@@ -2451,8 +2446,8 @@ __collector_dlog (int tflag, int level, char *format, ...) + + static void (*__real__exit) (int status) = NULL; /* libc only: _exit */ + static void (*__real__Exit) (int status) = NULL; /* libc only: _Exit */ +-void _exit () __attribute__ ((weak, alias ("__collector_exit"))); +-void _Exit () __attribute__ ((weak, alias ("__collector_Exit"))); ++void _exit (int status) __attribute__ ((weak, alias ("__collector_exit"))); ++void _Exit (int status) __attribute__ ((weak, alias ("__collector_Exit"))); + + void + __collector_exit (int status) +diff --git a/gprofng/libcollector/collector.h b/gprofng/libcollector/collector.h +index 07a03bdd17a..eda68a0e4f5 100644 +--- a/gprofng/libcollector/collector.h ++++ b/gprofng/libcollector/collector.h +@@ -123,7 +123,7 @@ extern void __collector_terminate_expt (); + extern void __collector_terminate_hook (); + extern void __collector_sample (char *name); + extern void __collector_pause (); +-extern void __collector_pause_m (); ++extern void __collector_pause_m (const char *reason); + extern void __collector_resume (); + extern int collector_sigemt_sigaction (const struct sigaction*, + struct sigaction*); +diff --git a/gprofng/libcollector/collectorAPI.c b/gprofng/libcollector/collectorAPI.c +index 5fa6403ad49..449bbbaab65 100644 +--- a/gprofng/libcollector/collectorAPI.c ++++ b/gprofng/libcollector/collectorAPI.c +@@ -26,16 +26,17 @@ + #include "collectorAPI.h" + #include "gp-experiment.h" + +-static void *__real_collector_sample = NULL; +-static void *__real_collector_pause = NULL; +-static void *__real_collector_resume = NULL; +-static void *__real_collector_terminate_expt = NULL; +-static void *__real_collector_func_load = NULL; +-static void *__real_collector_func_unload = NULL; ++static void (*__real_collector_sample)(const char *) = NULL; ++static void (*__real_collector_pause)() = NULL; ++static void (*__real_collector_resume)() = NULL; ++static void (*__real_collector_terminate_expt)() = NULL; ++static void (*__real_collector_func_load)(const char *, const char *, ++ const char *, void *, int, int, Lineno *) = NULL; ++static void (*__real_collector_func_unload)(void *) = NULL; + + #define INIT_API if (init_API == 0) collectorAPI_initAPI() + #define NULL_PTR(x) (__real_##x == NULL) +-#define CALL_REAL(x) (*(void(*)())__real_##x) ++#define CALL_REAL(x) (__real_##x) + #define CALL_IF_REAL(x) INIT_API; if (!NULL_PTR(x)) CALL_REAL(x) + + static int init_API = 0; +diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c +index d2a4ad0b60b..867753a22ec 100644 +--- a/gprofng/libcollector/dispatcher.c ++++ b/gprofng/libcollector/dispatcher.c +@@ -909,8 +909,9 @@ sigset (int sig, sighandler_t handler) + + // map interposed symbol versions + static int +-gprofng_timer_create (int (real_func) (), clockid_t clockid, +- struct sigevent *sevp, timer_t *timerid) ++gprofng_timer_create (int (real_func) (clockid_t, struct sigevent *, timer_t *), ++ clockid_t clockid, ++ struct sigevent *sevp, timer_t *timerid) + { + // collector reserves SIGPROF + if (sevp == NULL || sevp->sigev_notify != SIGEV_SIGNAL || +@@ -1045,7 +1046,7 @@ __collector_thr_sigsetmask (int how, const sigset_t* iset, sigset_t* oset) + // map interposed symbol versions + + static int +-gprofng_pthread_sigmask (int (real_func) (), ++gprofng_pthread_sigmask (int (real_func) (int, const sigset_t *, sigset_t*), + int how, const sigset_t *iset, sigset_t* oset) + { + sigset_t lsigset; +@@ -1140,9 +1141,10 @@ collector_root (void *cargs) + // map interposed symbol versions + + static int +-gprofng_pthread_create (int (real_func) (), pthread_t *thread, +- const pthread_attr_t *attr, +- void *(*func)(void*), void *arg) ++gprofng_pthread_create (int (real_func) (pthread_t *, const pthread_attr_t *, ++ void *(*)(void *), void *), ++ pthread_t *thread, const pthread_attr_t *attr, ++ void *(*func)(void*), void *arg) + { + TprintfT (DBG_LTT, "gprofng_pthread_create @%p\n", real_func); + if (dispatch_mode != DISPATCH_ON) +@@ -1277,6 +1279,7 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags, + } + + // weak symbols: +-int sigprocmask () __attribute__ ((weak, alias ("__collector_sigprocmask"))); +-int thr_sigsetmask () __attribute__ ((weak, alias ("__collector_thr_sigsetmask"))); ++int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask"))); ++int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask"))); + int setitimer () __attribute__ ((weak, alias ("_setitimer"))); ++ +diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c +index 18060864796..3deb441d9c7 100644 +--- a/gprofng/libcollector/iotrace.c ++++ b/gprofng/libcollector/iotrace.c +@@ -1350,7 +1350,7 @@ mkstemp (char *template) + unsigned pktSize; + if (NULL_PTR (mkstemp)) + init_io_intf (); +- if (CHCK_REENTRANCE (guard) || template == NULL) ++ if (CHCK_REENTRANCE (guard)) + return CALL_REAL (mkstemp)(template); + PUSH_REENTRANCE (guard); + hrtime_t reqt = gethrtime (); +@@ -1405,7 +1405,7 @@ mkstemps (char *template, int slen) + unsigned pktSize; + if (NULL_PTR (mkstemps)) + init_io_intf (); +- if (CHCK_REENTRANCE (guard) || template == NULL) ++ if (CHCK_REENTRANCE (guard)) + return CALL_REAL (mkstemps)(template, slen); + PUSH_REENTRANCE (guard); + hrtime_t reqt = gethrtime (); +@@ -1485,7 +1485,7 @@ close (int fildes) + + /*------------------------------------------------------------- fopen */ + static FILE* +-gprofng_fopen (FILE*(real_fopen) (), const char *filename, const char *mode) ++gprofng_fopen (FILE*(real_fopen) (const char *, const char *), const char *filename, const char *mode) + { + int *guard; + FILE *fp = NULL; +@@ -1559,7 +1559,7 @@ DCL_FOPEN (fopen) + + /*------------------------------------------------------------- fclose */ + static int +-gprofng_fclose (int(real_fclose) (), FILE *stream) ++gprofng_fclose (int(real_fclose) (FILE *), FILE *stream) + { + int *guard; + int stat; +@@ -1645,7 +1645,7 @@ fflush (FILE *stream) + + /*------------------------------------------------------------- fdopen */ + static FILE* +-gprofng_fdopen (FILE*(real_fdopen) (), int fildes, const char *mode) ++gprofng_fdopen (FILE*(real_fdopen) (int, const char *), int fildes, const char *mode) + { + int *guard; + FILE *fp = NULL; +@@ -2957,7 +2957,7 @@ DCL_FGETPOS (fgetpos) + + /*------------------------------------------------------------- fgetpos64 */ + static int +-gprofng_fgetpos64 (int(real_fgetpos64) (), FILE *stream, fpos64_t *pos) ++gprofng_fgetpos64 (int(real_fgetpos64) (FILE *, fpos64_t *), FILE *stream, fpos64_t *pos) + { + int *guard; + int ret; +diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c +index 15ba24d2ab5..c2b82894e6b 100644 +--- a/gprofng/libcollector/libcol_util.c ++++ b/gprofng/libcollector/libcol_util.c +@@ -1013,7 +1013,6 @@ __collector_open (const char *path, int oflag, ...) + mode_t mode = 0; + + hrtime_t t_timeout = __collector_gethrtime () + 5 * ((hrtime_t) NANOSEC); +- int nretries = 0; + long long delay = 100; /* start at some small, arbitrary value */ + + /* get optional mode argument if it's expected/required */ +@@ -1058,7 +1057,6 @@ __collector_open (const char *path, int oflag, ...) + delay *= 2; + if (delay > 100000000) + delay = 100000000; /* cap at some large, arbitrary value */ +- nretries++; + } + return fd; + } +diff --git a/gprofng/libcollector/libcol_util.h b/gprofng/libcollector/libcol_util.h +index 2eeeaeed50b..1b1b928180a 100644 +--- a/gprofng/libcollector/libcol_util.h ++++ b/gprofng/libcollector/libcol_util.h +@@ -81,12 +81,6 @@ extern int __collector_mutex_trylock (collector_mutex_t *mp); + #define __collector_mutex_init(xx) \ + do { collector_mutex_t tmp=COLLECTOR_MUTEX_INITIALIZER; *(xx)=tmp; } while(0) + +-void __collector_sample (char *name); +-void __collector_terminate_expt (); +-void __collector_pause (); +-void __collector_pause_m (); +-void __collector_resume (); +- + struct DT_lineno; + + typedef enum +diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c +index 67b2d7e9030..66844bc1337 100644 +--- a/gprofng/libcollector/linetrace.c ++++ b/gprofng/libcollector/linetrace.c +@@ -1207,7 +1207,7 @@ __collector_vfork (void) + } + + /*------------------------------------------------------------- execve */ +-int execve () __attribute__ ((weak, alias ("__collector_execve"))); ++int execve (const char *, char *const [], char *const []) __attribute__ ((weak, alias ("__collector_execve"))); + + int + __collector_execve (const char* path, char *const argv[], char *const envp[]) +@@ -1237,7 +1237,7 @@ __collector_execve (const char* path, char *const argv[], char *const envp[]) + return ret; + } + +-int execvp () __attribute__ ((weak, alias ("__collector_execvp"))); ++int execvp (const char *, char *const []) __attribute__ ((weak, alias ("__collector_execvp"))); + + int + __collector_execvp (const char* file, char *const argv[]) +@@ -1269,7 +1269,7 @@ __collector_execvp (const char* file, char *const argv[]) + return ret; + } + +-int execv () __attribute__ ((weak, alias ("__collector_execv"))); ++int execv (const char *, char *const []) __attribute__ ((weak, alias ("__collector_execv"))); + + int + __collector_execv (const char* path, char *const argv[]) +@@ -1408,7 +1408,10 @@ __collector_execl (const char* path, const char *arg0, ...) + /*-------------------------------------------------------- posix_spawn */ + // map interposed symbol versions + static int +-gprofng_posix_spawn (int(real_posix_spawn) (), ++gprofng_posix_spawn (int(real_posix_spawn) (pid_t *, const char *, ++ const posix_spawn_file_actions_t *, ++ const posix_spawnattr_t *, ++ char *const [], char *const []), + pid_t *pidp, const char *path, + const posix_spawn_file_actions_t *file_actions, + const posix_spawnattr_t *attrp, +@@ -1466,7 +1469,10 @@ DCL_POSIX_SPAWN (posix_spawn) + + /*-------------------------------------------------------- posix_spawnp */ + static int +-gprofng_posix_spawnp (int (real_posix_spawnp) (), ++gprofng_posix_spawnp (int (real_posix_spawnp) (pid_t *, const char *, ++ const posix_spawn_file_actions_t *, ++ const posix_spawnattr_t *, ++ char *const [], char *const []), + pid_t *pidp, const char *path, + const posix_spawn_file_actions_t *file_actions, + const posix_spawnattr_t *attrp, +@@ -1754,8 +1760,8 @@ __collector_clone (int (*fn)(void *), void *child_stack, int flags, void *arg, + } + + /*-------------------------------------------------------------------- setuid */ +-int setuid () __attribute__ ((weak, alias ("__collector_setuid"))); +-int _setuid () __attribute__ ((weak, alias ("__collector_setuid"))); ++int setuid (uid_t) __attribute__ ((weak, alias ("__collector_setuid"))); ++int _setuid (uid_t) __attribute__ ((weak, alias ("__collector_setuid"))); + + int + __collector_setuid (uid_t ruid) +@@ -1770,8 +1776,8 @@ __collector_setuid (uid_t ruid) + } + + /*------------------------------------------------------------------- seteuid */ +-int seteuid () __attribute__ ((weak, alias ("__collector_seteuid"))); +-int _seteuid () __attribute__ ((weak, alias ("__collector_seteuid"))); ++int seteuid (uid_t) __attribute__ ((weak, alias ("__collector_seteuid"))); ++int _seteuid (uid_t) __attribute__ ((weak, alias ("__collector_seteuid"))); + + int + __collector_seteuid (uid_t euid) +@@ -1786,8 +1792,8 @@ __collector_seteuid (uid_t euid) + } + + /*------------------------------------------------------------------ setreuid */ +-int setreuid () __attribute__ ((weak, alias ("__collector_setreuid"))); +-int _setreuid () __attribute__ ((weak, alias ("__collector_setreuid"))); ++int setreuid (uid_t, uid_t) __attribute__ ((weak, alias ("__collector_setreuid"))); ++int _setreuid (uid_t, uid_t) __attribute__ ((weak, alias ("__collector_setreuid"))); + + int + __collector_setreuid (uid_t ruid, uid_t euid) +@@ -1802,8 +1808,8 @@ __collector_setreuid (uid_t ruid, uid_t euid) + } + + /*-------------------------------------------------------------------- setgid */ +-int setgid () __attribute__ ((weak, alias ("__collector_setgid"))); +-int _setgid () __attribute__ ((weak, alias ("__collector_setgid"))); ++int setgid (gid_t) __attribute__ ((weak, alias ("__collector_setgid"))); ++int _setgid (gid_t) __attribute__ ((weak, alias ("__collector_setgid"))); + + int + __collector_setgid (gid_t rgid) +@@ -1818,8 +1824,8 @@ __collector_setgid (gid_t rgid) + } + + /*------------------------------------------------------------------- setegid */ +-int setegid () __attribute__ ((weak, alias ("__collector_setegid"))); +-int _setegid () __attribute__ ((weak, alias ("__collector_setegid"))); ++int setegid (gid_t) __attribute__ ((weak, alias ("__collector_setegid"))); ++int _setegid (gid_t) __attribute__ ((weak, alias ("__collector_setegid"))); + + int + __collector_setegid (gid_t egid) +@@ -1834,8 +1840,8 @@ __collector_setegid (gid_t egid) + } + + /*------------------------------------------------------------------ setregid */ +-int setregid () __attribute__ ((weak, alias ("__collector_setregid"))); +-int _setregid () __attribute__ ((weak, alias ("__collector_setregid"))); ++int setregid (gid_t, gid_t) __attribute__ ((weak, alias ("__collector_setregid"))); ++int _setregid (gid_t, gid_t) __attribute__ ((weak, alias ("__collector_setregid"))); + + int + __collector_setregid (gid_t rgid, gid_t egid) +diff --git a/gprofng/src/BaseMetricTreeNode.h b/gprofng/src/BaseMetricTreeNode.h +index d73d244e27e..7698f9c6eaf 100644 +--- a/gprofng/src/BaseMetricTreeNode.h ++++ b/gprofng/src/BaseMetricTreeNode.h +@@ -85,7 +85,6 @@ private: + + BaseMetricTreeNode *root; // root of tree + BaseMetricTreeNode *parent; // my parent +- bool aggregation; // value is based on children's values + char *name; // bm->get_cmd() for metrics, unique string otherwise + char *uname; // user-visible text + char *unit; // see UNIT_* defines +diff --git a/gprofng/src/Dbe.cc b/gprofng/src/Dbe.cc +index 91a5aa5ef05..bcbf4694565 100644 +--- a/gprofng/src/Dbe.cc ++++ b/gprofng/src/Dbe.cc +@@ -9594,14 +9594,12 @@ dbeGetTLDataRepVals (VMode view_mode, hrtime_t start_ts, hrtime_t delta, + } + if (sampleVals != NULL) + { +- Sample* sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx); +- if (!sample || !sample->get_usage ()) +- sample = sample; +- else ++ Sample *sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx); ++ if (sample != NULL) + { +- PrUsage* prusage = sample->get_usage (); +- Vector *mstateVals = prusage->getMstateValues (); +- sampleVals->store (eventIdx, mstateVals); ++ PrUsage *prusage = sample->get_usage (); ++ if (prusage != NULL) ++ sampleVals->store (eventIdx, prusage->getMstateValues ()); + } + } + } +diff --git a/gprofng/src/DbeSession.cc b/gprofng/src/DbeSession.cc +index 20329091167..5d6bab75638 100644 +--- a/gprofng/src/DbeSession.cc ++++ b/gprofng/src/DbeSession.cc +@@ -1162,8 +1162,6 @@ DbeSession::open_experiment (Experiment *exp, char *path) + closedir (exp_dir); + exp_names->sort (dir_name_cmp); + Experiment **t_exp_list = new Experiment *[exp_names->size ()]; +- int nsubexps = 0; +- + for (int j = 0, jsz = exp_names->size (); j < jsz; j++) + { + t_exp_list[j] = NULL; +@@ -1220,7 +1218,6 @@ DbeSession::open_experiment (Experiment *exp, char *path) + dexp->open (dpath); + append (dexp); + t_exp_list[j] = dexp; +- nsubexps++; + dexp->set_clock (exp->clock); + + // DbeView add_experiment() is split into two parts +diff --git a/gprofng/src/Disasm.cc b/gprofng/src/Disasm.cc +index 1396e4fb072..d78212cee39 100644 +--- a/gprofng/src/Disasm.cc ++++ b/gprofng/src/Disasm.cc +@@ -49,7 +49,6 @@ struct DisContext + }; + + static const int MAX_DISASM_STR = 2048; +-static const int MAX_INSTR_SIZE = 8; + + Disasm::Disasm (char *fname) + { +diff --git a/gprofng/src/Experiment.cc b/gprofng/src/Experiment.cc +index 02a24ebc40d..a31550aff66 100644 +--- a/gprofng/src/Experiment.cc ++++ b/gprofng/src/Experiment.cc +@@ -1935,8 +1935,6 @@ private: + } + + Experiment *exp; +- char *hostname; +- hrtime_t time, tstamp; + }; + + void +diff --git a/gprofng/src/HashMap.h b/gprofng/src/HashMap.h +index 918c0dc95f9..c5fdd345ba8 100644 +--- a/gprofng/src/HashMap.h ++++ b/gprofng/src/HashMap.h +@@ -78,9 +78,8 @@ copy_key (uint64_t a) + } + + template<> inline void +-delete_key (uint64_t a) ++delete_key (uint64_t) + { +- a = a; + } + + template<> inline int +diff --git a/gprofng/src/IOActivity.h b/gprofng/src/IOActivity.h +index cf462cf8d55..f3a22ada6b1 100644 +--- a/gprofng/src/IOActivity.h ++++ b/gprofng/src/IOActivity.h +@@ -78,7 +78,6 @@ private: + Hist_data *hist_data_file_all; + Hist_data *hist_data_vfd_all; + Hist_data *hist_data_callstack_all; +- Hist_data *hist_data_callstack; + + DbeView *dbev; + }; +diff --git a/gprofng/src/collctrl.cc b/gprofng/src/collctrl.cc +index ebf888c5a20..b0ed66efcdc 100644 +--- a/gprofng/src/collctrl.cc ++++ b/gprofng/src/collctrl.cc +@@ -952,9 +952,7 @@ Coll_Ctrl::set_clkprof (const char *string, char** warn) + double dval = strtod (string, &endchar); + if (*endchar == 'm' || *endchar == 0) /* user specified milliseconds */ + dval = dval * 1000.; +- else if (*endchar == 'u') /* user specified microseconds */ +- dval = dval; +- else ++ else if (*endchar != 'u') + return dbe_sprintf (GTXT ("Unrecognized clock-profiling interval `%s'\n"), string); + nclkprof_timer = (int) (dval + 0.5); + } +@@ -2901,7 +2899,7 @@ Coll_Ctrl::get (char * control) + } + if (!strncmp (control, ipc_str_javaprof, len)) + { +- if ((java_mode == 0)) ++ if (java_mode == 0) + return strdup (ipc_str_off); + return strdup (ipc_str_on); + } +@@ -2917,7 +2915,7 @@ Coll_Ctrl::get (char * control) + } + if (!strncmp (control, ipc_str_sample_sig, len)) + { +- if ((sample_sig == 0)) ++ if (sample_sig == 0) + return strdup (ipc_str_off); + char *str_signal = find_signal_name (sample_sig); + if (str_signal != NULL) +@@ -2951,15 +2949,15 @@ Coll_Ctrl::get (char * control) + } + if (!strncmp (control, ipc_str_iotrace, len)) + { +- if ((iotrace_enabled == 0)) ++ if (iotrace_enabled == 0) + return strdup (ipc_str_off); + return strdup (ipc_str_on); + } + if (!strncmp (control, ipc_str_count, len)) + { +- if ((count_enabled == 0)) ++ if (count_enabled == 0) + return strdup (ipc_str_off); +- if ((count_enabled < 0)) ++ if (count_enabled < 0) + return strdup ("on\nstatic"); + return strdup (ipc_str_on); + } +diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h +index bb48eadb9f8..ebcdbca561f 100644 +--- a/gprofng/src/collector_module.h ++++ b/gprofng/src/collector_module.h +@@ -40,12 +40,12 @@ struct tm; + * If you add any, please put it in the right place */ + typedef struct CollectorUtilFuncs + { +- int (*access)(); ++ int (*access)(const char *, int); + int (*atoi)(const char *nptr); + void *(*calloc)(size_t nelem, size_t elsize); + int (*clearenv)(void); + int (*close)(int); +- int (*closedir)(); ++ int (*closedir)(DIR *); + int (*execv)(const char *path, char *const argv[]); + void (*exit)(int status); + int (*fclose)(FILE *stream); +@@ -66,20 +66,20 @@ typedef struct CollectorUtilFuncs + off_t (*lseek)(int fd, off_t offset, int whence); + void *(*malloc)(size_t size); + void *(*memset)(void *s1, int c, size_t n); +- int (*mkdir)(); ++ int (*mkdir)(const char *, mode_t); + time_t (*mktime)(struct tm *timeptr); + void *(*mmap)(void *, size_t, int, int, int, off_t); +- void *(*mmap64_)(); +- int (*munmap)(); ++ void *(*mmap64_)(void *, size_t, int, int, int, off_t); ++ int (*munmap)(void *, size_t); + int (*open)(const char *, int, ...); + int (*open_bare)(const char *, int, ...); +- DIR *(*opendir)(); ++ DIR *(*opendir)(const char *); + int (*pclose)(FILE *stream); + FILE *(*popen)(const char *command, const char *mode); + int (*putenv)(char *string); +- ssize_t (*pwrite)(); +- ssize_t (*pwrite64_)(); +- ssize_t (*read)(); ++ ssize_t (*pwrite)(int, const void *, size_t, off_t); ++ ssize_t (*pwrite64_)(int, const void *, size_t, off_t); ++ ssize_t (*read)(int, void *, size_t); + int (*setenv)(const char *name, const char *value, int overwrite); + int (*sigfillset)(sigset_t *set); + int (*sigprocmask)(int how, const sigset_t *set, sigset_t *oldset); +@@ -112,7 +112,7 @@ typedef struct CollectorUtilFuncs + int (*unsetenv)(const char *name); + int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap); + pid_t (*waitpid)(pid_t pid, int *stat_loc, int options); +- ssize_t (*write)(); ++ ssize_t (*write)(int, void *, size_t); + double (*atof)(); + void *n_a; + } CollectorUtilFuncs; +diff --git a/gprofng/src/gp-display-src.cc b/gprofng/src/gp-display-src.cc +index 200e6080d2e..24af375edf1 100644 +--- a/gprofng/src/gp-display-src.cc ++++ b/gprofng/src/gp-display-src.cc +@@ -75,14 +75,6 @@ private: + bool v_opt; + int multiple; + char *str_compcom; +- bool hex_visible; +- int src_visible; +- int vis_src; +- int vis_dis; +- int threshold_src; +- int threshold_dis; +- int threshold; +- int vis_bits; + }; + + static int +diff --git a/gprofng/src/gp-print.h b/gprofng/src/gp-print.h +index 1b748ea60a3..1a8ad3b6c13 100644 +--- a/gprofng/src/gp-print.h ++++ b/gprofng/src/gp-print.h +@@ -19,7 +19,7 @@ + MA 02110-1301, USA. */ + + #ifndef _GP_PRINT_H +-#define _ER_PRINT_H ++#define _GP_PRINT_H + + #include "Command.h" + #include "DbeApplication.h" +diff --git a/gprofng/src/util.cc b/gprofng/src/util.cc +index 201f7088b66..228140b61ae 100644 +--- a/gprofng/src/util.cc ++++ b/gprofng/src/util.cc +@@ -741,17 +741,13 @@ get_relative_link (const char *path_from, const char *path_to) + s2 = canonical_path (s2); + long l = dbe_sstrlen (s1); + // try to find common directories +- int common_slashes = 0; + int last_common_slash = -1; + for (int i = 0; i < l; i++) + { +- if (s1[i] != s2[i]) break; +- if (s1[i] == 0) break; ++ if (s1[i] != s2[i] || s1[i] == 0) ++ break; + if (s1[i] == '/') +- { +- common_slashes++; +- last_common_slash = i; +- } ++ last_common_slash = i; + } + // find slashes in remaining path_to + int slashes = 0; diff --git a/meta/recipes-devtools/binutils/binutils/0020-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch b/meta/recipes-devtools/binutils/binutils/0020-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch new file mode 100644 index 0000000000..a1b8bb6d18 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0020-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch @@ -0,0 +1,606 @@ +From 610889f9e0cace025758fdd0ce8e8f9edf9f4223 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 16 Nov 2024 05:13:48 +0000 +Subject: [PATCH] gprofng: fix -std=gnu23 compatibility wrt unprototyped + functions + +C23 removes support for unprototyped functions. Fix function pointer types +accordingly. + +This does not fix all instances, there's a few left as I commented on in +PR32374 (e.g. setitimer which I have a local workaround for but it involves +a glibc implementation detail; the Linaro precommit CI tester pointed that +out too, so dropped that). + +ChangeLog: + PR gprofng/32374 + + * libcollector/collector.c (collector_sample): Fix prototype. + * libcollector/envmgmt.c (putenv): Ditto. + (_putenv): Ditto. + (__collector_putenv): Ditto. + (setenv): Ditto. + (_setenv): Ditto. + (__collector_setenv): Ditto. + (unsetenv): Ditto. + (_unsetenv): Ditto. + (__collector_unsetenv): Ditto. + * libcollector/jprofile.c (open_experiment): Ditto. + (__collector_jprofile_enable_synctrace): Ditto. + (jprof_find_asyncgetcalltrace): Ditto. + * libcollector/libcol_util.c (__collector_util_init): Ditto. + (ARCH): Ditto. + * libcollector/mmaptrace.c (collector_func_load): Ditto. + (collector_func_unload): Ditto. + * libcollector/unwind.c (__collector_ext_unwind_init): Ditto. + * src/collector_module.h: Ditto. + +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/a2f774427e078f3da2c06bdea25f77a61979a695] +Signed-off-by: Martin Jansa +--- + gprofng/libcollector/collector.c | 2 +- + gprofng/libcollector/envmgmt.c | 24 ++++----- + gprofng/libcollector/jprofile.c | 10 ++-- + gprofng/libcollector/libcol_util.c | 84 +++++++++++++++--------------- + gprofng/libcollector/mmaptrace.c | 4 +- + gprofng/libcollector/unwind.c | 2 +- + gprofng/src/collector_module.h | 2 +- + 7 files changed, 64 insertions(+), 64 deletions(-) + +diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c +index ef580dcbdd9..899f08a5381 100644 +--- a/gprofng/libcollector/collector.c ++++ b/gprofng/libcollector/collector.c +@@ -1579,7 +1579,7 @@ __collector_resume_experiment () + } + + /* Code to support Samples and Pause/Resume */ +-void collector_sample () __attribute__ ((weak, alias ("__collector_sample"))); ++void collector_sample (char *name) __attribute__ ((weak, alias ("__collector_sample"))); + void + __collector_sample (char *name) + { +diff --git a/gprofng/libcollector/envmgmt.c b/gprofng/libcollector/envmgmt.c +index ebe08f82007..0ff7621070d 100644 +--- a/gprofng/libcollector/envmgmt.c ++++ b/gprofng/libcollector/envmgmt.c +@@ -692,8 +692,8 @@ __collector_env_update (char *envp[]) + + + /*------------------------------------------------------------- putenv */ +-int putenv () __attribute__ ((weak, alias ("__collector_putenv"))); +-int _putenv () __attribute__ ((weak, alias ("__collector_putenv"))); ++int putenv (char*) __attribute__ ((weak, alias ("__collector_putenv"))); ++int _putenv (char*) __attribute__ ((weak, alias ("__collector_putenv"))); + + int + __collector_putenv (char * string) +@@ -701,9 +701,9 @@ __collector_putenv (char * string) + if (CALL_UTIL (putenv) == __collector_putenv || + CALL_UTIL (putenv) == NULL) + { // __collector_libc_funcs_init failed +- CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_NEXT, "putenv"); ++ CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_NEXT, "putenv"); + if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv) +- CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_DEFAULT, "putenv"); ++ CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_DEFAULT, "putenv"); + if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv) + { + TprintfT (DBG_LT2, "__collector_putenv(): ERROR: no pointer found.\n"); +@@ -719,8 +719,8 @@ __collector_putenv (char * string) + } + + /*------------------------------------------------------------- setenv */ +-int setenv () __attribute__ ((weak, alias ("__collector_setenv"))); +-int _setenv () __attribute__ ((weak, alias ("__collector_setenv"))); ++int setenv (const char*, const char*, int) __attribute__ ((weak, alias ("__collector_setenv"))); ++int _setenv (const char*, const char*, int) __attribute__ ((weak, alias ("__collector_setenv"))); + + int + __collector_setenv (const char *name, const char *value, int overwrite) +@@ -728,9 +728,9 @@ __collector_setenv (const char *name, const char *value, int overwrite) + if (CALL_UTIL (setenv) == __collector_setenv || + CALL_UTIL (setenv) == NULL) + { // __collector_libc_funcs_init failed +- CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_NEXT, "setenv"); ++ CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_NEXT, "setenv"); + if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv) +- CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_DEFAULT, "setenv"); ++ CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_DEFAULT, "setenv"); + if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv) + { + TprintfT (DBG_LT2, "__collector_setenv(): ERROR: no pointer found.\n"); +@@ -765,8 +765,8 @@ __collector_setenv (const char *name, const char *value, int overwrite) + } + + /*------------------------------------------------------------- unsetenv */ +-int unsetenv () __attribute__ ((weak, alias ("__collector_unsetenv"))); +-int _unsetenv () __attribute__ ((weak, alias ("__collector_unsetenv"))); ++int unsetenv (const char*) __attribute__ ((weak, alias ("__collector_unsetenv"))); ++int _unsetenv (const char*) __attribute__ ((weak, alias ("__collector_unsetenv"))); + + int + __collector_unsetenv (const char *name) +@@ -774,9 +774,9 @@ __collector_unsetenv (const char *name) + if (CALL_UTIL (unsetenv) == __collector_unsetenv || + CALL_UTIL (unsetenv) == NULL) + { // __collector_libc_funcs_init failed +- CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_NEXT, "unsetenv"); ++ CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_NEXT, "unsetenv"); + if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv) +- CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_DEFAULT, "unsetenv"); ++ CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_DEFAULT, "unsetenv"); + if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv) + { + TprintfT (DBG_LT2, "__collector_unsetenv(): ERROR: no pointer found.\n"); +diff --git a/gprofng/libcollector/jprofile.c b/gprofng/libcollector/jprofile.c +index 1bacacc1a2a..11051f937ef 100644 +--- a/gprofng/libcollector/jprofile.c ++++ b/gprofng/libcollector/jprofile.c +@@ -105,8 +105,8 @@ static void rwrite (int fd, const void *buf, size_t nbyte); + static void addToDynamicArchive (const char* name, const unsigned char* class_data, int class_data_len); + static void (*AsyncGetCallTrace)(JVMPI_CallTrace*, jint, ucontext_t*) = NULL; + static void (*collector_heap_record)(int, int, void*) = NULL; +-static void (*collector_jsync_begin)() = NULL; +-static void (*collector_jsync_end)(hrtime_t, void *) = NULL; ++static void (*collector_jsync_begin)(void) = NULL; ++static void (*collector_jsync_end)(hrtime_t, void*) = NULL; + + #define gethrtime collector_interface->getHiResTime + +@@ -230,7 +230,7 @@ open_experiment (const char *exp) + else if (__collector_strStartWith (args, "s:") == 0) + { + java_sync_mode = 1; +- collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_begin"); ++ collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, "__collector_jsync_begin"); + collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_end"); + } + #endif +@@ -255,7 +255,7 @@ __collector_jprofile_enable_synctrace () + return; + } + java_sync_mode = 1; +- collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_begin"); ++ collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, "__collector_jsync_begin"); + collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, "__collector_jsync_end"); + TprintfT (DBG_LT1, "jprofile: turning on Java synctrace, and requesting events\n"); + } +@@ -1129,7 +1129,7 @@ jprof_find_asyncgetcalltrace () + { + void *jvmhandle; + if (__collector_VM_ReadByteInstruction == NULL) +- __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction"); ++ __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction"); + + /* look for stack unwind function using default path */ + AsyncGetCallTrace = (void (*)(JVMPI_CallTrace*, jint, ucontext_t*)) +diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c +index c2b82894e6b..688bdf19c6d 100644 +--- a/gprofng/libcollector/libcol_util.c ++++ b/gprofng/libcollector/libcol_util.c +@@ -1114,7 +1114,7 @@ __collector_util_init () + + ptr = dlsym (libc, "munmap"); + if (ptr) +- __collector_util_funcs.munmap = (int(*)())ptr; ++ __collector_util_funcs.munmap = (int(*)(void *, size_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT munmap: %s\n", dlerror ()); +@@ -1123,7 +1123,7 @@ __collector_util_init () + + ptr = dlsym (libc, "close"); + if (ptr) +- __collector_util_funcs.close = (int(*)())ptr; ++ __collector_util_funcs.close = (int(*)(int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT close: %s\n", dlerror ()); +@@ -1158,7 +1158,7 @@ __collector_util_init () + + ptr = dlsym (libc, "close"); + if (ptr) +- __collector_util_funcs.close = (int(*)())ptr; ++ __collector_util_funcs.close = (int(*)(int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT close: %s\n", dlerror ()); +@@ -1167,7 +1167,7 @@ __collector_util_init () + + ptr = dlsym (libc, "read"); + if (ptr) +- __collector_util_funcs.read = (ssize_t (*)())ptr; ++ __collector_util_funcs.read = (ssize_t (*)(int, void*, size_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT read: %s\n", dlerror ()); +@@ -1176,7 +1176,7 @@ __collector_util_init () + + ptr = dlsym (libc, "write"); + if (ptr) +- __collector_util_funcs.write = (ssize_t (*)())ptr; ++ __collector_util_funcs.write = (ssize_t (*)(int, void*, size_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT write: %s\n", dlerror ()); +@@ -1186,14 +1186,14 @@ __collector_util_init () + #if ARCH(Intel) && WSIZE(32) + ptr = dlvsym (libc, "pwrite", "GLIBC_2.2"); // it is in /lib/libpthread.so.0 + if (ptr) +- __collector_util_funcs.pwrite = (ssize_t (*)())ptr; ++ __collector_util_funcs.pwrite = (ssize_t (*)(int, void*, size_t, off_t))ptr; + else + { + Tprintf (DBG_LT0, "libcol_util: WARNING: dlvsym for %s@%s failed. Using dlsym() instead.", "pwrite", "GLIBC_2.2"); + #endif /* ARCH(Intel) && WSIZE(32) */ + ptr = dlsym (libc, "pwrite"); + if (ptr) +- __collector_util_funcs.pwrite = (ssize_t (*)())ptr; ++ __collector_util_funcs.pwrite = (ssize_t (*)(int, const void*, size_t, off_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT pwrite: %s\n", dlerror ()); +@@ -1213,7 +1213,7 @@ __collector_util_init () + #endif /* ARCH(Intel) && WSIZE(32) */ + ptr = dlsym (libc, "pwrite64"); + if (ptr) +- __collector_util_funcs.pwrite64_ = (ssize_t (*)())ptr; ++ __collector_util_funcs.pwrite64_ = (ssize_t (*)(int, const void*, size_t, off_t))ptr; + else + __collector_util_funcs.pwrite64_ = __collector_util_funcs.pwrite; + #if ARCH(Intel) && WSIZE(32) +@@ -1222,7 +1222,7 @@ __collector_util_init () + + ptr = dlsym (libc, "lseek"); + if (ptr) +- __collector_util_funcs.lseek = (off_t (*)())ptr; ++ __collector_util_funcs.lseek = (off_t (*)(int, off_t, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT lseek: %s\n", dlerror ()); +@@ -1231,7 +1231,7 @@ __collector_util_init () + + ptr = dlsym (libc, "access"); + if (ptr) +- __collector_util_funcs.access = (int(*)())ptr; ++ __collector_util_funcs.access = (int(*)(const char*, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT access: %s\n", dlerror ()); +@@ -1240,7 +1240,7 @@ __collector_util_init () + + ptr = dlsym (libc, "mkdir"); + if (ptr) +- __collector_util_funcs.mkdir = (int(*)())ptr; ++ __collector_util_funcs.mkdir = (int(*)(const char*, mode_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT mkdir: %s\n", dlerror ()); +@@ -1249,7 +1249,7 @@ __collector_util_init () + + ptr = dlsym (libc, "opendir"); + if (ptr) +- __collector_util_funcs.opendir = (DIR * (*)())ptr; ++ __collector_util_funcs.opendir = (DIR * (*)(const char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT opendir: %s\n", dlerror ()); +@@ -1258,7 +1258,7 @@ __collector_util_init () + + ptr = dlsym (libc, "closedir"); + if (ptr) +- __collector_util_funcs.closedir = (int(*)())ptr; ++ __collector_util_funcs.closedir = (int(*)(DIR*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT closedir: %s\n", dlerror ()); +@@ -1267,7 +1267,7 @@ __collector_util_init () + + ptr = dlsym (libc, "execv"); + if (ptr) +- __collector_util_funcs.execv = (int(*)())ptr; ++ __collector_util_funcs.execv = (int(*)(const char*, char* const*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT execv: %s\n", dlerror ()); +@@ -1276,7 +1276,7 @@ __collector_util_init () + + ptr = dlsym (libc, "exit"); + if (ptr) +- __collector_util_funcs.exit = (void(*)())ptr; ++ __collector_util_funcs.exit = (void(*)(int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT exit: %s\n", dlerror ()); +@@ -1285,7 +1285,7 @@ __collector_util_init () + + ptr = dlsym (libc, "vfork"); + if (ptr) +- __collector_util_funcs.vfork = (pid_t (*)())ptr; ++ __collector_util_funcs.vfork = (pid_t (*)(void))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT vfork: %s\n", dlerror ()); +@@ -1294,7 +1294,7 @@ __collector_util_init () + + ptr = dlsym (libc, "waitpid"); + if (ptr) +- __collector_util_funcs.waitpid = (pid_t (*)())ptr; ++ __collector_util_funcs.waitpid = (pid_t (*)(pid_t, int*, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT waitpid: %s\n", dlerror ()); +@@ -1313,7 +1313,7 @@ __collector_util_init () + + ptr = dlsym (libc, "getcontext"); + if (ptr) +- __collector_util_funcs.getcontext = (int(*)())ptr; ++ __collector_util_funcs.getcontext = (int(*)(ucontext_t*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT getcontext: %s\n", dlerror ()); +@@ -1331,7 +1331,7 @@ __collector_util_init () + + ptr = dlsym (libc, "putenv"); + if (ptr) +- __collector_util_funcs.putenv = (int(*)())ptr; ++ __collector_util_funcs.putenv = (int(*)(char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT putenv: %s\n", dlerror ()); +@@ -1340,7 +1340,7 @@ __collector_util_init () + + ptr = dlsym (libc, "getenv"); + if (ptr) +- __collector_util_funcs.getenv = (char*(*)())ptr; ++ __collector_util_funcs.getenv = (char*(*)(const char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT getenv: %s\n", dlerror ()); +@@ -1349,7 +1349,7 @@ __collector_util_init () + + ptr = dlsym (libc, "time"); + if (ptr) +- __collector_util_funcs.time = (time_t (*)())ptr; ++ __collector_util_funcs.time = (time_t (*)(time_t*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT time: %s\n", dlerror ()); +@@ -1358,7 +1358,7 @@ __collector_util_init () + + ptr = dlsym (libc, "mktime"); + if (ptr) +- __collector_util_funcs.mktime = (time_t (*)())ptr; ++ __collector_util_funcs.mktime = (time_t (*)(struct tm*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT mktime: %s\n", dlerror ()); +@@ -1372,7 +1372,7 @@ __collector_util_init () + + ptr = dlsym (libc, "gmtime_r"); + if (ptr) +- __collector_util_funcs.gmtime_r = (struct tm * (*)())ptr; ++ __collector_util_funcs.gmtime_r = (struct tm * (*)(const time_t*, struct tm*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT gmtime_r: %s\n", dlerror ()); +@@ -1381,7 +1381,7 @@ __collector_util_init () + + ptr = dlsym (libc, "strtol"); + if (ptr) +- __collector_util_funcs.strtol = (long (*)())ptr; ++ __collector_util_funcs.strtol = (long (*)(const char*, char**, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtol: %s\n", dlerror ()); +@@ -1390,7 +1390,7 @@ __collector_util_init () + + ptr = dlsym (libc, "strtoll"); + if (ptr) +- __collector_util_funcs.strtoll = (long long (*)())ptr; ++ __collector_util_funcs.strtoll = (long long (*)(const char*, char**, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoll: %s\n", dlerror ()); +@@ -1402,7 +1402,7 @@ __collector_util_init () + + ptr = dlsym (libc, "setenv"); + if (ptr) +- __collector_util_funcs.setenv = (int(*)())ptr; ++ __collector_util_funcs.setenv = (int(*)(const char*, const char*, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT setenv: %s\n", dlerror ()); +@@ -1411,7 +1411,7 @@ __collector_util_init () + + ptr = dlsym (libc, "unsetenv"); + if (ptr) +- __collector_util_funcs.unsetenv = (int(*)())ptr; ++ __collector_util_funcs.unsetenv = (int(*)(const char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT unsetenv: %s\n", dlerror ()); +@@ -1498,7 +1498,7 @@ __collector_util_init () + + ptr = dlsym (libc, "pclose"); + if (ptr) +- __collector_util_funcs.pclose = (int(*)())ptr; ++ __collector_util_funcs.pclose = (int(*)(FILE*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT pclose: %s\n", dlerror ()); +@@ -1507,7 +1507,7 @@ __collector_util_init () + + ptr = dlsym (libc, "fgets"); + if (ptr) +- __collector_util_funcs.fgets = (char*(*)())ptr; ++ __collector_util_funcs.fgets = (char*(*)(char*, int, FILE*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT fgets: %s\n", dlerror ()); +@@ -1534,7 +1534,7 @@ __collector_util_init () + + ptr = dlsym (libc, "vsnprintf"); + if (ptr) +- __collector_util_funcs.vsnprintf = (int(*)())ptr; ++ __collector_util_funcs.vsnprintf = (int(*)(char*, size_t, const char*, ...))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT vsnprintf: %s\n", dlerror ()); +@@ -1543,7 +1543,7 @@ __collector_util_init () + + ptr = dlsym (libc, "atoi"); + if (ptr) +- __collector_util_funcs.atoi = (int(*)())ptr; ++ __collector_util_funcs.atoi = (int(*)(const char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT atoi: %s\n", dlerror ()); +@@ -1552,7 +1552,7 @@ __collector_util_init () + + ptr = dlsym (libc, "calloc"); + if (ptr) +- __collector_util_funcs.calloc = (void*(*)())ptr; ++ __collector_util_funcs.calloc = (void*(*)(size_t, size_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT calloc: %s\n", dlerror ()); +@@ -1562,7 +1562,7 @@ __collector_util_init () + ptr = dlsym (libc, "free"); + if (ptr) + { +- __collector_util_funcs.free = (void(*)())ptr; ++ __collector_util_funcs.free = (void(*)(void*))ptr; + } + else + { +@@ -1572,7 +1572,7 @@ __collector_util_init () + + ptr = dlsym (libc, "strdup"); + if (ptr) +- __collector_util_funcs.libc_strdup = (char*(*)())ptr; ++ __collector_util_funcs.libc_strdup = (char*(*)(const char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strdup: %s\n", dlerror ()); +@@ -1585,7 +1585,7 @@ __collector_util_init () + + ptr = dlsym (libc, "strerror"); + if (ptr) +- __collector_util_funcs.strerror = (char*(*)())ptr; ++ __collector_util_funcs.strerror = (char*(*)(int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strerror: %s\n", dlerror ()); +@@ -1593,7 +1593,7 @@ __collector_util_init () + } + ptr = dlsym (libc, "strerror_r"); + if (ptr) +- __collector_util_funcs.strerror_r = (int(*)())ptr; ++ __collector_util_funcs.strerror_r = (int(*)(int, char*, size_t))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strerror_r: %s\n", dlerror ()); +@@ -1601,7 +1601,7 @@ __collector_util_init () + } + ptr = dlsym (libc, "strspn"); + if (ptr) +- __collector_util_funcs.strspn = (size_t (*)())ptr; ++ __collector_util_funcs.strspn = (size_t (*)(const char*, const char*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strspn: %s\n", dlerror ()); +@@ -1610,7 +1610,7 @@ __collector_util_init () + + ptr = dlsym (libc, "strtoul"); + if (ptr) +- __collector_util_funcs.strtoul = (unsigned long int(*)())ptr; ++ __collector_util_funcs.strtoul = (unsigned long int(*)(const char*, char**, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoul: %s\n", dlerror ()); +@@ -1619,7 +1619,7 @@ __collector_util_init () + + ptr = dlsym (libc, "strtoull"); + if (ptr) +- __collector_util_funcs.strtoull = (unsigned long long int(*)())ptr; ++ __collector_util_funcs.strtoull = (unsigned long long int(*)(const char*, char**, int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT strtoull: %s\n", dlerror ()); +@@ -1664,7 +1664,7 @@ __collector_util_init () + + ptr = dlsym (libc, "sysconf"); + if (ptr) +- __collector_util_funcs.sysconf = (long(*)())ptr; ++ __collector_util_funcs.sysconf = (long(*)(int))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sysconf: %s\n", dlerror ()); +@@ -1673,7 +1673,7 @@ __collector_util_init () + + ptr = dlsym (libc, "sigfillset"); + if (ptr) +- __collector_util_funcs.sigfillset = (int(*)())ptr; ++ __collector_util_funcs.sigfillset = (int(*)(sigset_t*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sigfillset: %s\n", dlerror ()); +@@ -1682,7 +1682,7 @@ __collector_util_init () + + ptr = dlsym (libc, "sigprocmask"); + if (ptr) +- __collector_util_funcs.sigprocmask = (int(*)())ptr; ++ __collector_util_funcs.sigprocmask = (int(*)(int, const sigset_t*, sigset_t*))ptr; + else + { + CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sigprocmask: %s\n", dlerror ()); +diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c +index f07f4d76513..2a6857ab58e 100644 +--- a/gprofng/libcollector/mmaptrace.c ++++ b/gprofng/libcollector/mmaptrace.c +@@ -1209,7 +1209,7 @@ process_vsyscall_page () + /* + * collector API for dynamic functions + */ +-void collector_func_load () __attribute__ ((weak, alias ("__collector_func_load"))); ++void collector_func_load (char*, char*, char*, void*, int, int, DT_lineno *) __attribute__ ((weak, alias ("__collector_func_load"))); + void + __collector_func_load (char *name, char *alias, char *sourcename, + void *vaddr, int size, int lntsize, DT_lineno *lntable) +@@ -1218,7 +1218,7 @@ __collector_func_load (char *name, char *alias, char *sourcename, + vaddr, size, lntsize, lntable); + } + +-void collector_func_unload () __attribute__ ((weak, alias ("__collector_func_unload"))); ++void collector_func_unload (void *vaddr) __attribute__ ((weak, alias ("__collector_func_unload"))); + void + __collector_func_unload (void *vaddr) + { +diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c +index 91678b1e334..cd47d4fbe0f 100644 +--- a/gprofng/libcollector/unwind.c ++++ b/gprofng/libcollector/unwind.c +@@ -416,7 +416,7 @@ __collector_ext_unwind_init (int record) + omp_no_walk = 1; + + if (__collector_VM_ReadByteInstruction == NULL) +- __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction"); ++ __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, "Async_VM_ReadByteInstruction"); + + #if ARCH(SPARC) + #if WSIZE(64) +diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h +index ebcdbca561f..fd888cd58dd 100644 +--- a/gprofng/src/collector_module.h ++++ b/gprofng/src/collector_module.h +@@ -110,7 +110,7 @@ typedef struct CollectorUtilFuncs + long (*sysinfo)(int command, char *buf, long count); + time_t (*time)(time_t *tloc); + int (*unsetenv)(const char *name); +- int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap); ++ int (*vsnprintf)(char *str, size_t size, const char *format, ...); + pid_t (*waitpid)(pid_t pid, int *stat_loc, int options); + ssize_t (*write)(int, void *, size_t); + double (*atof)(); diff --git a/meta/recipes-devtools/binutils/binutils/0021-gprofng-fix-build-with-std-gnu23.patch b/meta/recipes-devtools/binutils/binutils/0021-gprofng-fix-build-with-std-gnu23.patch new file mode 100644 index 0000000000..8a465bce00 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0021-gprofng-fix-build-with-std-gnu23.patch @@ -0,0 +1,196 @@ +From 7683ea4411d2b76f346a8100b761615d09343448 Mon Sep 17 00:00:00 2001 +From: Vladimir Mezentsev +Date: Thu, 21 Nov 2024 14:48:20 -0800 +Subject: [PATCH] gprofng: fix build with -std=gnu23 + +Fix function pointer types accordingly. +Remove unused function pointers. + +gprofng/ChangeLog +2024-11-21 Vladimir Mezentsev + + PR gprofng/32374 + PR gprofng/32373 + * common/cpuid.c: Define ATTRIBUTE_UNUSED if necessary. + * libcollector/libcol_util.c (sysinfo): Remove unused pointer. + * src/collector_module.h: Likewise. + * libcollector/dispatcher.c (setitimer): Fix prototype. + * libcollector/linetrace.c (system, grantpt, ptsname): Likewise. + * testsuite/gprofng.display/mttest/mttest.c (dump_arrays): Likewise. + * testsuite/gprofng.display/synprog/endcases.c (xinline_code, + s_inline_code): Likewise. + * testsuite/gprofng.display/synprog/inc_inline.h (ext_inline_code): + Likewise. + * testsuite/gprofng.display/synprog/synprog.c (doabort): Rename nullptr. +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/4e943705e3e8a5a9448d087502bcb390a694ad02] +Signed-off-by: Martin Jansa +--- + gprofng/common/cpuid.c | 2 ++ + gprofng/libcollector/dispatcher.c | 3 +-- + gprofng/libcollector/libcol_util.c | 9 --------- + gprofng/libcollector/linetrace.c | 10 +++++----- + gprofng/src/collector_module.h | 1 - + gprofng/testsuite/gprofng.display/mttest/mttest.c | 2 +- + gprofng/testsuite/gprofng.display/synprog/endcases.c | 4 ++-- + gprofng/testsuite/gprofng.display/synprog/inc_inline.h | 2 +- + gprofng/testsuite/gprofng.display/synprog/synprog.c | 4 ++-- + 9 files changed, 14 insertions(+), 23 deletions(-) + +diff --git a/gprofng/common/cpuid.c b/gprofng/common/cpuid.c +index af15439eb27..0373969693b 100644 +--- a/gprofng/common/cpuid.c ++++ b/gprofng/common/cpuid.c +@@ -21,7 +21,9 @@ + #if defined(__i386__) || defined(__x86_64) + #include /* GCC-provided */ + #elif defined(__aarch64__) ++#if !defined(ATTRIBUTE_UNUSED) + #define ATTRIBUTE_UNUSED __attribute__((unused)) ++#endif + + static inline uint_t __attribute_const__ + __get_cpuid (unsigned int op ATTRIBUTE_UNUSED, unsigned int *eax, +diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c +index 867753a22ec..e85c343c776 100644 +--- a/gprofng/libcollector/dispatcher.c ++++ b/gprofng/libcollector/dispatcher.c +@@ -1281,5 +1281,4 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags, + // weak symbols: + int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_sigprocmask"))); + int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias ("__collector_thr_sigsetmask"))); +-int setitimer () __attribute__ ((weak, alias ("_setitimer"))); +- ++__typeof(setitimer) setitimer __attribute__ ((weak, alias ("_setitimer"))); +diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c +index 688bdf19c6d..46f8b80ccb4 100644 +--- a/gprofng/libcollector/libcol_util.c ++++ b/gprofng/libcollector/libcol_util.c +@@ -1427,15 +1427,6 @@ __collector_util_init () + err = COL_ERROR_UTIL_INIT; + } + +- ptr = dlsym (libc, "sysinfo"); +- if (ptr) +- __collector_util_funcs.sysinfo = (long (*)())ptr; +- else +- { +- CALL_UTIL (fprintf)(stderr, "collector_util_init COL_ERROR_UTIL_INIT sysinfo: %s\n", dlerror ()); +- err = COL_ERROR_UTIL_INIT; +- } +- + ptr = dlsym (libc, "clearenv"); + if (ptr) + __collector_util_funcs.clearenv = (int(*)())ptr; +diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c +index 66844bc1337..c81ae1a2272 100644 +--- a/gprofng/libcollector/linetrace.c ++++ b/gprofng/libcollector/linetrace.c +@@ -1527,7 +1527,7 @@ DCL_FUNC_VER (DCL_POSIX_SPAWNP, posix_spawnp_2_2, posix_spawnp@GLIBC_2.2) + DCL_POSIX_SPAWNP (posix_spawnp) + + /*------------------------------------------------------------- system */ +-int system () __attribute__ ((weak, alias ("__collector_system"))); ++int system (const char *cmd) __attribute__ ((weak, alias ("__collector_system"))); + + int + __collector_system (const char *cmd) +@@ -1582,10 +1582,10 @@ DCL_FUNC_VER (DCL_POPEN, popen_2_0, popen@GLIBC_2.0) + DCL_POPEN (popen) + + /*------------------------------------------------------------- grantpt */ +-int grantpt () __attribute__ ((weak, alias ("__collector_grantpt"))); ++int grantpt (int fildes) __attribute__ ((weak, alias ("__collector_grantpt"))); + + int +-__collector_grantpt (const int fildes) ++__collector_grantpt (int fildes) + { + if (NULL_PTR (grantpt)) + init_lineage_intf (); +@@ -1607,10 +1607,10 @@ __collector_grantpt (const int fildes) + } + + /*------------------------------------------------------------- ptsname */ +-char *ptsname () __attribute__ ((weak, alias ("__collector_ptsname"))); ++char *ptsname (int fildes) __attribute__ ((weak, alias ("__collector_ptsname"))); + + char * +-__collector_ptsname (const int fildes) ++__collector_ptsname (int fildes) + { + if (NULL_PTR (ptsname)) + init_lineage_intf (); +diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h +index fd888cd58dd..6640f12fa3c 100644 +--- a/gprofng/src/collector_module.h ++++ b/gprofng/src/collector_module.h +@@ -107,7 +107,6 @@ typedef struct CollectorUtilFuncs + int (*symlink)(const char *s1, const char *s2); + int (*syscall)(int number, ...); + long (*sysconf)(int name); +- long (*sysinfo)(int command, char *buf, long count); + time_t (*time)(time_t *tloc); + int (*unsetenv)(const char *name); + int (*vsnprintf)(char *str, size_t size, const char *format, ...); +diff --git a/gprofng/testsuite/gprofng.display/mttest/mttest.c b/gprofng/testsuite/gprofng.display/mttest/mttest.c +index e0835c833e5..3db5b8d8e86 100644 +--- a/gprofng/testsuite/gprofng.display/mttest/mttest.c ++++ b/gprofng/testsuite/gprofng.display/mttest/mttest.c +@@ -171,7 +171,7 @@ void computeJ (workStruct_t *x); + void computeK (workStruct_t *x); + void addone (workCtr_t *x); + void init_arrays (int strat); +-void dump_arrays (); ++void dump_arrays (hrtime_t real, hrtime_t cpu, int case_index); + void *do_work (void *v); + void thread_work (); + void nothreads (Workblk *array, struct scripttab *k); +diff --git a/gprofng/testsuite/gprofng.display/synprog/endcases.c b/gprofng/testsuite/gprofng.display/synprog/endcases.c +index a6a1389658a..6f1c83b6859 100644 +--- a/gprofng/testsuite/gprofng.display/synprog/endcases.c ++++ b/gprofng/testsuite/gprofng.display/synprog/endcases.c +@@ -40,8 +40,8 @@ static void s_inline_code (int); + void ext_inline_code (int); + + #ifndef NO_INLINE +-void xinline_code () __attribute__ ((always_inline)); +-void s_inline_code () __attribute__ ((always_inline)); ++void xinline_code (int) __attribute__ ((always_inline)); ++void s_inline_code (int) __attribute__ ((always_inline)); + #endif + + #include "inc_inline.h" +diff --git a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h +index da42563c828..6600eacb66d 100644 +--- a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h ++++ b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h +@@ -19,7 +19,7 @@ + MA 02110-1301, USA. */ + + #ifndef NO_INLINE +-void ext_inline_code() __attribute__ ((always_inline)); ++void ext_inline_code(int) __attribute__ ((always_inline)); + #endif + + void +diff --git a/gprofng/testsuite/gprofng.display/synprog/synprog.c b/gprofng/testsuite/gprofng.display/synprog/synprog.c +index cf1bc5b0909..05920dc7419 100644 +--- a/gprofng/testsuite/gprofng.display/synprog/synprog.c ++++ b/gprofng/testsuite/gprofng.display/synprog/synprog.c +@@ -528,14 +528,14 @@ reapchildren () + int + doabort (int k) + { +- char *nullptr = NULL; ++ char *p = NULL; + char c; + + /* Log the event */ + wlog ("start of doabort", NULL); + + /* and dereference a NULL */ +- c = *nullptr; ++ c = *p; + + /* this should never be reached */ + return (int) c; From patchwork Wed Aug 27 21:29:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69242 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C28ADCA0EFF for ; Wed, 27 Aug 2025 21:30:49 +0000 (UTC) Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by mx.groups.io with SMTP id smtpd.web10.6616.1756330242818383411 for ; Wed, 27 Aug 2025 14:30:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=XvNpWPQE; spf=softfail (domain: sakoman.com, ip: 209.85.216.41, mailfrom: steve@sakoman.com) Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-32326e5f058so283033a91.3 for ; Wed, 27 Aug 2025 14:30:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330242; x=1756935042; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=vbOxWQWK7LNrCSA9NVFraDQ8i5xLyxN/MnEUJ12I134=; b=XvNpWPQE8gOnwxfT8X8RFsCAUdCmMWppct5cSu22Fs+hBjVg1myWtXUt1CfFJNPHwu 2L3e9M1Ke6NXamYjZJ3hSwg/YQQr89jmjblBol41t6amNf4QIJJM8PHMDcgsAfR32RWV FZ30u1Mn3gmvxOn3DKE5RWJnGbWI4KbiVjqCmAYU8ylwXphVvFaTX8+7NmkXid3wDDf4 Tn/XYHLjdQghSQsMG8apJcAicgPzqycpkQkUG4YzqiNui7Itns01VPFpfYGEJPUVqO95 +18W5k9NL4HffLmw4EUj1FETlavRfABGgY+EvXla6GSzW1XRIZmwOvHTLLcou13fliqo roHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330242; x=1756935042; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vbOxWQWK7LNrCSA9NVFraDQ8i5xLyxN/MnEUJ12I134=; b=Ky1FgGeHeIFCBUtwKj4YFFiMAFCxMl2zaJJa6XmjVBUgDoeQW+KsUGfSCmiFOozilI yJpzVO+XzdQTEnry3mU3eik3d4iO5iMZy+NHfnGXCABptl4oS5hZaQYce4tSu8KcCVWi HwzNA1NI89SnFaWOrwUOk9vX8PH6qaE0etOKdpz7tHTmh7h1Ysv0hO0RJK1jgo8dEn/M VBhpkteTjl3DAjtx/aXsffDl/fRYLOSHEw0UAmCHVuncJ7+OCFVq889tIQRh6jrRMrNK zlZRyxnniX2xdPFX1LHc3bL1cabzDBMzWhA4dJal8BzVrO9GuxJXcUEoGmTQqiVIdTVN 4aHQ== X-Gm-Message-State: AOJu0Yyx6GtEc/MwrX3PPDIScBrYFRQnYIYNvUfmAxTE+wzK/xus5bzi +uqeuwvjj+rC8EJIqHfyw/91VVFN5NeFcLsqqQ0TFm2iOlZa0W53MubHyMNQelimoYGEODvRWyg i1AHC X-Gm-Gg: ASbGnctjjXtpY6p0pcNHaK2IhD8QK6FMZjmY+eTNXQSqbZf1xT0kbPxHqwipyhmmr7n nCPKNLfAA+yukOzg00dh7POU/5GPUL237hNCNY9E6lh4qaDfL+9vLKhMpxpOs6crhUz1m++qHOo XdK/Bv+xjUrQb04Q5o8N8oRPM1AE5/aEM9IsGRAe7HOfpEGRlCyTdYcva73/l0Gci/K0DlHyazi RJ7pndXKt9x7hT2dR6ii5b131rP6cIJfB9O3422rjDmuR1B5JAIuOqdzTyNE59e7rUjfgnq/lGV +TUubYiuhCQNxXELf1lBqgks35o79n941P+LChp+t2sd24ablFwnJQA/mYdasZrBpMrTlQ/s4j+ uXgTvEX9u54jebQ== X-Google-Smtp-Source: AGHT+IHFvsUrtse5U7s0fGxLYYz/SG8K2t8dxLBkL1ICW4kgHrB0C8gZqReqFGyw5deJWA3U1JGYkw== X-Received: by 2002:a17:90b:1f8b:b0:312:f0d0:bc4 with SMTP id 98e67ed59e1d1-32515e12aedmr24451762a91.5.1756330241943; Wed, 27 Aug 2025 14:30:41 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:41 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 28/33] dbus-glib: fix build with gcc-15 Date: Wed, 27 Aug 2025 14:29:35 -0700 Message-ID: <6c546567adc84667fc76d777b02fc78e9c472f51.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222536 From: Martin Jansa Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- .../dbus-glib/fix-build-with-gcc-15.patch | 37 +++++++++++++++++++ meta/recipes-core/dbus/dbus-glib_0.112.bb | 1 + 2 files changed, 38 insertions(+) create mode 100644 meta/recipes-core/dbus/dbus-glib/fix-build-with-gcc-15.patch diff --git a/meta/recipes-core/dbus/dbus-glib/fix-build-with-gcc-15.patch b/meta/recipes-core/dbus/dbus-glib/fix-build-with-gcc-15.patch new file mode 100644 index 0000000000..bf3fcd5b86 --- /dev/null +++ b/meta/recipes-core/dbus/dbus-glib/fix-build-with-gcc-15.patch @@ -0,0 +1,37 @@ +From 8c32bc9fa67513f46199bc31498dc1fecbb611bb Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Thu, 13 Mar 2025 14:19:28 +0000 +Subject: [PATCH] dbus-gvalue: Avoid using the reserved word 'bool' + +This is reserved in C23 for the equivalent of ``. + +Bug-Debian: https://bugs.debian.org/1096507 +Signed-off-by: Simon McVittie +Upstream-Status: Backport [https://gitlab.freedesktop.org/dbus/dbus-glib/-/commit/8c32bc9fa67513f46199bc31498dc1fecbb611bb] +igned-off-by: Martin Jansa +--- + dbus/dbus-gvalue.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/dbus/dbus-gvalue.c b/dbus/dbus-gvalue.c +index 534e90a..788e360 100644 +--- a/dbus/dbus-gvalue.c ++++ b/dbus/dbus-gvalue.c +@@ -545,11 +545,11 @@ demarshal_basic (DBusGValueMarshalCtx *context, + { + case DBUS_TYPE_BOOLEAN: + { +- dbus_bool_t bool; ++ dbus_bool_t b; + if (!G_VALUE_HOLDS (value, G_TYPE_BOOLEAN)) + goto invalid_type; +- dbus_message_iter_get_basic (iter, &bool); +- g_value_set_boolean (value, bool); ++ dbus_message_iter_get_basic (iter, &b); ++ g_value_set_boolean (value, b); + return TRUE; + } + case DBUS_TYPE_BYTE: +-- +GitLab + diff --git a/meta/recipes-core/dbus/dbus-glib_0.112.bb b/meta/recipes-core/dbus/dbus-glib_0.112.bb index 4acf435694..7312897dd3 100644 --- a/meta/recipes-core/dbus/dbus-glib_0.112.bb +++ b/meta/recipes-core/dbus/dbus-glib_0.112.bb @@ -13,6 +13,7 @@ DEPENDS:class-native = "glib-2.0-native dbus-native" SRC_URI = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ file://no-examples.patch \ file://test-install-makefile.patch \ + file://fix-build-with-gcc-15.patch \ " SRC_URI[md5sum] = "021e6c8a288df02c227e4aafbf7e7527" SRC_URI[sha256sum] = "7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a" From patchwork Wed Aug 27 21:29:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69240 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6164CA0FF7 for ; Wed, 27 Aug 2025 21:30:49 +0000 (UTC) Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by mx.groups.io with SMTP id smtpd.web11.6649.1756330244626555259 for ; Wed, 27 Aug 2025 14:30:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=x4Du/H4c; spf=softfail (domain: sakoman.com, ip: 209.85.214.181, mailfrom: steve@sakoman.com) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-24456ce0b96so4000855ad.0 for ; Wed, 27 Aug 2025 14:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330244; x=1756935044; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=S7FiU9WkD+teXxbd7RIY7i0njOm5lkEpu8lFq3a+NFo=; b=x4Du/H4c/NAwptkOaTQe3ACjAhgmqbkCQos1nupbAJjld/0euR8J0r68YO9quI+H7Q ntuD+Xo4NuN1PbmGUOJPfTfElVQJ7ysr7HnJhqy47qr2QVHS791R5zVoflnLZF2BEzq2 i3iyksQq+eUOipgd2sPGZitwIAyNT6FeQTyJZoiByY6rGY9TmSueyIyHQt3W/ttMH0CA 8z/3S2XcBK/PDG3+2aUNfCNvftgdWJqgF4WcvSRpAF1sfCWc+T9J9tbCQLkqcaP50ttJ a27TQWUfY7j4LEMo+68K773KVIuYv4nUL8gfr9BTokWH7hykD3vxcXc0+G0ESvxwpZK+ STpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330244; x=1756935044; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S7FiU9WkD+teXxbd7RIY7i0njOm5lkEpu8lFq3a+NFo=; b=mQ9KC4kqObW+ry0jdYumLBOIpyA1QaBBC+bxZcmByr/gq1pOqrdJcPcY/ckDUAgDME Z9gKZ3YhZ4ZS8CO96TPsoKQrr+nKVJcJbhrrzCNeF8Tfsakm9bQHdszAOV6l2+EJJa27 vhPM4G8+RXhoSkSWWYH+QMBTvaz2dT1NUVR4dhEH0d82fWgp7+TZ8BWIQq+GwgrY/1O9 Txqp0hn8BBDORuCxPnS9lZyOrXN4VbYTe3LMm7VBn993fWCsZBa+7LalVBu5dd3NdYLz 17+UvNRj4QXK3VREM4vFVmfB5poZ3Nvi4v2a1NGLIWFCDCMizQRerzhRKCO8PD0RjyUW oHQA== X-Gm-Message-State: AOJu0YwJfNh+r7vJL39QZ4RceAyA15/giwhdso2Z9H7OUT2zOAMRLWpb /Phle/ffkGW/eqnKrAE0bpNGPQLp3dLHz/ZVoFCXsGdYI7CxK5G7zDsPG6HNhXAqvc4OMlhSlci IQyN5 X-Gm-Gg: ASbGnct72LD8+zER8RfiHQUfAoub3lUBrkhseZWrdZ/N+vgDddw+d/oBCM37mKYVIWB 7HZo86oRc5zrcavq+7SONtigfVTGAMPRzKu9GqSLTY35AIIWCafuGd0z+gIb9wzT0o0hAp2Cvaz 3E8oEHtlnUQQYhPawvOBo2jWnt3E9IrfSF6UuHIgz2nz1/08QG8z4/vE2WHxo7MRNB08QdHejWC 7vccRTXtRyFFbBU05QsEE6zNrw8bIk8gm4Y8QKhnn++ZlAYUng5FEMxf4RbPTmOe1y1eQQXeSyW oG6vau0NGd1kZ0lirCHqqwYOmjQdIK8zBxI6xHFEyqpwm2hFBDDLHM4tAf1nuZJMBZWb0dunsLI 1/gEJv/ZA5g5TuA== X-Google-Smtp-Source: AGHT+IH1N7ySGxOECXHHWc8QhygEKSzTrzZNTW2ySc5T0mT8f6pFl8Ijlv2ZfAg95iy3BgqfpyxK8g== X-Received: by 2002:a17:903:24e:b0:246:7c16:ebab with SMTP id d9443c01a7336-248753a22e9mr75892815ad.9.1756330243870; Wed, 27 Aug 2025 14:30:43 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:43 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 29/33] yocto-uninative: Update to 4.8 for GCC 15.1 Date: Wed, 27 Aug 2025 14:29:36 -0700 Message-ID: <02b285fb0258587e9b78ee4b1b4b2eea0e0a4b3e.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222537 From: Michael Halstead Signed-off-by: Michael Halstead Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- meta/conf/distro/include/yocto-uninative.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc index 3d0f1fdccd..dabd604e8e 100644 --- a/meta/conf/distro/include/yocto-uninative.inc +++ b/meta/conf/distro/include/yocto-uninative.inc @@ -7,9 +7,9 @@ # UNINATIVE_MAXGLIBCVERSION = "2.41" -UNINATIVE_VERSION = "4.7" +UNINATIVE_VERSION = "4.8" UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" -UNINATIVE_CHECKSUM[aarch64] ?= "ac440e4fc80665c79f9718c665c6e28d771e51609c088c3c97ba3ad5cfed197a" -UNINATIVE_CHECKSUM[i686] ?= "c5efa31450f3bbd63ea961d4e7c747ae41317937d429f65e1d5cf2050338e27a" -UNINATIVE_CHECKSUM[x86_64] ?= "5800d4e9a129d1be09cf548918d25f74e91a7c1193ae5239d5b0c9246c486d2c" +UNINATIVE_CHECKSUM[aarch64] ?= "0d75ae3cc6e8245be40f55d48612285248ad331896ca3f4c772ed2fb34239fcf" +UNINATIVE_CHECKSUM[i686] ?= "2cbfd7ad3e1362538764999dd4962eb2511211867ae17a327b65631f64f38e31" +UNINATIVE_CHECKSUM[x86_64] ?= "6d5e28258176c52b9eecf882d4553033fa700902e60ba80d4b7ce0edacbe41d6" From patchwork Wed Aug 27 21:29:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69239 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8BA1CA0FED for ; Wed, 27 Aug 2025 21:30:49 +0000 (UTC) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mx.groups.io with SMTP id smtpd.web11.6651.1756330246135133116 for ; Wed, 27 Aug 2025 14:30:46 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=oH5/XOXi; spf=softfail (domain: sakoman.com, ip: 209.85.215.178, mailfrom: steve@sakoman.com) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-b49cfd967b9so219770a12.3 for ; Wed, 27 Aug 2025 14:30:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330245; x=1756935045; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=MsJU1duKP3pFXtbs32K+zcWEL8T1/ccyAphMtH3J0zU=; b=oH5/XOXiamff6IViBGW7A1SB9Q2DuYaf72oUlI/VBrNap95Wl8hbfcZUvCzKN7i7iK jooxGZLOuxaEzMcgHY52AnSBhPqOUtBnHRnpdN4L6GsplSbKGNWYNP1wm38XQMnduoKJ AZAMHEcFBOQnThsxcur/Mu9gyywopgwt+XpVsUY1yvuDZvnGe2xOa+mivGjZ1cKBxy3P CeGhLSNYduXf4iNNa3j1sz0QebsFSdsgT+x5OWFby+x1OHk/7bdEN7GBcseBAVmBurVy 6osZJm0fGGbhOAlMXDNhpUNjzW9E8rm+voM3ZqUVuuEWf4ayFO7UcDWE9kqFHEvhW/k0 tGmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330245; x=1756935045; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MsJU1duKP3pFXtbs32K+zcWEL8T1/ccyAphMtH3J0zU=; b=bus16wVagUpTN1Lfl6QrGL+fuu+cde7EYGcCX96X6FI2O4nTKv1E9augVJybiextU+ pGH3lgmOIaApo+QgCsqGcedmjX7BBEFiN6CAwhyOeBunsYF3lo7etbZukJCMjuROM410 Po1F3gmMKghK9to9XsLgypTgVNEVKNUl8bye7WvdTKM5R+FAiJRH2zWtkF3f/Xnusjdg IeoqsteV0F6X9ibOLEh/NVhpBN0p5Np2ljTcViP3d3pKLWOsqxhzCTKKyN4/ISWZH5Y4 yxnMJTiqBMhG5ea75sF7dcXEezyOllrcLdUoGIK2neO9uy9URj3CoJ8SrWnILYdDZtvP leTQ== X-Gm-Message-State: AOJu0Yw+AkgdONVdz7Myyw7D3sdmQ7OKUCxBGLDAVyTDCJ8ZS4JHgz2B tyolE4X+7NpV67szBO48Wjj6OLunh/WzQmi6JFhdFBdWpCiomkseOTwp5uAHSXz4ISrFP/7/gTz ig8+B X-Gm-Gg: ASbGncsCfjp2c4Mc9ec5/P//NBZEmbH44GdirgiMcZpkPcQbxMfHdbHrRCb9qD+MJVc g0qav67JYJs30EDebnfLBXC8mPpP7XDaHMeDYbki8Y+2emh3pDPfITlwFd9syhsyHnqL49UOF9G Oo3kTNE09b86Oi228Kf0mIjTW99rTl6wXZSuOqOOFL1FzY/RvJvxNsugPEeUVXz6PcoeSqMFY0e Nqgi0WhjQ54PsFc2MLVNgA3ob1nFtHlUcUODxMUIzaBUau48jdbt35qDqCXUd6VBMSQYX0GwXIj 3bGe3g25b2NP6PIg2UdWskAPOWgbrV5+21G0E6WxGjfNXNlfh/m03vlkMAtl/Xh2V1FV4+HXLfY 5OwnalrofFJ/5XNgZ6DrCAEwF X-Google-Smtp-Source: AGHT+IHL26blkLAhQUONWVWS/AYCEXv8xZk/3ySUjzqANf8IBGVlpqcq4kLmhGY15LsVMIl7tcvI4Q== X-Received: by 2002:a17:90b:3ec9:b0:327:5360:5b0e with SMTP id 98e67ed59e1d1-3275360615cmr7749804a91.30.1756330245374; Wed, 27 Aug 2025 14:30:45 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:45 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 30/33] yocto-uninative: Update to 4.9 for glibc 2.42 Date: Wed, 27 Aug 2025 14:29:37 -0700 Message-ID: <9f0cc5fe65f71cf1d28b7a34272f29db03dc6778.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222538 From: Michael Halstead Signed-off-by: Michael Halstead Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- meta/conf/distro/include/yocto-uninative.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc index dabd604e8e..3ced03d477 100644 --- a/meta/conf/distro/include/yocto-uninative.inc +++ b/meta/conf/distro/include/yocto-uninative.inc @@ -6,10 +6,10 @@ # to the distro running on the build machine. # -UNINATIVE_MAXGLIBCVERSION = "2.41" -UNINATIVE_VERSION = "4.8" +UNINATIVE_MAXGLIBCVERSION = "2.42" +UNINATIVE_VERSION = "4.9" UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" -UNINATIVE_CHECKSUM[aarch64] ?= "0d75ae3cc6e8245be40f55d48612285248ad331896ca3f4c772ed2fb34239fcf" -UNINATIVE_CHECKSUM[i686] ?= "2cbfd7ad3e1362538764999dd4962eb2511211867ae17a327b65631f64f38e31" -UNINATIVE_CHECKSUM[x86_64] ?= "6d5e28258176c52b9eecf882d4553033fa700902e60ba80d4b7ce0edacbe41d6" +UNINATIVE_CHECKSUM[aarch64] ?= "812045d826b7fda88944055e8526b95a5a9440bfef608d5b53fd52faab49bf85" +UNINATIVE_CHECKSUM[i686] ?= "5cc28efd0c15a75de4bcb147c6cce65f1c1c9d442173a220f08427f40a3ffa09" +UNINATIVE_CHECKSUM[x86_64] ?= "4c03d1ed2b7b4e823aca4a1a23d8f2e322f1770fc10e859adcede5777aff4f3a" From patchwork Wed Aug 27 21:29:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69241 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CC23CCA0FFC for ; Wed, 27 Aug 2025 21:30:49 +0000 (UTC) Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by mx.groups.io with SMTP id smtpd.web11.6653.1756330249507335657 for ; Wed, 27 Aug 2025 14:30:49 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=eQH8MH6w; spf=softfail (domain: sakoman.com, ip: 209.85.216.51, mailfrom: steve@sakoman.com) Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-32326e8005bso315046a91.3 for ; Wed, 27 Aug 2025 14:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330249; x=1756935049; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ryUeNSfEyGQHVMfue0MeK/2iDBg3avYcipDJTxqHuF8=; b=eQH8MH6wKCwrXPEgrcql+AHMPsJDxyz0+s5q9cnj/yrOanNCrbAToEQqjTAU3S+Keh yIXE0VS9PEMrqvOCM/QmywKDSJqlsJs9inJWappJGPsE3v/mnQPZWCikSOi97zapPeD7 QQrvJaO67KzhTh4UWQS76u01+tVd2jmUP+gFmFas8eYFQIKak7cKxTW0eW1Dea77DxBy NMhakXE69HXeYsWdlEmHMV5RWxT7mXR5nHKBgSWGrRvbkYBLz3qD/Mk/fmdYlO+LQ3QM xwwzR4CoQ5zhRya52jtz5nr9+RPaGsVfHuU+PYnotsJH5+i8485Qymshcxwfv5yBDJPK NeTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330249; x=1756935049; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ryUeNSfEyGQHVMfue0MeK/2iDBg3avYcipDJTxqHuF8=; b=mEd92WIHXEwKWM0g8mql347sObD/6Ten/XtBN81enq/0SWN4qvkl3mwd8hMlQU7LkW gbh1og56q+kyG92iC7z7PjALXEl1uC9VmQb0FQMkgJTxVRiduXELSOcfHN9cB/H82rhF B477BPrcPqVYZwArTbwnTV2FSTZJDkpsrhQBCcz1soiqltFZFft2Gpc5S22InONpBGND oET1sLeUmF3VXh7SojxDa4A3mS1f06qQBoUF2mRwrmhu6Gj60NyqkBhHYjIPRllTEdgS 9DZFVMzgDiTDKae+byQsRGspo5eskVFgfJP+cvMcX3XFAQzHyKsqMcF0frlwhvQuAVPe ZmaA== X-Gm-Message-State: AOJu0YxykInaNt9+hRIHIcmdbseM9v/EpSHMp/gwuXOQUsIms9iT3Yx+ 1gnoYj3G9llEMYHXEn6YoL30P7/llSPfD2U95dtGpoqWjYPIcvSwIsAYFanN/LrR8UQoXvbZhUd oZPgI X-Gm-Gg: ASbGncuLDQhrtgzMeWzG0zA0gVkprJuHVJJrOYlA8mojai7TTOCytPY2WfkzQglM1ct ZztnbpI8mhT2pMs34LORXaaRkFeX0+Z5u4nfgVH40aRamv4OcEp3Ky/XfxZ1XlJtTLPqjFnuF4x MyoXIyAETDs5UwHBQWn18pCXnEbFqjdwFZ/sr1neAzFzuJ1Rsrff+hDiOtf7yM/pgawFu7l7A8K 6vI/6ycOU96EGKF9WW3AZg95+/VI6JJBdDJMsa52MY1CfMQZKJL8Wea3BRAg85IC2ccrtihzFla NbO01yYecnE711XqxowIlPxrMlw3umn5w/K9XGzeTzqhi04Os+3wXvnwI0DBoTg1pkRFyOd84Vq gE5nDgBOFtjCcEA== X-Google-Smtp-Source: AGHT+IF8mshk7/ZUKLg1J/2Zy7c8PYl0jfDvXfyAqbi27zcde6MZT1WVpYf7cjNBeAhHQLAqULjqjg== X-Received: by 2002:a17:90b:4fd0:b0:325:c92:4a89 with SMTP id 98e67ed59e1d1-32515e3cad8mr23679980a91.5.1756330248781; Wed, 27 Aug 2025 14:30:48 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:48 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 31/33] cpio: Pin to use C17 std Date: Wed, 27 Aug 2025 14:29:38 -0700 Message-ID: <874701c4fd96134e18f73eba4bd5c8b513ad251b.1756329972.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222539 From: Khem Raj Fixes build with GCC-15 which is defaulting to C23 For scarthgap also add it in BUILD_CFLAGS. Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Martin Jansa Signed-off-by: Steve Sakoman --- meta/recipes-extended/cpio/cpio_2.15.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-extended/cpio/cpio_2.15.bb b/meta/recipes-extended/cpio/cpio_2.15.bb index 95f82cdf3a..a5c9b76da2 100644 --- a/meta/recipes-extended/cpio/cpio_2.15.bb +++ b/meta/recipes-extended/cpio/cpio_2.15.bb @@ -20,6 +20,9 @@ CVE_STATUS[CVE-2023-7216] = "disputed: intended behaviour, see https://lists.gnu EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}" +CFLAGS += "-std=gnu17" +BUILD_CFLAGS += "-std=gnu17" + do_install () { autotools_do_install if [ "${base_bindir}" != "${bindir}" ]; then From patchwork Wed Aug 27 21:29:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69244 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7D36CA0EFF for ; Wed, 27 Aug 2025 21:30:59 +0000 (UTC) Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by mx.groups.io with SMTP id smtpd.web11.6656.1756330251484531086 for ; Wed, 27 Aug 2025 14:30:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=EEML/zRk; spf=softfail (domain: sakoman.com, ip: 209.85.215.176, mailfrom: steve@sakoman.com) Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-b475dfb4f42so280592a12.0 for ; Wed, 27 Aug 2025 14:30:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330251; x=1756935051; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=cc/7gkIF/rU4DwvhPImrwrbI/vYONruWImgVriSASG4=; b=EEML/zRkXTLZTq1fDIa0JHjKkLDfJ8S2U3y1aCRc7KBPg+3np3cSI0Mew0rcrlODOV C+V+J4rSkqZ9/qM1NcXnuBYMoNxcN4j6kfV1UysZ/tCSOWhQzn8reQLSDvarUc0edTvR x7L5o2k1lzuZsPUI1MkGmFDfnOzA0Q/VpEJrBrJmOYgKqd2PfbBbrBYLBsD4mKrsjK6Q rHOKLUJOQfPQ3fvGyo6aikT3GWUU6d/csAkTktqD4RR+Kafx9FWcqdQ9zPFHxsa8XlXU gV0UtijtLKTqpMyH12vCXNsIIEk2eQ7LBndWX0eeXo4XF2aVKEG30NC/NP0luxZBLFp3 Uzng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330251; x=1756935051; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cc/7gkIF/rU4DwvhPImrwrbI/vYONruWImgVriSASG4=; b=ILz+XU2V3AfCVaUGmpbMJjZylBNoeVzQmjpjScFIzBM5TAdoCPeN6mtwS2BPOlNZL9 DobMzozBIAwGdm+4akVTVgwrei/7kas1xWIOR6GGX8lo9M7CTyNTG3Pb5C02eieamBv3 gnx/59hu8PH+jEWooNC+0vrC7Axzc/x5obgHqLyUPE5tjnJmFYxXXEyve575PcMKT+Hb s3t4TAVO7j4y01D1Jsg5v67RPcywdOF7NuU0O3MkuqX62patbMVIe8cLi4RpB0wSf0ao 02RyDJBe+zXSYrvX8nXHipAF2/Dc4wExtqCchi8/7G2bP6Jwj9olNwxPwJaDIUOTUybw qQhw== X-Gm-Message-State: AOJu0YwTn/dNp83uRIE3HTeXwpIav57fLDH8lCvRrOb6VVw14Ojc22/P aWBuqFo9HqUMh3mNb8QnPzn6/U3cPIKUxuVLA1jqFZhhIaLwJjD/zDQ1AnebccuY0jSK6F9xTdj 4UP+q X-Gm-Gg: ASbGncuL5hXvUghEihM0ice3yi4Dj+5Vt2X0ruzWHP5MEUj9vKaSDoQ1vLAmgrK2bjf Lz7NGKeK+W5JlS32VXaE2YJ5hcyk3Hcr9uSPI4YdAWmuHEPITjCuOdlJki9JUh9lIuljubzR3fu /8CGd/7WD+JqEhvGfXU/QK6UXJsKzRqdqJgZYi1I8f9MSzf9ETBq5I+vN5eKe1TxUVcu6e0/DxG 9ogNaPzv47weq77+VHS8OZNihJAy+q3huLXnYrPm7/L9P+lfi+4KoBmCSQcaE9J9ZRy/x5heOmy 0sPEeuxkQgiYWUad5a4XynO/74n8gRVI55J3QLfw8HFJC82C+hsh+7oVRM9fAkG+grKDLXirsAp zzeO2lOfoK6Ykiw== X-Google-Smtp-Source: AGHT+IF9TKMNwz14vWKpxDWS3HqMF22M3Au8FZBajJJ9aNq/wXl/OWkuTguIOxuqwux01tRFzCa55A== X-Received: by 2002:a17:90b:3e89:b0:327:aaeb:e80d with SMTP id 98e67ed59e1d1-327aaebeff2mr522736a91.7.1756330250614; Wed, 27 Aug 2025 14:30:50 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:50 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 32/33] ruby-ptest : some ptest fixes Date: Wed, 27 Aug 2025 14:29:39 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222540 From: Jiaying Song - Skip the test_rm_r_no_permissions test under the root user, as deletion always succeeds. - Filter out tests under the -ext- directory in run-ptest. Due to the commit [1],the packaging of .so test files under the .ext directory was removed. As a result, adjust the test filtering rules to avoid test failures caused by missing files. - Add installation of rdoc.rb and did_you_mean.rb files in do_install_ptest to ensure complete test dependencies. - Add init.rb file to PTEST installation path. Signed-off-by: Jiaying Song Signed-off-by: Steve Sakoman --- ..._rm_r_no_permissions-test-under-root.patch | 30 +++++++++++++++++++ meta/recipes-devtools/ruby/ruby/run-ptest | 2 +- meta/recipes-devtools/ruby/ruby_3.3.5.bb | 7 +++-- 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch diff --git a/meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch b/meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch new file mode 100644 index 0000000000..dc06891bbc --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch @@ -0,0 +1,30 @@ +From cc5e563f0fa5212e4a624b954fbc97cc6d8900d4 Mon Sep 17 00:00:00 2001 +From: Jiaying Song +Date: Mon, 25 Aug 2025 16:31:18 +0800 +Subject: [PATCH] Skip test_rm_r_no_permissions test under root + +Skip the test_rm_r_no_permissions test under the root user, as deletion always succeeds. + +Upstream-Status: Submitted [https://github.com/ruby/fileutils/pull/133/commits/3c831389c5e1523af5869d025f573ff043486b99] + +Signed-off-by: Jiaying Song +--- + test/fileutils/test_fileutils.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb +index 481f913..a2ed414 100644 +--- a/test/fileutils/test_fileutils.rb ++++ b/test/fileutils/test_fileutils.rb +@@ -757,7 +757,7 @@ class TestFileUtils < Test::Unit::TestCase + def test_rm_r_no_permissions + check_singleton :rm_rf + +- return if /mswin|mingw/ =~ RUBY_PLATFORM ++ return if /mswin|mingw/ =~ RUBY_PLATFORM || root_in_posix? + + mkdir 'tmpdatadir' + touch 'tmpdatadir/tmpdata' +-- +2.34.1 + diff --git a/meta/recipes-devtools/ruby/ruby/run-ptest b/meta/recipes-devtools/ruby/ruby/run-ptest index de7c415aba..17404e3509 100644 --- a/meta/recipes-devtools/ruby/ruby/run-ptest +++ b/meta/recipes-devtools/ruby/ruby/run-ptest @@ -1,6 +1,6 @@ #!/bin/sh -test_fullname=`find test -name test_*.rb` +test_fullname=$(find test -name test_*.rb | grep -v '/-ext-/') for i in ${test_fullname}; do ruby ./test/runner.rb ${i} 2>&1 > /dev/null diff --git a/meta/recipes-devtools/ruby/ruby_3.3.5.bb b/meta/recipes-devtools/ruby/ruby_3.3.5.bb index b37f0d03e7..8b45946f6b 100644 --- a/meta/recipes-devtools/ruby/ruby_3.3.5.bb +++ b/meta/recipes-devtools/ruby/ruby_3.3.5.bb @@ -30,7 +30,8 @@ SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ file://CVE-2025-27220.patch \ file://CVE-2025-27221-0001.patch \ file://CVE-2025-27221-0002.patch \ - " + file://0007-Skip-test_rm_r_no_permissions-test-under-root.patch \ + " UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/" inherit autotools ptest pkgconfig @@ -102,11 +103,13 @@ do_install:append:class-target () { do_install_ptest () { cp -rf ${S}/test ${D}${PTEST_PATH}/ - + install -D ${S}/tool/test/init.rb ${D}${PTEST_PATH}/tool/test/init.rb install -D ${S}/tool/test/runner.rb ${D}${PTEST_PATH}/tool/test/runner.rb cp -r ${S}/tool/lib ${D}${PTEST_PATH}/tool/ mkdir -p ${D}${PTEST_PATH}/lib cp -r ${S}/lib/did_you_mean ${S}/lib/rdoc ${D}${PTEST_PATH}/lib + cp ${D}${libdir}/ruby/${SHRT_VER}.0/rdoc.rb ${D}${PTEST_PATH}/lib + cp ${D}${libdir}/ruby/${SHRT_VER}.0/did_you_mean.rb ${D}${PTEST_PATH}/lib # install test-binaries # These .so files have sporadic reproducibility fails as seen here: From patchwork Wed Aug 27 21:29:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 69245 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7D6FCA0FF7 for ; Wed, 27 Aug 2025 21:30:59 +0000 (UTC) Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by mx.groups.io with SMTP id smtpd.web10.6622.1756330253142661124 for ; Wed, 27 Aug 2025 14:30:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=g4xsFWLL; spf=softfail (domain: sakoman.com, ip: 209.85.216.49, mailfrom: steve@sakoman.com) Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-327a27e0d6eso347716a91.1 for ; Wed, 27 Aug 2025 14:30:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1756330252; x=1756935052; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=65g7QfRwoMNeoDR7USXzYAqii/ACTYRfwBvXmqNjqrA=; b=g4xsFWLLI+Y8nT4euXuowtxJe5wrIGh4ZgS/WuYZmFfw5cbk75CxPPW5yQN3g5GenI teiA0MPiKP9msa4qrGIAgp4ZPzSuDurEJU5roTKamMkoaMuLh3XmT+Et9sn8dJY3QnQs wU0EHXUTld+kbKMS8TeLLFg4J9XfnnqbUyROA0u5eWocvOXJ4NJfoTsxiLHKQVBTbg3Q Gbz4x+UxDkv6LKdruczvlRYowtTnZW0NS/x52npt3n3Avk3TeCAQ+FSkY/+wOUns/C4E cXnl6yP0HYuCoL9HZraDxqlMoDTIYQJ1rk39tf+VEN35XFy5i/ASFepTqFx/ecMu+3eR m/tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756330252; x=1756935052; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=65g7QfRwoMNeoDR7USXzYAqii/ACTYRfwBvXmqNjqrA=; b=wkaQ9jjbx+/zjMH8HzUV0pt10ftmQGHAdb0PD+2cGx4grRE2L0K3Ou7yeUrgU6qjun vc5CxbS6F2X/55VsQgQvOSRN6A2RkxsfS5ngkA8J3+Cvsb6wlX9/0pRDyhv7pHk3Oa7z WKos7Z1VEf7sa3y9yp+CA+9Wx1NLkD+mnlRYto7bGdUY9npwNYu8+HMD5GGrFMsu6Gvg ETHYs86qN3e+rlB1eq2afNupqRphJqN8HvRgIdJ1dYKUxu/NsTVW+MwiSl337xMd15KJ cGX+l45nTFJTZHdKwLJcVrJbFHpKVneKV9U55N1YA/TwyMr82V2mTFis42a/JpUABU/B Cyww== X-Gm-Message-State: AOJu0YytODewrWS+X5mTX90Sfw2a9nhpcJ3MRWw0vOHmMk4PI35YCdTd Bb7vsghgU+Ns+Bqxn7Mba+2nKjponhBIRZqztXubEN1ma+ZcRysFyIq4+0SNtLoSurkwcIghzAD AcvoA X-Gm-Gg: ASbGncvoCH1R71zHsmLlpvovTcONm/xEwV+zvDGaCc7QPoV0TBA5Sl1GmOyiVl7c7Dx S4ZzGPilOSfMeGuE9MsfDOre2RFVXHKCOWpSbG+4Cm8H18GTKjAejnAHK+j30XypnGkUyY5/0Rg ux2EhS7qEcL3eH4IVqCcHb8cY5WtJhjchbuD5Xoo77gnlAkagT1NzW3p0cxri9cQeG5PGaLkMNZ KBqnRYvRarwxmtDqAk+VgEGz2xdrVRbFw/IVBI4+yZW2EJxTs//YYvpMY5UOnuG8hMsQvbccMdc 7mU2ZtFDNIGPowocEjpbV2AYRIbMPw9OjJ6e9W0wP1hgVEOq/VMiJ+UnsZw6UsJm+V8+G4hXcci S/QWIZz54HSaZutt/tD6xsXtl X-Google-Smtp-Source: AGHT+IFpJh8sexeXoBEscyloT/0Jg/0Eq9oG2KDUFKrLPQtcKGUN2BLIGou+84d4+wwHDtjWFDLqkQ== X-Received: by 2002:a17:90b:1642:b0:31f:104f:e4b1 with SMTP id 98e67ed59e1d1-32515e3c8f4mr26427533a91.7.1756330252325; Wed, 27 Aug 2025 14:30:52 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:d0c9:1052:20fd:8423]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3276fce1f30sm2905857a91.23.2025.08.27.14.30.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Aug 2025 14:30:51 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][scarthgap 33/33] sudo: remove devtool FIXME comment Date: Wed, 27 Aug 2025 14:29:40 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 27 Aug 2025 21:30:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222541 From: Peter Marko This comment should not have been merged. It shows that the license did not change. Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- meta/recipes-extended/sudo/sudo_1.9.17p1.bb | 52 --------------------- 1 file changed, 52 deletions(-) diff --git a/meta/recipes-extended/sudo/sudo_1.9.17p1.bb b/meta/recipes-extended/sudo/sudo_1.9.17p1.bb index c5d57da9f0..5b9d73b33b 100644 --- a/meta/recipes-extended/sudo/sudo_1.9.17p1.bb +++ b/meta/recipes-extended/sudo/sudo_1.9.17p1.bb @@ -1,55 +1,3 @@ -# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'. -# The following is the difference between the old and the new license text. -# Please update the LICENSE value if needed, and summarize the changes in -# the commit message via 'License-Update:' tag. -# (example: 'License-Update: copyright years updated.') -# -# The changes: -# -# --- LICENSE.md -# +++ LICENSE.md -# @@ -1,6 +1,6 @@ -# Sudo is distributed under the following license: -# -# - Copyright (c) 1994-1996, 1998-2023 -# + Copyright (c) 1994-1996, 1998-2025 -# Todd C. Miller -# -# Permission to use, copy, modify, and distribute this software for any -# @@ -247,9 +247,9 @@ -# -# The file arc4random.c bears the following license: -# -# - Copyright (c) 1996, David Mazieres -# - Copyright (c) 2008, Damien Miller -# - Copyright (c) 2013, Markus Friedl -# + Copyright (c) 1996, David Mazieres -# + Copyright (c) 2008, Damien Miller -# + Copyright (c) 2013, Markus Friedl -# Copyright (c) 2014, Theo de Raadt -# -# Permission to use, copy, modify, and distribute this software for any -# @@ -282,7 +282,7 @@ -# -# The file getentropy.c bears the following license: -# -# - Copyright (c) 2014 Theo de Raadt -# + Copyright (c) 2014 Theo de Raadt -# Copyright (c) 2014 Bob Beck -# -# Permission to use, copy, modify, and distribute this software for any -# @@ -299,7 +299,7 @@ -# -# The embedded copy of zlib bears the following license: -# -# - Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler -# + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# -# - require sudo.inc SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \