[edk2-devel] [PATCH] BaseTools/GenFw: Add support for LOONGARCH64 relax relocation
Chao Li
lichao at loongson.cn
Fri Sep 22 07:33:44 UTC 2023
Reviewed-by: Chao Li <lichao at loongson.cn>
Thanks,
Chao
在 2023/9/22 15:27, Dongyan Qian 写道:
> Correct relax id from 99 to 100 and added relocation support up to 109
>
> fix gcc14 adds new relocation, and the generated relocation
> causes the build and compilation to fail.
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4559
>
> Cc: Rebecca Cran<rebecca at bsdio.com>
> Cc: Liming Gao<gaoliming at byosoft.com.cn>
> Cc: Bob Feng<bob.c.feng at intel.com>
> Cc: Yuwei Chen<yuwei.chen at intel.com>
> Cc: Chao Li<lichao at loongson.cn>
> Signed-off-by: Dongyan Qian<qiandongyan at loongson.cn>
> ---
> BaseTools/Source/C/GenFw/Elf64Convert.c | 20 ++++++++++++++++++++
> BaseTools/Source/C/GenFw/elf_common.h | 13 ++++++++++++-
> 2 files changed, 32 insertions(+), 1 deletion(-)
>
> diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c
> index d53ecb1767..9911db65af 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 ccd32804b0..e4d0cdac4f 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_ */
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108981): https://edk2.groups.io/g/devel/message/108981
Mute This Topic: https://groups.io/mt/101516908/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20230922/3e954988/attachment-0001.htm>
More information about the edk2-devel-archive
mailing list