Are ELF programs smaller than a.out programs?
The standard compiler tools in earlier releases of BSD/OS did not create programs that used shared libraries. The standard compiler tools in BSD/OS 4.x do create programs that use dynamically linked shared libraries by default, so programs built under BSD/OS 4.x will usually shrink. In some cases, they may shrink drastically. If you build your programs to use statically linked shared libraries with shlicc, then the ELF versions of your programs will probably be about the same size as the a.out versions. ELF data structure overhead is greater than a.out overhead, but ELF files don’t require alignment padding, so that often saves space. The very smallest programs will usually be bigger as ELF files, but larger programs may be smaller as ELF files. ELF programs do use a little less memory than a.out programs. Because the stack, text and data segments are normally mapped by a single page table page, there is usually one less page of kernel memory devoted to the ELF version of a program tha