[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-4.15] elfstructs: add relocation defines for i386



On 24.02.2021 15:58, Roger Pau Monne wrote:
> Those are need by the rombios relocation code in hvmloader. Fixes the
> following build error:
> 
> 32bitbios_support.c: In function 'relocate_32bitbios':
> 32bitbios_support.c:130:18: error: 'R_386_PC32' undeclared (first use in this 
> function); did you mean 'R_X86_64_PC32'?
>              case R_386_PC32:
>                   ^~~~~~~~~~
>                   R_X86_64_PC32
> 32bitbios_support.c:130:18: note: each undeclared identifier is reported only 
> once for each function it appears in
> 32bitbios_support.c:134:18: error: 'R_386_32' undeclared (first use in this 
> function)
>              case R_386_32:
>                   ^~~~~~~~
> 
> Only add the two defines that are actually used, which seems to match
> what we do for amd64.
> 
> Fixes: 81b2b328a26c1b ('hvmloader: use Xen private header for elf structs')
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

In principle
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

But ...

> --- a/xen/include/xen/elfstructs.h
> +++ b/xen/include/xen/elfstructs.h
> @@ -348,6 +348,9 @@ typedef struct {
>  #define ELF32_R_TYPE(i)              ((unsigned char) (i))
>  #define ELF32_R_INFO(s,t)    (((s) << 8) + (unsigned char)(t))
>  
> +#define R_386_32           1            /* Direct 32 bit  */
> +#define R_386_PC32         2            /* PC relative 32 bit */
> +
>  typedef struct {
>       Elf64_Addr      r_offset;       /* where to do it */
>       Elf64_Xword     r_info;         /* index & type of relocation */

... I'm heavily inclined to move this a few lines down to where
the other relocation types get defined, and add a respective
comment.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.