[RTEMS Project] #4213: libbsd: Reduce footprint of minimal buildset

RTEMS trac trac at rtems.org
Fri Jan 8 19:28:41 UTC 2021


#4213: libbsd: Reduce footprint of minimal buildset
--------------------------------+---------------------------------
 Reporter:  Christian Mauderer  |       Owner:  Christian Mauderer
     Type:  project             |      Status:  assigned
 Priority:  normal              |   Milestone:  Indefinite
Component:  network/libbsd      |     Version:
 Severity:  normal              |  Resolution:
 Keywords:  SoC libbsd          |  Blocked By:
 Blocking:                      |
--------------------------------+---------------------------------

Comment (by Christian Mauderer):

 Seems that I might should have discussed this on the list before creating
 a ticket.

 I wouldn't say that this kind of stuff are garbage collection bugs. We
 just pull in a lot of parts that we don't always need. It would be great
 if we could reduce that stuff. There definitively is quite some of it but
 no one really has time to remove it or rather make it possible to remove
 it by disabling modules. On the other hand it's something where not a lot
 of knowledge is necessary to start. So I thought it could be a good GSoC
 project.

 On the other hand documentation projects are always a bit tricky in my
 opinion. Basically a student has ask on the list how something works, wait
 for an answer use that answer to write documentation or maybe copy it more
 or less directly. So the student is mostly providing a skeleton and forces
 us to write stuff that can be put into the skeleton.

 We already discussed the minimal buildset when I introduced the build
 sets. If I remember correctly it's basically what you said: About the same
 functionality that has been provided by the legacy stack. The header of
 the minimal buildset also tells about that (just with some other words):
 https://git.rtems.org/rtems-libbsd/tree/buildset/minimal.ini

 There could be multiple starting points for such a project. One could be
 to analyze a small generated binary that more or less only initialize the
 network stack and take a look whether (for example) it includes stuff that
 belongs to SD card, USB, Display, ...

 A second approach could be to analyze which options of the FreeBSD build
 system we have set. Then we could enable them conditionally. For example
 that is already done with INET6. But for example I'm not sure whether we
 set VIMAGE and whether that might make some difference.

 This would allow to make our libbsd a bit more modular. And I'm sure that
 there are some surprises about what is pulled in by default.

--
Ticket URL: <http://devel.rtems.org/ticket/4213#comment:4>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list