-
-
Notifications
You must be signed in to change notification settings - Fork 606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpiod.so is much too big #980
Comments
Hello @nyh , Doing a quick check, we use the following headers from boost: osv/tools/cpiod/cpio.cc: Kind Regards, |
wkozaczuk
added a commit
to wkozaczuk/osv
that referenced
this issue
Oct 3, 2019
…custom light alternative Fixes cloudius-systems#980 Signed-off-by: Waldemar Kozaczuk <[email protected]>
wkozaczuk
pushed a commit
to wkozaczuk/osv
that referenced
this issue
Oct 3, 2019
libboost_program_options caused us a various problems such as differences in visibility between versions (issue cloudius-systems#1040), significant code size (issue cloudius-systems#980) and others, so in the previous patches we removed all its uses in OSv and its small utility applications (like cpiod and httpserver). Now that it's no longer used, we can stop compiling it into the kernel, or pretending (in elf.cc) that it is included in the kernel. Signed-off-by: Nadav Har'El <[email protected]> Message-Id: <[email protected]>
wkozaczuk
pushed a commit
that referenced
this issue
Oct 4, 2019
libboost_program_options caused us a various problems such as differences in visibility between versions (issue #1040), significant code size (issue #980) and others, so in the previous patches we removed all its uses in OSv and its small utility applications (like cpiod and httpserver). Now that it's no longer used, we can stop compiling it into the kernel, or pretending (in elf.cc) that it is included in the kernel. Signed-off-by: Nadav Har'El <[email protected]> Message-Id: <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The stripped cpiod.so is around 300KB. Currently, it appears twice in every image (inside the kernel as bootfs, and in the zfs disk image).
But cpiod is a fairly trivial program and should not be anywhere this large...
I suspect the problem is in the Boost libraries that we use...
nm -D build/release.x64/tools/cpiod/cpiod.so
shows almost a thousand ridiculously long symbol names for boost asio and program_options, date manipulation, streams and other stuff we don't really need because... well... cpiod is such a trivial program. We could have done it easily with standard C++ code without the Boost stuff.The text was updated successfully, but these errors were encountered: