[U-Boot] [PATCH v2 07/18] elf: Clean up the ELF header file

Christian Gmeiner christian.gmeiner at gmail.com
Thu Apr 12 07:29:24 UTC 2018


2018-04-12 7:02 GMT+02:00 Bin Meng <bmeng.cn at gmail.com>:
> Fix various style violations in elf.h
> - use correct comment format if the comment fits in just one line
> - remove the ending period for the one-line comment
> - use tab for the indention instead of space
> - put the opening brace at the same line of a typedef/union
> - remove <name> in a 'typedef struct' for consistency
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>

Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>

> ---
>
> Changes in v2: None
>
>  include/elf.h | 284 ++++++++++++++++++++++++++++------------------------------
>  1 file changed, 138 insertions(+), 146 deletions(-)
>
> diff --git a/include/elf.h b/include/elf.h
> index fe2128f..4742597 100644
> --- a/include/elf.h
> +++ b/include/elf.h
> @@ -5,10 +5,7 @@
>   * SPDX-License-Identifier:    BSD-3-Clause
>   */
>
> -/*
> - * This is the ELF ABI header file
> - * formerly known as "elf_abi.h".
> - */
> +/* This is the ELF ABI header file formerly known as "elf_abi.h" */
>
>  #ifndef _ELF_H
>  #define _ELF_H
> @@ -16,20 +13,16 @@
>  #ifndef __ASSEMBLER__
>  #include "compiler.h"
>
> -/*
> - *  This version doesn't work for 64-bit ABIs - Erik.
> - */
> +/* This version doesn't work for 64-bit ABIs - Erik */
>
> -/*
> - * These typedefs need to be handled better.
> - */
> +/* These typedefs need to be handled better */
>  typedef uint32_t       Elf32_Addr;     /* Unsigned program address */
>  typedef uint32_t       Elf32_Off;      /* Unsigned file offset */
>  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. */
> +/* 64-bit ELF base types */
>  typedef uint64_t       Elf64_Addr;
>  typedef uint16_t       Elf64_Half;
>  typedef int16_t                Elf64_SHalf;
> @@ -96,7 +89,7 @@ typedef int64_t               Elf64_Sxword;
>                       (ehdr).e_ident[EI_MAG3] == ELFMAG3)
>
>  /* ELF Header */
> -typedef struct elfhdr{
> +typedef struct {
>         unsigned char   e_ident[EI_NIDENT]; /* ELF Identification */
>         Elf32_Half      e_type;         /* object file type */
>         Elf32_Half      e_machine;      /* machine */
> @@ -122,9 +115,9 @@ typedef struct elfhdr{
>  #define ET_CORE                4               /* core file */
>  #define ET_NUM         5               /* number of types */
>  #define ET_LOOS                0xfe00          /* reserved range for operating */
> -#define ET_HIOS                0xfeff          /*  system specific e_type */
> +#define ET_HIOS                0xfeff          /* system specific e_type */
>  #define ET_LOPROC      0xff00          /* reserved range for processor */
> -#define ET_HIPROC      0xffff          /*  specific e_type */
> +#define ET_HIPROC      0xffff          /* specific e_type */
>
>  /* e_machine */
>  #define EM_NONE                0               /* No Machine */
> @@ -235,9 +228,9 @@ typedef struct {
>  #define SHN_UNDEF      0               /* undefined */
>  #define SHN_LORESERVE  0xff00          /* lower bounds of reserved indexes */
>  #define SHN_LOPROC     0xff00          /* reserved range for processor */
> -#define SHN_HIPROC     0xff1f          /*   specific section indexes */
> +#define SHN_HIPROC     0xff1f          /* specific section indexes */
>  #define SHN_LOOS       0xff20          /* reserved range for operating */
> -#define SHN_HIOS       0xff3f          /*   specific semantics */
> +#define SHN_HIOS       0xff3f          /* specific semantics */
>  #define SHN_ABS                0xfff1          /* absolute value */
>  #define SHN_COMMON     0xfff2          /* common symbol */
>  #define SHN_XINDEX     0xffff          /* Index is an extra table */
> @@ -265,46 +258,46 @@ typedef struct {
>  #define SHT_LOOS       0x60000000      /* Start OS-specific */
>  #define SHT_HIOS       0x6fffffff      /* End OS-specific */
>  #define SHT_LOPROC     0x70000000      /* reserved range for processor */
> -#define SHT_HIPROC     0x7fffffff      /*  specific section header types */
> +#define SHT_HIPROC     0x7fffffff      /* specific section header types */
>  #define SHT_LOUSER     0x80000000      /* reserved range for application */
> -#define SHT_HIUSER     0xffffffff      /*  specific indexes */
> +#define SHT_HIUSER     0xffffffff      /* specific indexes */
>
>  /* Section names */
> -#define ELF_BSS         ".bss"         /* uninitialized data */
> +#define ELF_BSS                ".bss"          /* uninitialized data */
>  #define ELF_COMMENT    ".comment"      /* version control information */
> -#define ELF_DATA        ".data"                /* initialized data */
> -#define ELF_DATA1       ".data1"       /* initialized data */
> -#define ELF_DEBUG       ".debug"       /* debug */
> -#define ELF_DYNAMIC     ".dynamic"     /* dynamic linking information */
> -#define ELF_DYNSTR      ".dynstr"      /* dynamic string table */
> -#define ELF_DYNSYM      ".dynsym"      /* dynamic symbol table */
> -#define ELF_FINI        ".fini"                /* termination code */
> +#define ELF_DATA       ".data"         /* initialized data */
> +#define ELF_DATA1      ".data1"        /* initialized data */
> +#define ELF_DEBUG      ".debug"        /* debug */
> +#define ELF_DYNAMIC    ".dynamic"      /* dynamic linking information */
> +#define ELF_DYNSTR     ".dynstr"       /* dynamic string table */
> +#define ELF_DYNSYM     ".dynsym"       /* dynamic symbol table */
> +#define ELF_FINI       ".fini"         /* termination code */
>  #define ELF_FINI_ARRAY ".fini_array"   /* Array of destructors */
> -#define ELF_GOT         ".got"         /* global offset table */
> -#define ELF_HASH        ".hash"                /* symbol hash table */
> -#define ELF_INIT        ".init"                /* initialization code */
> +#define ELF_GOT                ".got"          /* global offset table */
> +#define ELF_HASH       ".hash"         /* symbol hash table */
> +#define ELF_INIT       ".init"         /* initialization code */
>  #define ELF_INIT_ARRAY ".init_array"   /* Array of constuctors */
>  #define ELF_INTERP     ".interp"       /* Pathname of program interpreter */
>  #define ELF_LINE       ".line"         /* Symbolic line numnber information */
>  #define ELF_NOTE       ".note"         /* Contains note section */
>  #define ELF_PLT                ".plt"          /* Procedure linkage table */
>  #define ELF_PREINIT_ARRAY ".preinit_array" /* Array of pre-constructors */
> -#define ELF_REL_DATA    ".rel.data"    /* relocation data */
> -#define ELF_REL_FINI    ".rel.fini"    /* relocation termination code */
> -#define ELF_REL_INIT    ".rel.init"    /* relocation initialization code */
> -#define ELF_REL_DYN     ".rel.dyn"     /* relocaltion dynamic link info */
> -#define ELF_REL_RODATA  ".rel.rodata"  /* relocation read-only data */
> -#define ELF_REL_TEXT    ".rel.text"    /* relocation code */
> -#define ELF_RODATA      ".rodata"      /* read-only data */
> -#define ELF_RODATA1     ".rodata1"     /* read-only data */
> -#define ELF_SHSTRTAB    ".shstrtab"    /* section header string table */
> -#define ELF_STRTAB      ".strtab"      /* string table */
> -#define ELF_SYMTAB      ".symtab"      /* symbol table */
> +#define ELF_REL_DATA   ".rel.data"     /* relocation data */
> +#define ELF_REL_FINI   ".rel.fini"     /* relocation termination code */
> +#define ELF_REL_INIT   ".rel.init"     /* relocation initialization code */
> +#define ELF_REL_DYN    ".rel.dyn"      /* relocaltion dynamic link info */
> +#define ELF_REL_RODATA ".rel.rodata"   /* relocation read-only data */
> +#define ELF_REL_TEXT   ".rel.text"     /* relocation code */
> +#define ELF_RODATA     ".rodata"       /* read-only data */
> +#define ELF_RODATA1    ".rodata1"      /* read-only data */
> +#define ELF_SHSTRTAB   ".shstrtab"     /* section header string table */
> +#define ELF_STRTAB     ".strtab"       /* string table */
> +#define ELF_SYMTAB     ".symtab"       /* symbol table */
>  #define ELF_SYMTAB_SHNDX ".symtab_shndx"/* symbol table section index */
>  #define ELF_TBSS       ".tbss"         /* thread local uninit data */
>  #define ELF_TDATA      ".tdata"        /* thread local init data */
>  #define ELF_TDATA1     ".tdata1"       /* thread local init data */
> -#define ELF_TEXT        ".text"                /* code */
> +#define ELF_TEXT       ".text"         /* code */
>
>  /* Section Attribute Flags - sh_flags */
>  #define SHF_WRITE      0x1             /* Writable */
> @@ -319,7 +312,7 @@ typedef struct {
>  #define SHF_TLS                0x400           /* Thread local storage */
>  #define SHF_MASKOS     0x0ff00000      /* OS specific */
>  #define SHF_MASKPROC   0xf0000000      /* reserved bits for processor */
> -                                       /*  specific section attributes */
> +                                       /* specific section attributes */
>
>  /* Section Group Flags */
>  #define GRP_COMDAT     0x1             /* COMDAT group */
> @@ -327,7 +320,7 @@ typedef struct {
>  #define GRP_MASKPROC   0xf0000000      /* Mask processor specific flags */
>
>  /* Symbol Table Entry */
> -typedef struct elf32_sym {
> +typedef struct {
>         Elf32_Word      st_name;        /* name - index into string table */
>         Elf32_Addr      st_value;       /* symbol value */
>         Elf32_Word      st_size;        /* symbol size */
> @@ -351,9 +344,9 @@ typedef struct elf32_sym {
>  #define STB_WEAK       2               /* like global - lower precedence */
>  #define STB_NUM                3               /* number of symbol bindings */
>  #define STB_LOOS       10              /* reserved range for operating */
> -#define STB_HIOS       12              /*   system specific symbol bindings */
> +#define STB_HIOS       12              /* system specific symbol bindings */
>  #define STB_LOPROC     13              /* reserved range for processor */
> -#define STB_HIPROC     15              /*  specific symbol bindings */
> +#define STB_HIPROC     15              /* specific symbol bindings */
>
>  /* Symbol type - ELF32_ST_TYPE - st_info */
>  #define STT_NOTYPE     0               /* not specified */
> @@ -364,9 +357,9 @@ typedef struct elf32_sym {
>  #define STT_NUM                5               /* number of symbol types */
>  #define STT_TLS                6               /* Thread local storage symbol */
>  #define STT_LOOS       10              /* reserved range for operating */
> -#define STT_HIOS       12              /*  system specific symbol types */
> +#define STT_HIOS       12              /* system specific symbol types */
>  #define STT_LOPROC     13              /* reserved range for processor */
> -#define STT_HIPROC     15              /*  specific symbol types */
> +#define STT_HIPROC     15              /* specific symbol types */
>
>  /* Symbol visibility - ELF32_ST_VISIBILITY - st_other */
>  #define STV_DEFAULT    0               /* Normal visibility rules */
> @@ -374,17 +367,14 @@ typedef struct elf32_sym {
>  #define STV_HIDDEN     2               /* Symbol unavailable in other mods */
>  #define STV_PROTECTED  3               /* Not preemptible, not exported */
>
> -
>  /* Relocation entry with implicit addend */
> -typedef struct
> -{
> +typedef struct {
>         Elf32_Addr      r_offset;       /* offset of relocation */
>         Elf32_Word      r_info;         /* symbol table index and type */
>  } Elf32_Rel;
>
>  /* Relocation entry with explicit addend */
> -typedef struct
> -{
> +typedef struct {
>         Elf32_Addr      r_offset;       /* offset of relocation */
>         Elf32_Word      r_info;         /* symbol table index and type */
>         Elf32_Sword     r_addend;
> @@ -396,9 +386,9 @@ typedef struct {
>  } Elf64_Rel;
>
>  typedef struct {
> -       Elf64_Addr r_offset;    /* Location at which to apply the action */
> -       Elf64_Xword r_info;     /* index and type of relocation */
> -       Elf64_Sxword r_addend;  /* Constant addend used to compute value */
> +       Elf64_Addr r_offset;    /* Location at which to apply the action */
> +       Elf64_Xword r_info;     /* index and type of relocation */
> +       Elf64_Sxword r_addend;  /* Constant addend used to compute value */
>  } Elf64_Rela;
>
>  /* Extract relocation info - r_info */
> @@ -411,9 +401,9 @@ typedef struct {
>         Elf32_Word      p_type;         /* segment type */
>         Elf32_Off       p_offset;       /* segment offset */
>         Elf32_Addr      p_vaddr;        /* virtual address of segment */
> -       Elf32_Addr      p_paddr;        /* physical address - ignored? */
> -       Elf32_Word      p_filesz;       /* number of bytes in file for seg. */
> -       Elf32_Word      p_memsz;        /* number of bytes in mem. for seg. */
> +       Elf32_Addr      p_paddr;        /* physical address of segment */
> +       Elf32_Word      p_filesz;       /* number of bytes in file for seg */
> +       Elf32_Word      p_memsz;        /* number of bytes in mem. for seg */
>         Elf32_Word      p_flags;        /* flags */
>         Elf32_Word      p_align;        /* memory alignment */
>  } Elf32_Phdr;
> @@ -429,9 +419,9 @@ typedef struct {
>  #define PT_TLS         7               /* Thread local storage template */
>  #define PT_NUM         8               /* Number of segment types */
>  #define PT_LOOS                0x60000000      /* reserved range for operating */
> -#define PT_HIOS                0x6fffffff      /*   system specific segment types */
> +#define PT_HIOS                0x6fffffff      /* system specific segment types */
>  #define PT_LOPROC      0x70000000      /* reserved range for processor */
> -#define PT_HIPROC      0x7fffffff      /*  specific segment types */
> +#define PT_HIPROC      0x7fffffff      /* specific segment types */
>
>  /* Segment flags - p_flags */
>  #define PF_X           0x1             /* Executable */
> @@ -439,13 +429,11 @@ typedef struct {
>  #define PF_R           0x4             /* Readable */
>  #define PF_MASKOS      0x0ff00000      /* OS specific segment flags */
>  #define PF_MASKPROC    0xf0000000      /* reserved bits for processor */
> -                                       /*  specific segment flags */
> +                                       /* specific segment flags */
>  /* Dynamic structure */
> -typedef struct
> -{
> +typedef struct {
>         Elf32_Sword     d_tag;          /* controls meaning of d_val */
> -       union
> -       {
> +       union {
>                 Elf32_Word      d_val;  /* Multiple meanings - see d_tag */
>                 Elf32_Addr      d_ptr;  /* program virtual address */
>         } d_un;
> @@ -477,12 +465,12 @@ typedef struct {
>  #define DT_RELAENT     9               /* size of relocation entry */
>  #define DT_STRSZ       10              /* size of string table */
>  #define DT_SYMENT      11              /* size of symbol table entry */
> -#define DT_INIT                12              /* address of initialization func. */
> +#define DT_INIT                12              /* address of initialization func */
>  #define DT_FINI                13              /* address of termination function */
>  #define DT_SONAME      14              /* string table offset of shared obj */
>  #define DT_RPATH       15              /* string table offset of library
>                                            search path */
> -#define DT_SYMBOLIC    16              /* start sym search in shared obj. */
> +#define DT_SYMBOLIC    16              /* start sym search in shared obj */
>  #define DT_REL         17              /* address of rel. tbl. w addends */
>  #define DT_RELSZ       18              /* size of DT_REL relocation table */
>  #define DT_RELENT      19              /* size of DT_REL relocation entry */
> @@ -500,11 +488,11 @@ typedef struct {
>  #define DT_ENCODING    32              /* Start of encoded range */
>  #define DT_PREINIT_ARRAY 32            /* Array with addresses of preinit fct*/
>  #define DT_PREINIT_ARRAYSZ 33          /* size in bytes of DT_PREINIT_ARRAY */
> -#define DT_NUM         34              /* Number used. */
> +#define DT_NUM         34              /* Number used */
>  #define DT_LOOS                0x60000000      /* reserved range for OS */
> -#define DT_HIOS                0x6fffffff      /*   specific dynamic array tags */
> +#define DT_HIOS                0x6fffffff      /* specific dynamic array tags */
>  #define DT_LOPROC      0x70000000      /* reserved range for processor */
> -#define DT_HIPROC      0x7fffffff      /*  specific dynamic array tags */
> +#define DT_HIPROC      0x7fffffff      /* specific dynamic array tags */
>
>  /* Dynamic Tag Flags - d_un.d_val */
>  #define DF_ORIGIN      0x01            /* Object may use DF_ORIGIN */
> @@ -525,93 +513,97 @@ unsigned long elf_hash(const unsigned char *name);
>   * but we'll put them in for simplicity.
>   */
>
> -/* Values for Elf32/64_Ehdr.e_flags.  */
> -#define EF_PPC_EMB              0x80000000      /* PowerPC embedded flag */
> +/* Values for Elf32/64_Ehdr.e_flags */
> +#define EF_PPC_EMB             0x80000000      /* PowerPC embedded flag */
>
>  /* Cygnus local bits below */
> -#define EF_PPC_RELOCATABLE      0x00010000      /* PowerPC -mrelocatable flag*/
> -#define EF_PPC_RELOCATABLE_LIB  0x00008000      /* PowerPC -mrelocatable-lib
> +#define EF_PPC_RELOCATABLE     0x00010000      /* PowerPC -mrelocatable flag*/
> +#define EF_PPC_RELOCATABLE_LIB 0x00008000      /* PowerPC -mrelocatable-lib
>                                                    flag */
>
>  /* PowerPC relocations defined by the ABIs */
> -#define R_PPC_NONE              0
> -#define R_PPC_ADDR32            1       /* 32bit absolute address */
> -#define R_PPC_ADDR24            2       /* 26bit address, 2 bits ignored.  */
> -#define R_PPC_ADDR16            3       /* 16bit absolute address */
> -#define R_PPC_ADDR16_LO         4       /* lower 16bit of absolute address */
> -#define R_PPC_ADDR16_HI         5       /* high 16bit of absolute address */
> -#define R_PPC_ADDR16_HA         6       /* adjusted high 16bit */
> -#define R_PPC_ADDR14            7       /* 16bit address, 2 bits ignored */
> -#define R_PPC_ADDR14_BRTAKEN    8
> -#define R_PPC_ADDR14_BRNTAKEN   9
> -#define R_PPC_REL24             10      /* PC relative 26 bit */
> -#define R_PPC_REL14             11      /* PC relative 16 bit */
> -#define R_PPC_REL14_BRTAKEN     12
> -#define R_PPC_REL14_BRNTAKEN    13
> -#define R_PPC_GOT16             14
> -#define R_PPC_GOT16_LO          15
> -#define R_PPC_GOT16_HI          16
> -#define R_PPC_GOT16_HA          17
> -#define R_PPC_PLTREL24          18
> -#define R_PPC_COPY              19
> -#define R_PPC_GLOB_DAT          20
> -#define R_PPC_JMP_SLOT          21
> -#define R_PPC_RELATIVE          22
> -#define R_PPC_LOCAL24PC         23
> -#define R_PPC_UADDR32           24
> -#define R_PPC_UADDR16           25
> -#define R_PPC_REL32             26
> -#define R_PPC_PLT32             27
> -#define R_PPC_PLTREL32          28
> -#define R_PPC_PLT16_LO          29
> -#define R_PPC_PLT16_HI          30
> -#define R_PPC_PLT16_HA          31
> -#define R_PPC_SDAREL16          32
> -#define R_PPC_SECTOFF           33
> -#define R_PPC_SECTOFF_LO        34
> -#define R_PPC_SECTOFF_HI        35
> -#define R_PPC_SECTOFF_HA        36
> -/* Keep this the last entry.  */
> -#define R_PPC_NUM               37
> -
> -/* The remaining relocs are from the Embedded ELF ABI, and are not
> -   in the SVR4 ELF ABI.  */
> -#define R_PPC_EMB_NADDR32       101
> -#define R_PPC_EMB_NADDR16       102
> -#define R_PPC_EMB_NADDR16_LO    103
> -#define R_PPC_EMB_NADDR16_HI    104
> -#define R_PPC_EMB_NADDR16_HA    105
> -#define R_PPC_EMB_SDAI16        106
> -#define R_PPC_EMB_SDA2I16       107
> -#define R_PPC_EMB_SDA2REL       108
> -#define R_PPC_EMB_SDA21         109     /* 16 bit offset in SDA */
> -#define R_PPC_EMB_MRKREF        110
> -#define R_PPC_EMB_RELSEC16      111
> -#define R_PPC_EMB_RELST_LO      112
> -#define R_PPC_EMB_RELST_HI      113
> -#define R_PPC_EMB_RELST_HA      114
> -#define R_PPC_EMB_BIT_FLD       115
> -#define R_PPC_EMB_RELSDA        116     /* 16 bit relative offset in SDA */
> -
> -/* Diab tool relocations.  */
> -#define R_PPC_DIAB_SDA21_LO     180     /* like EMB_SDA21, but lower 16 bit */
> -#define R_PPC_DIAB_SDA21_HI     181     /* like EMB_SDA21, but high 16 bit */
> -#define R_PPC_DIAB_SDA21_HA     182     /* like EMB_SDA21, adjusted high 16 */
> -#define R_PPC_DIAB_RELSDA_LO    183     /* like EMB_RELSDA, but lower 16 bit */
> -#define R_PPC_DIAB_RELSDA_HI    184     /* like EMB_RELSDA, but high 16 bit */
> -#define R_PPC_DIAB_RELSDA_HA    185     /* like EMB_RELSDA, adjusted high 16 */
> -
> -/* This is a phony reloc to handle any old fashioned TOC16 references
> -   that may still be in object files.  */
> -#define R_PPC_TOC16             255
> +#define R_PPC_NONE             0
> +#define R_PPC_ADDR32           1       /* 32bit absolute address */
> +#define R_PPC_ADDR24           2       /* 26bit address, 2 bits ignored */
> +#define R_PPC_ADDR16           3       /* 16bit absolute address */
> +#define R_PPC_ADDR16_LO                4       /* lower 16bit of absolute address */
> +#define R_PPC_ADDR16_HI                5       /* high 16bit of absolute address */
> +#define R_PPC_ADDR16_HA                6       /* adjusted high 16bit */
> +#define R_PPC_ADDR14           7       /* 16bit address, 2 bits ignored */
> +#define R_PPC_ADDR14_BRTAKEN   8
> +#define R_PPC_ADDR14_BRNTAKEN  9
> +#define R_PPC_REL24            10      /* PC relative 26 bit */
> +#define R_PPC_REL14            11      /* PC relative 16 bit */
> +#define R_PPC_REL14_BRTAKEN    12
> +#define R_PPC_REL14_BRNTAKEN   13
> +#define R_PPC_GOT16            14
> +#define R_PPC_GOT16_LO         15
> +#define R_PPC_GOT16_HI         16
> +#define R_PPC_GOT16_HA         17
> +#define R_PPC_PLTREL24         18
> +#define R_PPC_COPY             19
> +#define R_PPC_GLOB_DAT         20
> +#define R_PPC_JMP_SLOT         21
> +#define R_PPC_RELATIVE         22
> +#define R_PPC_LOCAL24PC                23
> +#define R_PPC_UADDR32          24
> +#define R_PPC_UADDR16          25
> +#define R_PPC_REL32            26
> +#define R_PPC_PLT32            27
> +#define R_PPC_PLTREL32         28
> +#define R_PPC_PLT16_LO         29
> +#define R_PPC_PLT16_HI         30
> +#define R_PPC_PLT16_HA         31
> +#define R_PPC_SDAREL16         32
> +#define R_PPC_SECTOFF          33
> +#define R_PPC_SECTOFF_LO       34
> +#define R_PPC_SECTOFF_HI       35
> +#define R_PPC_SECTOFF_HA       36
> +/* Keep this the last entry */
> +#define R_PPC_NUM              37
> +
> +/*
> + * The remaining relocs are from the Embedded ELF ABI, and are not
> + * in the SVR4 ELF ABI.
> + */
> +#define R_PPC_EMB_NADDR32      101
> +#define R_PPC_EMB_NADDR16      102
> +#define R_PPC_EMB_NADDR16_LO   103
> +#define R_PPC_EMB_NADDR16_HI   104
> +#define R_PPC_EMB_NADDR16_HA   105
> +#define R_PPC_EMB_SDAI16       106
> +#define R_PPC_EMB_SDA2I16      107
> +#define R_PPC_EMB_SDA2REL      108
> +#define R_PPC_EMB_SDA21                109     /* 16 bit offset in SDA */
> +#define R_PPC_EMB_MRKREF       110
> +#define R_PPC_EMB_RELSEC16     111
> +#define R_PPC_EMB_RELST_LO     112
> +#define R_PPC_EMB_RELST_HI     113
> +#define R_PPC_EMB_RELST_HA     114
> +#define R_PPC_EMB_BIT_FLD      115
> +#define R_PPC_EMB_RELSDA       116     /* 16 bit relative offset in SDA */
> +
> +/* Diab tool relocations */
> +#define R_PPC_DIAB_SDA21_LO    180     /* like EMB_SDA21, but lower 16 bit */
> +#define R_PPC_DIAB_SDA21_HI    181     /* like EMB_SDA21, but high 16 bit */
> +#define R_PPC_DIAB_SDA21_HA    182     /* like EMB_SDA21, adjusted high 16 */
> +#define R_PPC_DIAB_RELSDA_LO   183     /* like EMB_RELSDA, but lower 16 bit */
> +#define R_PPC_DIAB_RELSDA_HI   184     /* like EMB_RELSDA, but high 16 bit */
> +#define R_PPC_DIAB_RELSDA_HA   185     /* like EMB_RELSDA, adjusted high 16 */
> +
> +/*
> + * This is a phony reloc to handle any old fashioned TOC16 references
> + * that may still be in object files.
> + */
> +#define R_PPC_TOC16            255
>
>   /* ARM relocs */
>  #define R_ARM_NONE             0       /* No reloc */
>  #define R_ARM_RELATIVE         23      /* Adjust by program base */
>
>  /* AArch64 relocs */
> -#define R_AARCH64_NONE         0       /* No relocation.  */
> -#define R_AARCH64_RELATIVE     1027    /* Adjust by program base.  */
> +#define R_AARCH64_NONE         0       /* No relocation */
> +#define R_AARCH64_RELATIVE     1027    /* Adjust by program base */
>
>  /* RISC-V relocations */
>  #define R_RISCV_32             1
> --
> 2.7.4
>



-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info


More information about the U-Boot mailing list