Compression (--cinit_compression and --copy_compression Option)

By default, the linker does not compress copy table (Section 3.3.3 and Section 8.8) source data sections. The --cinit_compression and --copy_compression options specify compression through the linker.

The --cinit_compression option specifies the compression type the linker applies to the C autoinitialization copy table source data sections. The default is lzss.

Overlays can be managed by using linker-generated copy tables. To save ROM space the linker can compress the data copied by the copy tables. The compressed data is decompressed during copy. The --copy_compression option controls the compression of the copy data tables.

The syntax for the options are:

--cinit_compression[=compression_kind]

--copy_compression[=compression_kind]

The compression_kind can be one of the following types:

Compressed sections within initialization tables are byte aligned in order to reduce the occurrence of holes in the .cinit table.

See Section 8.8.5 for more information about compression.