| |||
| Home > Using fromelf > Protecting code in images and objects with fromelf | |||
If you are delivering images and objects to third parties,
then you might want to protect the code they contain. To help you
to protect this code, fromelf provides the --strip option
and the --privacy option. These options remove
or obscure the symbol names in the object or image. The option you
choose depends on the how much information you want to remove. The
effect of these options is different for object files and images.
You must use --elf with these options. Because
you have to use --elf, you must also use --output.
To protect code in image files:
Table 2.1. Effect of fromelf --privacy and --strip options on images files
| Option | Local symbols | Section names | Mapping symbols | Build attributes |
|---|---|---|---|---|
| fromelf --elf --privacy | Removes the whole symbol table. Removes the Gives
section names a default value. For example, changes code section
names to | |||
| fromelf --elf --strip=symbols | Removes whole symbol table. Section names remain the same. | |||
| fromelf --elf --strip=localsymbols | Removed | Present | Removed | Present |
To protect code in object files:
Table 2.2. Effect of fromelf --privacy and --strip options on object files
| Option | Local symbols | Section names | Mapping symbols | Build attributes |
|---|---|---|---|---|
| fromelf --elf --privacy | Removes those local symbols that can be removed without loss of functionality. Symbols that
cannot be removed, such as the targets for relocations, are kept.
For these symbols, the names are removed. These are marked as | Gives section names a default value.
For example, changes code section names to | Present | Present |
| fromelf --elf --strip=symbols | Removes those local symbols that can be removed without loss of functionality. Symbols that
cannot be removed, such as the targets for relocations, are kept.
For these symbols, the names are removed. These are marked as | Section names remain the same | Present | Present |
| fromelf --elf --strip=localsymbols | Removes those local symbols that can be removed without loss of functionality. Symbols that
cannot be removed, such as the targets for relocations, are kept.
For these symbols, the names are removed. These are marked as | Section names remain the same | Present | Present |
The following example produces a new ELF executable image with the complete symbol table removed and various section names changed, use:
fromelf --elf --privacy --output=outfile.axf infile.axf
See also:
the following in the Linker User Guide:
the following in the Linker Reference Guide: