To keep code and data in separate sections, the compiler disables literal pools and branch tables. That is, specifying --execute_only
implicitly specifies the following compiler options:
--no_integer_literal_pools
.
--no_float_literal_pools
.
--no_string_literal_pools
.
--no_branch_tables
.
Restrictions
Execute-only code must be Thumb code.
Execute-only code is only supported on the following processors:
If your application calls library functions, the library objects included in the image are not execute-only compliant. You must ensure these objects are not assigned to an execute-only memory region.