Use R_MORELLO_RELATIVE for capabilility initialization in static executables
Instead of the __cap_relocs section, generate information needed for capability initialisation in the .rela.dyn relocation section. The linker-generated _rela_dyn{start,end} symbols mark the start/end of the .rela.dyn section. All relocations 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 fragment. - 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