Embedded systems often have limited amounts of available memory, thus encouraging the development of compact programs. This paper presents a link-time program compactor for the embedded MIPS architecture. The application of several important data flow and control flow analyses and the related program transformations at linktime are discussed and evaluated for a collection of typical embedded applications compiled against the uClibc library targeted at the embedded market. With the presented linktime compactor, code size reductions of up to 27% are obtained, and speedups of up to 17%.