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


Ignore:
Timestamp:
2019-01-08T13:27:05Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
05cb995, 1567471, 1aa9eff, cdec2a1
Parents:
9c4df21
git-author:
Jiri Svoboda <jiri@…> (2018-01-07 22:27:02)
git-committer:
Jiri Svoboda <jiri@…> (2019-01-08 13:27:05)
Message:

Dynamic linking on amd64 (WIP)

After modifying HelenOS.config, it is possible to build with dynamic
linking support, but an attempt to load a shared library will fail.

File:
1 edited

Legend:

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

    r9c4df21 rd3e938c  
    3939#include <libarch/rtld/elf_dyn.h>
    4040
    41 #define ELF32_R_SYM(i) ((i)>>8)
     41#define ELF32_R_SYM(i) ((i) >> 8)
    4242#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)
    4346
    4447struct elf32_dyn {
     
    4750                elf_word d_val;
    4851                elf32_addr d_ptr;
     52        } d_un;
     53};
     54
     55struct elf64_dyn {
     56        elf_sxword d_tag;
     57        union {
     58                elf_xword d_val;
     59                elf64_addr d_ptr;
    4960        } d_un;
    5061};
     
    6172};
    6273
     74struct elf64_rel {
     75        elf64_addr r_offset;
     76        elf_xword r_info;
     77};
     78
     79struct elf64_rela {
     80        elf64_addr r_offset;
     81        elf_xword r_info;
     82        elf_sxword r_addend;
     83};
     84
    6385#ifdef __32_BITS__
    6486typedef struct elf32_dyn elf_dyn_t;
    6587typedef struct elf32_rel elf_rel_t;
    6688typedef struct elf32_rela elf_rela_t;
     89#endif
     90
     91#ifdef __64_BITS__
     92typedef struct elf64_dyn elf_dyn_t;
     93typedef struct elf64_rel elf_rel_t;
     94typedef struct elf64_rela elf_rela_t;
    6795#endif
    6896
Note: See TracChangeset for help on using the changeset viewer.