Implement R_AARCH64_LDST*_ABS_LO12_NC relocaiton entries by reusing PageOffset21 generic relocation edge. The difference between macho backend is that in ELF, the shift value is explicitly given by relocation type. lld generates the relocation type that matches with instruction bitwidth, so getting the shift value implicitly from instruction bytes should be fine in typical use cases.
Another way to achieve this is create explicit edges like PageOffset21Shift0, PageOffset21Shift1, PageOffset21Shift2, ... and macho backend explicitly lower to that reading instructions bytes, if that's more preferred way, I'll change to that.
Alignment can not be smaller then one byte right? Can we skip the check in this case?