You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment we have dead code elimination within a compartment via -ffunction-sections -fdata-sections and -gc-sections but all exported functions are used as roots for GC purposes even if they're never used in the final firmware image. This applies to both compartments and libraries, which is really bad for the final image size. To solve this properly we could use a global pass at the point of firmware linking, but this will probably require extensive changes to the linkage model. Doing it just for library compartments may be easier or we could support explicitly enable and disabling specific entry points when building compartments, although this may be a bit painful to use.
The text was updated successfully, but these errors were encountered:
At the moment we have dead code elimination within a compartment via
-ffunction-sections -fdata-sections
and-gc-sections
but all exported functions are used as roots for GC purposes even if they're never used in the final firmware image. This applies to both compartments and libraries, which is really bad for the final image size. To solve this properly we could use a global pass at the point of firmware linking, but this will probably require extensive changes to the linkage model. Doing it just for library compartments may be easier or we could support explicitly enable and disabling specific entry points when building compartments, although this may be a bit painful to use.The text was updated successfully, but these errors were encountered: