This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why do I get warning L6480W when I use the "Execute-only Code" option?

I'm experimenting with different configuration options, and the "Execute-only Code" option might be useful for my application. However, when I enable it, many modules throw the following linker warning:

Warning: L6480W: Disabling string merging for <foobar>.o(.conststring). Relocated MOVT referring to string .conststring has a non-zero addend, which is not supported.

What does this mean? I notice that the option causes the size of the output hex to increase, so I would guess that this warning just means that the linker isn't able to do some optimization with strings that are used in multiple places in the code, but I'm not sure.

I am using ARM Compiler v5.

Parents
  • Hello EliasSimonNevro, yes, right. The warning means, that the linker was not able to consider some string for the string merging optimization. It does not essentially mean, that the string has a matching equivalent, but of course could have also one.

Reply
  • Hello EliasSimonNevro, yes, right. The warning means, that the linker was not able to consider some string for the string merging optimization. It does not essentially mean, that the string has a matching equivalent, but of course could have also one.

Children
No data