Quoting Richard Earnshaw <rearn...@arm.com>:
A missing virtual hook would be a build failure, rather than a runtime error. So the advantage is easier maintenance.
If we really wanted to have a target hook without a valid default, we could have it right now by using a default that causes a link or even a compile error.