When we are parsing a CU DIE we do attempt to find a valid range lists table header (the ranges are extracted on-demand). We fail to ignore a non-existent or empty .debug_rnglists section and report an error.
This doesn't address the larger question whether we should exit from llvm-dwarfdump with a non-zero code whenever an error is reported, whether verification is requested or not.