From 4857158172f38c6f66a51f9249c7c49d846fa7e7 Mon Sep 17 00:00:00 2001 From: jkoshy Date: Sun, 9 Jun 2019 17:01:37 +0000 Subject: [PATCH] Ensure that the value of a 32-bit parameter passed to the ELF64_R_INFO() macro does not get lost. Submitted by: Michael Forney on -developers git-svn-id: svn://svn.code.sf.net/p/elftoolchain/code/trunk@3742 95820547-d848-0410-985e-9ae8fe0fa350 --- common/elfdefinitions.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/elfdefinitions.h b/common/elfdefinitions.h index 0c207226..235b66dd 100644 --- a/common/elfdefinitions.h +++ b/common/elfdefinitions.h @@ -2806,7 +2806,8 @@ typedef struct { #define ELF64_R_SYM(I) ((I) >> 32) #define ELF64_R_TYPE(I) ((I) & 0xFFFFFFFFUL) -#define ELF64_R_INFO(S,T) (((S) << 32) + ((T) & 0xFFFFFFFFUL)) +#define ELF64_R_INFO(S,T) \ + (((Elf64_Xword) (S) << 32) + ((T) & 0xFFFFFFFFUL)) /* * Symbol versioning structures. diff --git a/common/elfdefinitions.h b/common/elfdefinitions.h index caa6a30..6484017 100644 --- a/common/elfdefinitions.h +++ b/common/elfdefinitions.h @@ -42,6 +42,8 @@ #include +#define STN_UNDEF 0 + /* * Types of capabilities. */