diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c index d53ecb176721..9911db65af61 100644 --- a/BaseTools/Source/C/GenFw/Elf64Convert.c +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c @@ -1778,7 +1778,17 @@ WriteSections64 ( case R_LARCH_TLS_LD64_HI20: case R_LARCH_TLS_GD_PC_HI20: case R_LARCH_TLS_GD64_HI20: + case R_LARCH_32_PCREL: case R_LARCH_RELAX: + case R_LARCH_DELETE: + case R_LARCH_ALIGN: + case R_LARCH_PCREL20_S2: + case R_LARCH_CFA: + case R_LARCH_ADD6: + case R_LARCH_SUB6: + case R_LARCH_ADD_ULEB128: + case R_LARCH_SUB_ULEB128: + case R_LARCH_64_PCREL: // // These types are not used or do not require fixup. // @@ -2185,7 +2195,17 @@ WriteRelocations64 ( case R_LARCH_TLS_LD64_HI20: case R_LARCH_TLS_GD_PC_HI20: case R_LARCH_TLS_GD64_HI20: + case R_LARCH_32_PCREL: case R_LARCH_RELAX: + case R_LARCH_DELETE: + case R_LARCH_ALIGN: + case R_LARCH_PCREL20_S2: + case R_LARCH_CFA: + case R_LARCH_ADD6: + case R_LARCH_SUB6: + case R_LARCH_ADD_ULEB128: + case R_LARCH_SUB_ULEB128: + case R_LARCH_64_PCREL: // // These types are not used or do not require fixup in PE format files. // diff --git a/BaseTools/Source/C/GenFw/elf_common.h b/BaseTools/Source/C/GenFw/elf_common.h index ccd32804b090..e4d0cdac4f31 100644 --- a/BaseTools/Source/C/GenFw/elf_common.h +++ b/BaseTools/Source/C/GenFw/elf_common.h @@ -1144,5 +1144,16 @@ typedef struct { #define R_LARCH_TLS_LD64_HI20 96 #define R_LARCH_TLS_GD_PC_HI20 97 #define R_LARCH_TLS_GD64_HI20 98 -#define R_LARCH_RELAX 99 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 +#define R_LARCH_DELETE 101 +#define R_LARCH_ALIGN 102 +#define R_LARCH_PCREL20_S2 103 +#define R_LARCH_CFA 104 +#define R_LARCH_ADD6 105 +#define R_LARCH_SUB6 106 +#define R_LARCH_ADD_ULEB128 107 +#define R_LARCH_SUB_ULEB128 108 +#define R_LARCH_64_PCREL 109 + #endif /* !_SYS_ELF_COMMON_H_ */