When -r option is used lld may end up creating malformed object file. The simplest example is an input file having following sections
.text._init SHT_PROGBITS .text._fini SHT_PROGBITS .rela.text._init SHT_RELA .rela.text._fini SHT_RELA
Given input above lld will produce object file with two relocation sections for a single section .text. If you then pass this file as an input for GNU ld, you'll get error 'File not recognized: bad value'