This option deletes local symbol name information from the output file.
[Specification format]
- | Interpretation when omitted |
None
[Detailed description]
- | This option deletes local symbol name information from the output file. |
- | Since the name information regarding local symbols is deleted, local symbol names cannot be checked even if the file is opened with a binary editor.
This option does not affect the operation of the generated file. |
- | Use this option to keep the local symbol names secret. |
- | The following types of symbols are hidden: |
- | C source: Variable or function names specified with the static qualifiers |
- | C source: Label names for the goto statements |
- | Assembly source: Symbol names of which external definition (reference) symbols are not declared |
The entry function name is not hidden.
[Example of use]
- | To delete local symbol name information from the output file, describe as: |
The C source example in which this option is valid is shown below.
int g1;
int g2=1;
const int g3=3;
static int s1; //<--- The static variable name will be hidden.
static int s2=1; //<--- The static variable name will be hidden.
static const int s3=2; //<--- The static variable name will be hidden.
static int sub1() //<--- The static variable name will be hidden.
{
static int s1; //<--- The static variable name will be hidden.
int l1;
s1 = l1; l1 = s1;
return(l1);
}
int main()
{
sub1();
if (g1==1)
goto L1;
g2=2;
L1: //<--- The label name of the goto statement will be hidden.
return(0);
}
|
[Remark]
- | This option is valid only when the -form={absolute|relocate|library} option is specified. |
- | When this option is specified with the external variable access optimization, do not specify it for the first linking, and specify it only for the second linking. |
- | The symbol names in the debug information are not deleted by this option. |