Draft: [lld][Morello] Use R_MORELLO_RELATIVE for capabilility initialization in static executables
Generate capability initialisation information in a standard dynamic relocation section .rela.dyn with __cap_dynrelocs_start and __cap_dynrelocs_end to mark its start and end. All relocation entries are of type R_MORELLO_RELATIVE, which does not need any symbol information; everything needed to initialise the capability is in the relocation record and in the 128 bit frag.
- Capability address: rela.r_offset
- Capability offset: rela.r_addend
- Capability base: fragbits<63:0>
- Capability size: fragbits<119:64>
- Capability permissions: fragbits<127:120>
This behavior is disabled by default and can be activated by the linker switch: --morello-static-caps=elf
Change-Id: I894dc1b6adc78c4ffd59f9dd8c4d701550af0c81