All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Gmeiner <christian.gmeiner@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 07/18] elf: Clean up the ELF header file
Date: Thu, 12 Apr 2018 09:29:24 +0200	[thread overview]
Message-ID: <CAH9NwWd--ykexS5t8kTZ+i7hEknyzqnpTfS4RRPbPXXXqZUnGg@mail.gmail.com> (raw)
In-Reply-To: <1523509343-18123-8-git-send-email-bmeng.cn@gmail.com>

2018-04-12 7:02 GMT+02:00 Bin Meng <bmeng.cn@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@gmail.com>

Reviewed-by: Christian Gmeiner <christian.gmeiner@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

  reply	other threads:[~2018-04-12  7:29 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-12  5:02 [U-Boot] [PATCH v2 00/18] bootvx: Various enhancements to booting VxWorks x86 kernels Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 01/18] doc: vxworks: Minor update for clarity Bin Meng
2018-04-16  9:15   ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 02/18] bootvx: x86: Prepare e820 related stuff from the given kernel memory base address Bin Meng
2018-04-12  7:25   ` Christian Gmeiner
2018-04-16  9:15     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 03/18] bootvx: x86: Explicitly clear the bootloader image size Bin Meng
2018-04-12 16:41   ` Simon Glass
2018-04-16  9:15     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 04/18] vxworks: x86: Rename e820info to e820_info Bin Meng
2018-04-12  7:26   ` Christian Gmeiner
2018-04-16  9:15     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 05/18] x86: Use 'unsigned int' in install_e820_map() functions Bin Meng
2018-04-12  7:27   ` Christian Gmeiner
2018-04-16  9:15     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 06/18] x86: Rename e820entry to e820_entry Bin Meng
2018-04-12  7:28   ` Christian Gmeiner
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 07/18] elf: Clean up the ELF header file Bin Meng
2018-04-12  7:29   ` Christian Gmeiner [this message]
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 08/18] elf: Add ELF64 related structure defines Bin Meng
2018-04-12 16:41   ` Simon Glass
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 09/18] elf: Add a very simple ELF64 loader Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-13  3:30     ` Bin Meng
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 10/18] bios: vesa: Guard setting vesa mode with CONFIG_FRAMEBUFFER_SET_VESA_MODE Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-13  3:30     ` Bin Meng
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 11/18] video: vesa: Change default FRAMEBUFFER_VESA_MODE Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 12/18] x86: Change default FRAMEBUFFER_VESA_MODE of some boards Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 13/18] pci: video: Only print out when everything is OK Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 14/18] bootvx: x86: Make VxWorks EFI console driver happy Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 15/18] bootvx: Refactor the bootline copy codes a little bit Bin Meng
2018-04-12 16:42   ` Simon Glass
2018-04-16  9:16     ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 16/18] bootvx: Exit if bootline address is not specified Bin Meng
2018-04-16  9:17   ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 17/18] bootvx: x86: Assign bootaddr based on kernel memory base Bin Meng
2018-04-16  9:17   ` Bin Meng
2018-04-12  5:02 ` [U-Boot] [PATCH v2 18/18] doc: vxworks: Update x86 specific instructions Bin Meng
2018-04-16  9:17   ` Bin Meng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAH9NwWd--ykexS5t8kTZ+i7hEknyzqnpTfS4RRPbPXXXqZUnGg@mail.gmail.com \
    --to=christian.gmeiner@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.