<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style="--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>
GitLab
</title>
<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: hsla(0,0%,100%,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style="font-size: inherit; -webkit-text-shadow: hsla(0,0%,100%,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";">
<div class="content">
<p style="color: #777777;">
<a href="https://gitlab.rtems.org/sebhub">Sebastian Huber</a>
commented on a
discussion on <a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1498#note_159770">bsps/sparc/leon3/start/amba.c</a>:
</p>
<table class="code gl-mb-5" style="border-spacing: 0; margin-bottom: 1rem; border-collapse: collapse; width: auto; font-family: monospace; font-size: 90%;" bgcolor="#ffffff" width="100%" cellpadding="0" cellspacing="0">
<tr class="line_holder" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="127" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #ececef; border-right-style: solid; padding: inherit;" align="right" bgcolor="#fbfafd">
127
</td>
<td class="new_line diff-line-num" data-linenumber="127" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #ececef; border-right-style: solid; padding: inherit;" align="right" bgcolor="#fbfafd">
127
</td>
<td class="line_content" style="padding: inherit;"><pre style="display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: inherit; border-radius: 2px; margin: 0; padding: 0; border: inherit solid #dcdcde;"> <span class="line" data-lang="c"> <span class="n" style="color: #333333;">ambapp_grlib_root_register</span><span class="p">(</span> <span class="o" style="font-weight: 600;">&</span><span class="n" style="color: #333333;">grlib_bus_config</span> <span class="p">);</span></span>
</pre></td>
</tr>
<tr class="line_holder" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="128" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #ececef; border-right-style: solid; padding: inherit;" align="right" bgcolor="#fbfafd">
128
</td>
<td class="new_line diff-line-num" data-linenumber="128" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #ececef; border-right-style: solid; padding: inherit;" align="right" bgcolor="#fbfafd">
128
</td>
<td class="line_content" style="padding: inherit;"><pre style="display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: inherit; border-radius: 2px; margin: 0; padding: 0; border: inherit solid #dcdcde;"> <span class="line" data-lang="c"><span class="p">}</span></span>
</pre></td>
</tr>
<tr class="line_holder" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="129" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #ececef; border-right-style: solid; padding: inherit;" align="right" bgcolor="#fbfafd">
129
</td>
<td class="new_line diff-line-num" data-linenumber="129" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #ececef; border-right-style: solid; padding: inherit;" align="right" bgcolor="#fbfafd">
129
</td>
<td class="line_content" style="padding: inherit;"><pre style="display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: inherit; border-radius: 2px; margin: 0; padding: 0; border: inherit solid #dcdcde;"> <span class="line" data-lang="c"></span>
</pre></td>
</tr>
<tr class="line_holder old" style="line-height: 1.6;">
<td class="old_line diff-line-num old" data-linenumber="130" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #fac5cd; border-right-style: solid; padding: inherit;" align="right" bgcolor="#f9d7dc">
130
</td>
<td class="new_line diff-line-num old" data-linenumber="130" style="width: 35px; color: rgba(5,5,6,.24); border-right-width: 1px; border-right-color: #fac5cd; border-right-style: solid; padding: inherit;" align="right" bgcolor="#f9d7dc">
</td>
<td class="line_content old" style="padding: inherit;" bgcolor="#fbe9eb"><pre style="display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: inherit; border-radius: 2px; margin: 0; padding: 0; border: inherit solid #dcdcde;">-<span class="line" data-lang="c"><span class="n" style="color: #333333;">RTEMS_SYSINIT_ITEM</span><span class="p">(</span></span>
</pre></td>
</tr>
</table>
<div class="md" style="position: relative; z-index: 1; color: #3a383f; word-wrap: break-word;">
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Thank you for tracking this down to a reproducible fatal error. The failure is
real and I can reproduce it. The diagnosis needs a correction though, and the
fix should go to a different place.</p>
<h2 dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">The linker set contract</h2>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial"><code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">c-user/linker_sets.md</code> states the design:</p>
<blockquote dir="auto" style="font-size: inherit; color: #626168; border-left-style: solid; margin: 0.5rem 0px; padding: 0.5rem 0 0.5rem 1rem; border-color: #bfbfc3; border-width: 0 0 0 4px;" align="initial">
<p style="color: inherit; line-height: 1.5; margin: 0;">They can be used to initialize and include only those RTEMS managers and
other components which are used by the application. [...] in case the
application does not use message queues, there will be no reference to the
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">rtems_message_queue_create()</code> function and the constructor is not
registered, thus nothing of the message queue handler will be in the final
executable.</p>
</blockquote>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Three rules follow:</p>
<ol dir="auto" style="text-align: initial; margin: 0px 0px 1rem; padding: 0;">
<li style="margin-top: 0px; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">The system initialization item lives in the module which it initializes.</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">The module enters the image if and only if an object already in the image
references a symbol of it.</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">A module whose initialization is mandatory needs a real link-time reference
from an object which is always in the image.</li>
</ol>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">A driver manager item which disappears is rule 2 at work. The defect is a
broken rule 3.</p>
<h2 dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">The missing link-time dependency</h2>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">This is the chain on leon3 with <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_DRVMGR_STARTUP</code>:</p>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre class="code highlight js-syntax-highlight language-plaintext" v-pre="true" style="display: block; font-size: 90%; color: #3a383f; line-height: 1.6em; overflow-x: auto; border-radius: .25rem; position: relative; font-family: monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #ffffff; -premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; margin: 0px 0 1rem; padding: 12px; border: 1px solid #dcdcde;"><code style="font-size: inherit; color: inherit; word-wrap: normal; word-break: keep-all; background-color: inherit; border-radius: .25rem; white-space: pre; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; overflow-wrap: normal; padding: unset;"><span id="LC1" class="line" data-lang="plaintext" style="margin-top: 0px;">start.o -> boot_card() -> bsp_start() bspstart.o, always in the image</span>
<span id="LC2" class="line" data-lang="plaintext"> <-- MISSING REFERENCE --></span>
<span id="LC3" class="line" data-lang="plaintext">amba.o root bus item, calls ambapp_grlib_root_register()</span>
<span id="LC4" class="line" data-lang="plaintext"> -> ambapp_bus_grlib.o calls drvmgr_bus_register()</span>
<span id="LC5" class="line" data-lang="plaintext"> -> drvmgr.o the five driver manager system initialization items</span>
<span id="LC6" class="line" data-lang="plaintext"> -> drvmgr_drivers[] drvmgr_def_drivers.o, weak</span>
<span id="LC7" class="line" data-lang="plaintext"> -> gptimer.o, apbuart_cons.o</span></code></pre>
<copy-code></copy-code><insert-code-snippet></insert-code-snippet>
</div>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Every arrow below the gap is a symbol reference and works today. Only the top
one is absent.</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial"><code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">amba.c</code> defines <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_IrqCtrl_Regs</code> and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_Timer_Regs</code> only when
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_IRQAMP_BASE</code> and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_GPTIMER_BASE</code> are undefined. On leon3 and ut700
those globals exist, <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">eirq.o</code> and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsp_isr_handler.o</code> reference them, the
linker extracts <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">amba.o</code> and the rest of the chain follows. On gr712rc and
gr740 both bases are defined, the globals do not exist and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">amba.o</code> has no
incoming reference at all. One absent reference removes the root bus, the
driver manager and every driver.</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">So the statement "it affected all BSPs" is too broad. Items for the driver
manager and the root bus in <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">ticker.exe</code>:</p>
<table dir="auto" style="border-spacing: 0; text-align: initial; color: #3a383f; width: auto; border-collapse: collapse; border-width: 0;">
<thead style="margin-top: 0px;">
<tr style="margin-top: 0px;">
<th style="line-height: 1.25rem; color: #18171d; margin-top: 0px; padding: 10px 16px; border-color: #dcdcde; border-style: solid; border-width: 1px 1px 0;" valign="top">BSP</th>
<th style="line-height: 1.25rem; color: #18171d; padding: 10px 16px; border-color: #dcdcde; border-style: solid; border-width: 1px 1px 0;" valign="top">
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_IRQAMP_BASE</code> and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_GPTIMER_BASE</code>
</th>
<th align="right" style="line-height: 1.25rem; color: #18171d; padding: 10px 16px; border-color: #dcdcde; border-style: solid; border-width: 1px 1px 0;" valign="top">main</th>
<th align="right" style="line-height: 1.25rem; color: #18171d; padding: 10px 16px; border-color: #dcdcde; border-style: solid; border-width: 1px 1px 0;" valign="top">this MR</th>
<th align="right" style="line-height: 1.25rem; color: #18171d; padding: 10px 16px; border-color: #dcdcde; border-style: solid; border-width: 1px 1px 0;" valign="top">fix below</th>
</tr>
</thead>
<tbody>
<tr style="margin-top: 0px;">
<td style="line-height: 1.25rem; margin-top: 0px; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">sparc/leon3</td>
<td style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">undefined</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
</tr>
<tr>
<td style="line-height: 1.25rem; margin-top: 0px; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">sparc/ut700</td>
<td style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">undefined</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
</tr>
<tr>
<td style="line-height: 1.25rem; margin-top: 0px; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">sparc/gr712rc</td>
<td style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">defined</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">0</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
</tr>
<tr>
<td style="line-height: 1.25rem; margin-top: 0px; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">sparc/gr740</td>
<td style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">defined</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">0</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
<td align="right" style="line-height: 1.25rem; padding: 10px 16px; border: 1px solid #dcdcde;" valign="top">6</td>
</tr>
</tbody>
</table>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">gr712rc carries the same defect as gr740.</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">For the record, the fatal error path: with <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_DRVMGR_STARTUP</code> the classic
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsps/sparc/leon3/clock/ckinit.c</code> compiles out and
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsps/shared/grlib/btimer/tlib_ckinit.c</code> takes over.
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">Clock_driver_support_find_timer()</code> finds <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">tlib_dev_head</code> empty and raises the
fatal error. On <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">sparc-rtems7-sis -gr740 -extirq 10 -m 4</code> the unpatched
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">ticker.exe</code> reports fatal source 6 and fatal code 514, which is
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">BSP_FATAL_CODE_BLOCK(2) + 2</code>, that is <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">LEON3_FATAL_CLOCK_INITIALIZATION</code>.
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bspstart.o</code> also registers <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsp_interrupt_initialize</code> at
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_SYSINIT_DRVMGR_LEVEL_1</code>. That item is in the image but never runs
either. The clock fatal error only arrives first.</p>
<h2 dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">Why the current patch is a workaround</h2>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">The patch anchors the items on the application object instead of repairing the
reference. That has four consequences.</p>
<ol dir="auto" style="text-align: initial; margin: 0px 0px 1rem; padding: 0;">
<li style="margin-top: 0px; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0px 0px 1rem;">It breaks rule 1. The five items leave <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">drvmgr.o</code>. <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">drvmgr.o</code> becomes
reachable without <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">drvmgr_drivers[]</code> being reachable.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0px 0px 1rem;">It breaks the riscv/griscv build. That BSP defines no <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">drvmgr_drivers[]</code>.
On main only <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">fileio.exe</code> fails to link. With this MR every executable
fails:</p>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre class="code highlight js-syntax-highlight language-plaintext" v-pre="true" style="display: block; font-size: 90%; color: #3a383f; line-height: 1.6em; overflow-x: auto; border-radius: .25rem; position: relative; font-family: monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #ffffff; -premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; margin: 0px 0 1rem; padding: 12px; border: 1px solid #dcdcde;"><code style="font-size: inherit; color: inherit; word-wrap: normal; word-break: keep-all; background-color: inherit; border-radius: .25rem; white-space: pre; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; overflow-wrap: normal; padding: unset;"><span id="LC1" class="line" data-lang="plaintext" style="margin-top: 0px;">drvmgr.c:(.text._DRV_Manager_initialization+0x8): undefined reference to `drvmgr_drivers'</span></code></pre>
<copy-code></copy-code><insert-code-snippet></insert-code-snippet>
</div>
<p style="color: #3a383f; margin: 0px 0px 1rem;"><code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">base_sp.exe</code>, <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">capture.exe</code> and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">minimum.norun.exe</code> all fail.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0px 0px 1rem;">It puts <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">#if defined( LEON3 ) || defined( NOELV )</code> and
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">#include <grlib/ambapp_bus_grlib.h></code> into the portable kernel. <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">cpukit</code>
must not name a BSP family. The patch also has to promote
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">ambapp_grlib_root_initialize()</code> to a public BSP function for this single
purpose.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0px 0px 1rem;"><code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">NOELV</code> is defined nowhere in the tree, so the second arm of that condition
is dead.</p>
</li>
</ol>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial"><code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_DRVMGR_STARTUP</code> is a BSP build option, not an application option. The
anchor belongs to the BSP.</p>
<h2 dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">Proposed fix</h2>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial"><code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsps/sparc/leon3/start/bspstart.c</code> is always in the image, because
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">boot_card()</code> calls <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsp_start()</code>. It already carries a
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_SYSINIT_DRVMGR_LEVEL_1</code> item for <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsp_interrupt_initialize</code>, so it
already states that this BSP depends on the driver manager.
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bsps/sparc/leon2/start/bspstart.c</code> holds its root bus item the same way.</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Move the <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">#ifdef RTEMS_DRVMGR_STARTUP</code> block from <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">amba.c</code> to <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">bspstart.c</code>.
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">ambapp_grlib_root_initialize()</code> stays static. Its call to <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">ambapp_plb()</code>
becomes the missing reference and pulls <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">amba.o</code> in. No <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">cpukit</code> change is
needed, so please drop the whole first commit except the list macro rename.</p>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre data-canonical-lang="diff" class="code highlight js-syntax-highlight language-diff" v-pre="true" style="display: block; font-size: 90%; color: #3a383f; line-height: 1.6em; overflow-x: auto; border-radius: .25rem; position: relative; font-family: monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #ffffff; -premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; margin: 0px 0 1rem; padding: 12px; border: 1px solid #dcdcde;"><code style="font-size: inherit; color: inherit; word-wrap: normal; word-break: keep-all; background-color: inherit; border-radius: .25rem; white-space: pre; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; overflow-wrap: normal; padding: unset;"><span id="LC1" class="line" data-lang="diff" style="margin-top: 0px;"><span class="gh" style="margin-top: 0px; color: #800080; font-weight: 600;">diff --git a/bsps/sparc/leon3/start/amba.c b/bsps/sparc/leon3/start/amba.c</span></span>
<span id="LC2" class="line" data-lang="diff"><span class="gh" style="margin-top: 0px; color: #800080; font-weight: 600;">index 8a3edecb78a..8801378e8a6 100644</span></span>
<span id="LC3" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">--- a/bsps/sparc/leon3/start/amba.c</span></span>
<span id="LC4" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+++ b/bsps/sparc/leon3/start/amba.c</span></span>
<span id="LC5" class="line" data-lang="diff"><span class="p" style="margin-top: 0px;">@@ -98,42 +98,6 @@</span> struct ambapp_bus *ambapp_plb( void )</span>
<span id="LC6" class="line" data-lang="diff"> return plb;</span>
<span id="LC7" class="line" data-lang="diff"> }</span>
<span id="LC8" class="line" data-lang="diff"> </span>
<span id="LC9" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-/* If RTEMS_DRVMGR_STARTUP is defined extra code is added that</span></span>
<span id="LC10" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- * registers the GRLIB AMBA PnP bus driver as root driver.</span></span>
<span id="LC11" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- */</span></span>
<span id="LC12" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-#ifdef RTEMS_DRVMGR_STARTUP</span></span>
<span id="LC13" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-#include <drvmgr/drvmgr.h></span></span>
<span id="LC14" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-#include <grlib/ambapp_bus_grlib.h></span></span>
<span id="LC15" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-</span></span>
<span id="LC16" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-/* Driver resources configuration for AMBA root bus. It is declared weak</span></span>
<span id="LC17" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- * so that the user may override it, if the defualt settings are not</span></span>
<span id="LC18" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- * enough.</span></span>
<span id="LC19" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- */</span></span>
<span id="LC20" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-struct drvmgr_bus_res grlib_drv_resources __attribute__(( weak )) = {</span></span>
<span id="LC21" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- .next = NULL,</span></span>
<span id="LC22" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- .resource = {</span></span>
<span id="LC23" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- DRVMGR_RES_EMPTY,</span></span>
<span id="LC24" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- }</span></span>
<span id="LC25" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-};</span></span>
<span id="LC26" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-</span></span>
<span id="LC27" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-/* GRLIB AMBA bus configuration (the LEON3 root bus configuration) */</span></span>
<span id="LC28" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-struct grlib_config grlib_bus_config;</span></span>
<span id="LC29" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-</span></span>
<span id="LC30" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-static void ambapp_grlib_root_initialize( void )</span></span>
<span id="LC31" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-{</span></span>
<span id="LC32" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- /* Register Root bus, Use GRLIB AMBA PnP bus as root bus for LEON3 */</span></span>
<span id="LC33" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- grlib_bus_config.abus = ambapp_plb();</span></span>
<span id="LC34" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- grlib_bus_config.resources = &grlib_drv_resources;</span></span>
<span id="LC35" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- ambapp_grlib_root_register( &grlib_bus_config );</span></span>
<span id="LC36" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-}</span></span>
<span id="LC37" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-</span></span>
<span id="LC38" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-RTEMS_SYSINIT_ITEM(</span></span>
<span id="LC39" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- ambapp_grlib_root_initialize,</span></span>
<span id="LC40" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- RTEMS_SYSINIT_BSP_START,</span></span>
<span id="LC41" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">- RTEMS_SYSINIT_ORDER_SECOND</span></span>
<span id="LC42" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-);</span></span>
<span id="LC43" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-#endif</span></span>
<span id="LC44" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">-</span></span>
<span id="LC45" class="line" data-lang="diff"> #if !defined( LEON3_IRQAMP_BASE )</span>
<span id="LC46" class="line" data-lang="diff"> irqamp *LEON3_IrqCtrl_Regs;</span>
<span id="LC47" class="line" data-lang="diff"> struct ambapp_dev *LEON3_IrqCtrl_Adev;</span>
<span id="LC48" class="line" data-lang="diff"><span class="gh" style="margin-top: 0px; color: #800080; font-weight: 600;">diff --git a/bsps/sparc/leon3/start/bspstart.c b/bsps/sparc/leon3/start/bspstart.c</span></span>
<span id="LC49" class="line" data-lang="diff"><span class="gh" style="margin-top: 0px; color: #800080; font-weight: 600;">index d457b1fe0f2..d58e80d4de7 100644</span></span>
<span id="LC50" class="line" data-lang="diff"><span class="gd" style="margin-top: 0px; color: #000000; background-color: #ffdddd;">--- a/bsps/sparc/leon3/start/bspstart.c</span></span>
<span id="LC51" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+++ b/bsps/sparc/leon3/start/bspstart.c</span></span>
<span id="LC52" class="line" data-lang="diff"><span class="p" style="margin-top: 0px;">@@ -118,3 +118,39 @@</span> RTEMS_SYSINIT_ITEM(</span>
<span id="LC53" class="line" data-lang="diff"> RTEMS_SYSINIT_ORDER_LAST_BUT_5</span>
<span id="LC54" class="line" data-lang="diff"> );</span>
<span id="LC55" class="line" data-lang="diff"> #endif</span>
<span id="LC56" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+</span></span>
<span id="LC57" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+/* If RTEMS_DRVMGR_STARTUP is defined extra code is added that</span></span>
<span id="LC58" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ * registers the GRLIB AMBA PnP bus driver as root driver.</span></span>
<span id="LC59" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ */</span></span>
<span id="LC60" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+#ifdef RTEMS_DRVMGR_STARTUP</span></span>
<span id="LC61" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+#include <drvmgr/drvmgr.h></span></span>
<span id="LC62" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+#include <grlib/ambapp_bus_grlib.h></span></span>
<span id="LC63" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+</span></span>
<span id="LC64" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+/* Driver resources configuration for AMBA root bus. It is declared weak</span></span>
<span id="LC65" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ * so that the user may override it, if the defualt settings are not</span></span>
<span id="LC66" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ * enough.</span></span>
<span id="LC67" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ */</span></span>
<span id="LC68" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+struct drvmgr_bus_res grlib_drv_resources __attribute__(( weak )) = {</span></span>
<span id="LC69" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ .next = NULL,</span></span>
<span id="LC70" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ .resource = {</span></span>
<span id="LC71" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ DRVMGR_RES_EMPTY,</span></span>
<span id="LC72" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ }</span></span>
<span id="LC73" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+};</span></span>
<span id="LC74" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+</span></span>
<span id="LC75" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+/* GRLIB AMBA bus configuration (the LEON3 root bus configuration) */</span></span>
<span id="LC76" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+struct grlib_config grlib_bus_config;</span></span>
<span id="LC77" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+</span></span>
<span id="LC78" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+static void ambapp_grlib_root_initialize( void )</span></span>
<span id="LC79" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+{</span></span>
<span id="LC80" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ /* Register Root bus, Use GRLIB AMBA PnP bus as root bus for LEON3 */</span></span>
<span id="LC81" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ grlib_bus_config.abus = ambapp_plb();</span></span>
<span id="LC82" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ grlib_bus_config.resources = &grlib_drv_resources;</span></span>
<span id="LC83" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ ambapp_grlib_root_register( &grlib_bus_config );</span></span>
<span id="LC84" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+}</span></span>
<span id="LC85" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+</span></span>
<span id="LC86" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+RTEMS_SYSINIT_ITEM(</span></span>
<span id="LC87" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ ambapp_grlib_root_initialize,</span></span>
<span id="LC88" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ RTEMS_SYSINIT_BSP_START,</span></span>
<span id="LC89" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+ RTEMS_SYSINIT_ORDER_SECOND</span></span>
<span id="LC90" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+);</span></span>
<span id="LC91" class="line" data-lang="diff"><span class="gi" style="margin-top: 0px; color: #000000; background-color: #ddffdd;">+#endif</span></span></code></pre>
<copy-code></copy-code><insert-code-snippet></insert-code-snippet>
</div>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Verified on sparc/leon3, sparc/ut700, sparc/gr712rc and sparc/gr740 with
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_DRVMGR_STARTUP = True</code>. All four images hold the six items. On
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">sparc-rtems7-sis -gr740 -extirq 10 -m 4</code>, <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">ticker.exe</code> prints
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">*** BEGIN OF TEST CLOCK TICK ***</code> and
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">TA1 - rtems_clock_get_tod - 09:00:00 12/31/1988</code>.</p>
<h2 dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">Smaller points</h2>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0px 0px 1rem; padding: 0;">
<li style="margin-top: 0px; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">Neither body states a problem. The first opens with <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">This would lead to</code>,
which refers to nothing. State the wrong behaviour: the linker drops the
system initialization items because no object references them.</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">The macro rename is sound. <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">LIST_HEAD</code> collides with <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;"><sys/queue.h></code> and with
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">cpukit/libfs/src/jffs2/include/linux/list.h</code>. Please name the collision in
the commit message, record the break of an installed header, and prefix
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">BUS_LIST_*</code>, <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">DEV_LIST_*</code> and <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">DRV_LIST_*</code> in <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">drvmgr.h</code> too.</li>
</ul>
<h2 dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">Two defects outside this MR</h2>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Each deserves its own issue.</p>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0px; padding: 0;">
<li style="margin-top: 0px; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">sparc/leon2</code> with <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_DRVMGR_STARTUP = True</code> does not compile:
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">bsps/shared/grlib/uart/cons.c:57:21: error: 'BSP_NUMBER_OF_TERMIOS_PORTS' undeclared here (not in a function)</code>.</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0px; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">riscv/griscv</code> has neither a <code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padding: 0.125rem 0.25rem;">drvmgr_drivers[]</code> table nor a root bus
registration. Its driver manager support is incomplete.</li>
</ul>
</div>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #626168;">
—
<br>
<a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1498#note_159770">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.rtems.org">gitlab.rtems.org</a>. <a href="https://gitlab.rtems.org/-/namespace/49/sent_notifications/5-6ygoewv2giqzk23515x497apx-1d/unsubscribe" target="_blank" rel="noopener noreferrer">Unsubscribe</a> from this thread · <a href="https://gitlab.rtems.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.rtems.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<span style="color: transparent; font-size: 0; display: none; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1498#note_159770 at 1790080746
</span>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Merge request","url":"https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1498#note_159770"}}</script>
</p>
</div>
</body>
</html>