On Fri, Jul 31, 2015 at 11:31 PM, Simon Glass <s...@chromium.org> wrote: > Provide the types necessary to relocate 64-bit images. > > Signed-off-by: Simon Glass <s...@chromium.org> > > --- > > Changes in v2: > - Follow existing file conventions for type definitions > > include/elf.h | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/include/elf.h b/include/elf.h > index 63d9341..a35e085 100644 > --- a/include/elf.h > +++ b/include/elf.h > @@ -28,6 +28,16 @@ typedef int32_t Elf32_Sword; /* Signed > large integer */ > typedef uint32_t Elf32_Word; /* Unsigned large integer */ > typedef uint16_t Elf32_Half; /* Unsigned medium integer */ > > +/* 64-bit ELF base types. */ > +typedef uint64_t Elf64_Addr; > +typedef uint16_t Elf64_Half; > +typedef int16_t Elf64_SHalf; > +typedef uint64_t Elf64_Off; > +typedef int32_t Elf64_Sword; > +typedef uint32_t Elf64_Word; > +typedef uint64_t Elf64_Xword; > +typedef int64_t Elf64_Sxword; > + > /* e_ident[] identification indexes */ > #define EI_MAG0 0 /* file ID */ > #define EI_MAG1 1 /* file ID */ > @@ -379,6 +389,11 @@ typedef struct > Elf32_Sword r_addend; > } Elf32_Rela; > > +typedef struct { > + Elf64_Addr r_offset; /* Location at which to apply the action */ > + Elf64_Xword r_info; /* index and type of relocation */ > +} Elf64_Rel; > + > /* Extract relocation info - r_info */ > #define ELF32_R_SYM(i) ((i) >> 8) > #define ELF32_R_TYPE(i) ((unsigned char) (i)) > @@ -431,6 +446,17 @@ typedef struct > > extern Elf32_Dyn _DYNAMIC[]; > > +typedef struct { > + Elf64_Sxword d_tag; /* entry tag value */ > + union { > + Elf64_Xword d_val; > + Elf64_Addr d_ptr; > + } d_un; > +} Elf64_Dyn; > + > +#define ELF64_R_SYM(i) ((i) >> 32) > +#define ELF64_R_TYPE(i) ((i) & 0xffffffff) > + > /* Dynamic Array Tags - d_tag */ > #define DT_NULL 0 /* marks end of _DYNAMIC > array */ > #define DT_NEEDED 1 /* string table offset of needed lib > */ > --
Reviewed-by: Bin Meng <bmeng...@gmail.com> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot