NetBSD Problem Report #59989
From www@netbsd.org Mon Feb 9 10:28:03 2026
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mail.netbsd.org", Issuer "R13" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 80F121A923D
for <gnats-bugs@gnats.NetBSD.org>; Mon, 9 Feb 2026 10:28:03 +0000 (UTC)
Message-Id: <20260209102802.7D4351A923E@mollari.NetBSD.org>
Date: Mon, 9 Feb 2026 10:28:02 +0000 (UTC)
From: georg.kuehberger@bosch.com
Reply-To: georg.kuehberger@bosch.com
To: gnats-bugs@NetBSD.org
Subject: Compiler abort when using -O0 optimization on building
X-Send-Pr-Version: www-1.0
X-From4GNATS: "georg.kuehberger@bosch.com via gnats" <gnats-admin@NetBSD.org>
>Number: 59989
>Category: bin
>Synopsis: Compiler abort when using -O0 optimization on building
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: bin-bug-people
>State: needs-pullups
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Feb 09 10:30:00 +0000 2026
>Closed-Date:
>Last-Modified: Thu Feb 12 07:20:01 +0000 2026
>Originator: Georg Kühberger
>Release: 10.1
>Organization:
Robert Bosch
>Environment:
Linux 6.14.0-37-generic #37~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 20 10:25:38 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
>Description:
When trying to build NetBSD 10.1 without optimization -O0 (for debugging purpose). An abort is happening in intel_dp.c.
In file included from /home/scripts/netbsd/usr/src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c:30:
/home/scripts/netbsd/usr/src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c: In function 'intel_dp_aux_wait_done':
/home/scripts/netbsd/usr/src/sys/external/bsd/common/include/linux/build_bug.h:36:2: error: negative width in bit-field '__ctassert62'
36 | CTASSERT(__builtin_choose_expr(__builtin_constant_p(EXPR), !(EXPR), 1))
| ^~~~~~~~
/home/scripts/netbsd/usr/src/sys/external/bsd/drm2/dist/drm/i915/i915_utils.h:435:2: note: in expansion of macro 'BUILD_BUG_ON'
435 | BUILD_BUG_ON(!__builtin_constant_p(US)); \
| ^~~~~~~~~~~~
/home/scripts/netbsd/usr/src/sys/external/bsd/drm2/dist/drm/i915/i915_utils.h:440:35: note: in expansion of macro 'wait_for_atomic_us'
440 | #define wait_for_atomic(COND, MS) wait_for_atomic_us((COND), (MS) * 1000)
| ^~~~~~~~~~~~~~~~~~
/home/scripts/netbsd/usr/src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c:1208:10: note: in expansion of macro 'wait_for_atomic'
1208 | done = wait_for_atomic(C, timeout_ms) == 0;
| ^~~~~~~~~~~~~~~
This is due to to the definition of timeout_ms as const unsigned int which is not optimized to a constant expression like in default build option.
>How-To-Repeat:
Build netbsd 10.1 with the following command:
./build.sh -m amd64 -U -r -V "CFLAGS=-O0" -O ../obj.chimaera7.amd64/ -T ../obj.chimaera7.amd64/tooldir -j8 distribution
>Fix:
Patch that fixes the Problem:
From: "Kuehberger Georg (XC-HWP/EEB4)" <Georg.Kuehberger@at.bosch.com>
Date: Wed, 10 Dec 2025 17:03:53 +0100
Subject:[PATCH] Add -O0 support
---
.../bsd/drm2/dist/drm/i915/display/intel_dp.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c b/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c
index f3a8b7aa1648..72698b08aaf5 100644
--- a/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c
+++ b/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c
@@ -1184,10 +1184,10 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp)
{
struct drm_i915_private *i915 = dp_to_i915(intel_dp);
i915_reg_t ch_ctl = intel_dp->aux_ch_ctl_reg(intel_dp);
- const unsigned int timeout_ms = 10;
u32 status;
bool done;
+#define TIMEOUT_MS 10
#define C (((status = intel_uncore_read_notrace(&i915->uncore, ch_ctl)) & DP_AUX_CH_CTL_SEND_BUSY) == 0)
#ifdef __NetBSD__
if (!cold) {
@@ -1195,7 +1195,7 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp)
spin_lock(&i915->gmbus_wait_lock);
DRM_SPIN_TIMED_WAIT_NOINTR_UNTIL(ret,
&i915->gmbus_wait_queue, &i915->gmbus_wait_lock,
- msecs_to_jiffies_timeout(timeout_ms),
+ msecs_to_jiffies_timeout(TIMEOUT_MS),
C);
/*
* ret<0 on error (-ERESTARTSYS, interrupt); ret=0 on
@@ -1205,11 +1205,11 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp)
done = (ret > 0);
spin_unlock(&i915->gmbus_wait_lock);
} else {
- done = wait_for_atomic(C, timeout_ms) == 0;
+ done = wait_for_atomic(C, TIMEOUT_MS) == 0;
}
#else
done = wait_event_timeout(i915->gmbus_wait_queue, C,
- msecs_to_jiffies_timeout(timeout_ms));
+ msecs_to_jiffies_timeout(TIMEOUT_MS));
#endif
@@ -1218,8 +1218,9 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp)
if (!done)
DRM_ERROR("%s did not complete or timeout within %ums (status 0x%08x)\n",
- intel_dp->aux.name, timeout_ms, status);
+ intel_dp->aux.name, TIMEOUT_MS, status);
#undef C
+#undef TIMEOUT_MS
return status;
}
--
2.43.0
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->needs-pullups
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Tue, 10 Feb 2026 04:34:40 +0000
State-Changed-Why:
Thanks, I've applied a simpler change to HEAD -- we try to keep the
diffs from upstream in this code smalller if possible.
FYI, you may find -Og more useful than -O0.
From: "Kuehberger Georg (XC-HWP/EEB4)" <Georg.Kuehberger@at.bosch.com>
To: "gnats-bugs@NetBSD.org" <gnats-bugs@NetBSD.org>
Cc:
Subject: Re: bin/59989
Date: Tue, 10 Feb 2026 08:55:52 +0000
--_000_DU4PR10MB96682F4DEFBB4ADE9F97EA78BB62ADU4PR10MB9668EURP_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Thanks for the hint with -Og!
Currently I am also working on -g3 since I need some debug info on Macro Le=
vel.
Mit freundlichen Gr=FC=DFen / Best regards
Georg Kuehberger
Engineering (XC-HWP/EEB4)
Robert Bosch AG | G=F6llnergasse 15-17 | A-1030 Wien | AUSTRIA | www.bosch.=
at<https://www.bosch.at>
Tel. +43 1 79722-4204 | Mobil +43 676 5688068 | Telefax +43 1 79722-5107 | =
Georg.Kuehberger@at.bosch.com<mailto:Georg.Kuehberger@at.bosch.com>
Sitz: Robert Bosch Aktiengesellschaft, A-1030 Wien, G=F6llnergasse 15-17
Registergericht: FN 55722 w HG-Wien
Aufsichtsratsvorsitzender: Dr. Thomas Pauer; Vorstandsvorsitzender: Helmut =
Weinwurm, Vorstandsmitglied: Wilhelm Pruckner
ARA-Lizenz-Nr.: 1831 - UID-Nr.: ATU14719303 - Steuernummer 140/4988
--_000_DU4PR10MB96682F4DEFBB4ADE9F97EA78BB62ADU4PR10MB9668EURP_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:12.0pt;
font-family:"Aptos",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
{mso-style-type:personal-compose;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"DE-AT" link=3D"#467886" vlink=3D"#96607D" style=3D"word-wrap:=
break-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US">Thanks for the hint with -Og!<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Currently I am also working on =
-g3 since I need some debug info on Macro Level.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ar=
ial",sans-serif;color:black;mso-ligatures:none;mso-fareast-language:DE=
-AT">Mit freundlichen Gr=FC=DFen / Best regards<br>
<br>
Georg Kuehberger <br>
<br>
Engineering (XC-HWP/EEB4)<br>
Robert Bosch AG | G=F6llnergasse 15-17 | A-1030 Wien | <span style=3D"text-=
transform:uppercase">
AUSTRIA | </span><a href=3D"https://www.bosch.at"><span style=3D"color:blue=
">www.bosch.at</span></a>
<br>
Tel. +43 1 79722-4204 | Mobil +43 676 5688068 | Telefax +43 1 79722-5107 | =
<a href=3D"mailto:Georg.Kuehberger@at.bosch.com">
<span style=3D"color:blue">Georg.Kuehberger@at.bosch.com</span></a> </span>=
<span style=3D"font-size:8.0pt;font-family:"Arial",sans-serif;col=
or:black;mso-ligatures:none;mso-fareast-language:DE-AT"><br>
<br>
Sitz: Robert Bosch Aktiengesellschaft, A-1030 Wien, G=F6llnergasse 15-17<br=
>
Registergericht: FN 55722 w HG-Wien<br>
Aufsichtsratsvorsitzender: Dr. Thomas Pauer; Vorstandsvorsitzender: Helmut =
Weinwurm, Vorstandsmitglied: Wilhelm Pruckner
<br>
ARA-Lizenz-Nr.: 1831 - UID-Nr.: ATU14719303 - Steuernummer 140/4988 </span>=
<span style=3D"mso-ligatures:none;mso-fareast-language:DE-AT"><o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>
--_000_DU4PR10MB96682F4DEFBB4ADE9F97EA78BB62ADU4PR10MB9668EURP_--
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/59989 CVS commit: src/sys/external/bsd/drm2/dist/drm/i915/display
Date: Tue, 10 Feb 2026 03:48:27 +0000
Module Name: src
Committed By: riastradh
Date: Tue Feb 10 03:48:27 UTC 2026
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915/display: intel_dp.c
Log Message:
i915: Make this build with -O0.
Based on a patch from Georg Kühberger.
PR bin/59989: Compiler abort when using -O0 optimization on building
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.