[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