<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 19, 2021 at 9:07 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 19/05/2021 15:25, Joel Sherrill wrote:<br>
> <br>
> Yeah. But if you use any method with errno, you get all this. I know the<br>
> reent structure has to be initialized but why did it trigger opening<br>
> /dev/console? The console device wasn't configured. Can the post driver<br>
> hook dependency be cleaved from this chain?<br>
> <br>
> <a href="https://git.rtems.org/rtems/tree/cpukit/libcsupport/src/libio_init.c#n69" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/libcsupport/src/libio_init.c#n69</a> <br>
> <<a href="https://git.rtems.org/rtems/tree/cpukit/libcsupport/src/libio_init.c#n69" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/libcsupport/src/libio_init.c#n69</a>><br>
> <br>
> I think that dependency is only needed if you configure the console<br>
> device driver. Shouldn't the sysinit for the post driver hook be part of<br>
> configuring the console or simple console?<br>
> <br>
> <a href="https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/console.h" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/console.h</a> <br>
> <<a href="https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/console.h" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/console.h</a>><br>
> <a href="https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/iodrivers.h" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/iodrivers.h</a> <br>
> <<a href="https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/iodrivers.h" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/iodrivers.h</a>><br>
<br>
Initializing /dev/console via the console drivers is an option. I guess <br>
you still get the file system support pulled in via the file descriptors.<br></blockquote><div><br></div><div>Ticket and patch coming. </div><div><br></div><div>Moving the post driver hook to be triggered dropped ~20k and then eliminating</div><div>using rtems_malloc and removing errno from the powerpc sbrk eliminated another</div><div>~600 bytes.</div><div><br></div><div><font face="monospace">  45064    5884 268384476 268435424     fffffe0 b-psim/powerpc/psim/testsuites/samples/minimum.exe<br></font></div><div><font face="monospace"><br></font></div><div><font face="arial, sans-serif">That matches exactly what I had with my earlier hacks but now you can </font></div><div><span style="font-family:arial,sans-serif">reference errno not pull in the console, libio, open/close, and unmount</span></div><div><span style="font-family:arial,sans-serif">overhead.</span></div><div><br></div><div>This seems to be a very acceptable solution. They are now unconnected </div><div>dependencies and the linking machinery does its magic.</div><div><br></div><div>I wonder what else is lurking as dependencies in the BSPs or implicit </div><div>dependency chains. I plan to make a sweep and see which BSPs have </div><div>minimum.exe sizes that seem too large.</div><div><br></div><div>Thanks.</div><div><br></div><div>--joel</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
</blockquote></div></div>