|
Description
|
A customer is building a very large application, one that is close to reaching the
present 2GB ELF file limit. In an attempt to reduce the size of the application a
mapfile was used to limit the resulting global interfaces (this was based off our
own OSnet MAPFILE.NGB). The mapfile alone was reported to save a lot, but when
combined with -z ignore another 280mb was saved.
The problem however is that a link-edit that took about 15 minutes now took around
9 hours. -z ignore is good for uncovering and eliminating unused material from a
link-edit, but it needs to be efficient to be useful. The culprit seems to be the
string compaction that is carried out for the symbol string tables. Under -z ignore,
strings that have been accumulated for the string tables must be removed. Without
string table compaction (ie. with -z nocompstrtab), the -z ignore use gets very close
to that of a default link-edit.
|