Many projects compile with fatal linker warnings. The fact that icf=safe
has limitations with object files created by ld -r or objcopy limits
such projects from either (a) using --fatal-warnings, or (b) using ld or
objcopy produced dependencies.
Arguably, users that use ld/objcopy should be aware of icf=safe's
limitations, but should never affect _consumers_ of dependencies created
in this way. An example is a library that must internalize symbols to
ship and safely link into other targets.
Not being able to apply ICF to such a library should not be a
dealbreaker for projects that employ --fatal-warnings. The rest of the
project's object files can still employ ICF, while incompatible object
files are skipped with the warning.
Never treat icf=safe warnings as fatal.