Function blocks don't have a name specified in source code. Currently their symbol name is based on the parent function's name and an index.
One issue that happens with the current naming scheme is that in subsequent builds, the name of the function block can change even if the function block or the parent function has changed. This presents issues for tools that use symbol names to identify changes in source code / tracking of binary metrics.
The proposed solution here is to add a flag (default=off) that enables adding a hash of the block contents to the block name.
Ex: _ZN1Parent_Funciton_block_invoke_38172 (38172 is the hash)
Therefore, the function block name will only change if its content or the parent function name changes. And will now remain stable regardless if new function blocks are added.