Changeset 0d073b8 in mainline for uspace/lib/c/include/rtld/elf_dyn.h


Ignore:
Timestamp:
2019-04-06T11:46:44Z (5 years ago)
Author:
Petr Pavlu <setup@…>
Children:
a4bd537
Parents:
b59836d5
git-author:
Petr Pavlu <setup@…> (2019-03-31 13:00:13)
git-committer:
Petr Pavlu <setup@…> (2019-04-06 11:46:44)
Message:

Move dynamic-linking related ELF definitions to ABI includes

Move dynamic-linking related ELF definitions from
uspace/lib/c/include/rtld/elf_dyn.h to abi/include/abi/elf.h. This
allows their use by the AArch64 boot code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/rtld/elf_dyn.h

    rb59836d5 r0d073b8  
    3939#include <libarch/rtld/elf_dyn.h>
    4040
    41 #define ELF32_R_SYM(i) ((i) >> 8)
    42 #define ELF32_R_TYPE(i) ((unsigned char)(i))
    43 
    44 #define ELF64_R_SYM(i) ((i) >> 32)
    45 #define ELF64_R_TYPE(i) ((i) & 0xffffffffL)
    46 
    47 struct elf32_dyn {
    48         elf_sword d_tag;
    49         union {
    50                 elf_word d_val;
    51                 elf32_addr d_ptr;
    52         } d_un;
    53 };
    54 
    55 struct elf64_dyn {
    56         elf_sxword d_tag;
    57         union {
    58                 elf_xword d_val;
    59                 elf64_addr d_ptr;
    60         } d_un;
    61 };
    62 
    63 struct elf32_rel {
    64         elf32_addr r_offset;
    65         elf_word r_info;
    66 };
    67 
    68 struct elf32_rela {
    69         elf32_addr r_offset;
    70         elf_word r_info;
    71         elf_sword r_addend;
    72 };
    73 
    74 struct elf64_rel {
    75         elf64_addr r_offset;
    76         elf_xword r_info;
    77 };
    78 
    79 struct elf64_rela {
    80         elf64_addr r_offset;
    81         elf_xword r_info;
    82         elf_sxword r_addend;
    83 };
    84 
    85 #ifdef __32_BITS__
    86 typedef struct elf32_dyn elf_dyn_t;
    87 typedef struct elf32_rel elf_rel_t;
    88 typedef struct elf32_rela elf_rela_t;
    89 #endif
    90 
    91 #ifdef __64_BITS__
    92 typedef struct elf64_dyn elf_dyn_t;
    93 typedef struct elf64_rel elf_rel_t;
    94 typedef struct elf64_rela elf_rela_t;
    95 #endif
    96 
    97 /*
    98  * Dynamic array tags
    99  */
    100 #define DT_NULL         0
    101 #define DT_NEEDED       1
    102 #define DT_PLTRELSZ     2
    103 #define DT_PLTGOT       3
    104 #define DT_HASH         4
    105 #define DT_STRTAB       5
    106 #define DT_SYMTAB       6
    107 #define DT_RELA         7
    108 #define DT_RELASZ       8
    109 #define DT_RELAENT      9
    110 #define DT_STRSZ        10
    111 #define DT_SYMENT       11
    112 #define DT_INIT         12
    113 #define DT_FINI         13
    114 #define DT_SONAME       14
    115 #define DT_RPATH        15
    116 #define DT_SYMBOLIC     16
    117 #define DT_REL          17
    118 #define DT_RELSZ        18
    119 #define DT_RELENT       19
    120 #define DT_PLTREL       20
    121 #define DT_DEBUG        21
    122 #define DT_TEXTREL      22
    123 #define DT_JMPREL       23
    124 #define DT_BIND_NOW     24
    125 #define DT_LOPROC       0x70000000
    126 #define DT_HIPROC       0x7fffffff
    127 
    128 /*
    129  * Special section indexes
    130  */
    131 #define SHN_UNDEF       0
    132 #define SHN_LORESERVE   0xff00
    133 #define SHN_LOPROC      0xff00
    134 #define SHN_HIPROC      0xff1f
    135 #define SHN_ABS         0xfff1
    136 #define SHN_COMMON      0xfff2
    137 #define SHN_HIRESERVE   0xffff
    138 
    139 /*
    140  * Special symbol table index
    141  */
    142 #define STN_UNDEF       0
    143 
    14441#endif
    14542
Note: See TracChangeset for help on using the changeset viewer.