diff options
author | Markos Chandras <markos.chandras@imgtec.com> | 2010-09-21 12:43:19 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2013-03-14 22:47:08 +0100 |
commit | e3436cc40d8ebf4303d0ba5bb24f21edf41fd1e8 (patch) | |
tree | 602f66aec3ddb19cf9af50ce9382c33d1334bfcc /ldso/ldso/metag/dl-sysdep.h | |
parent | cf349fcbb555b77f22d96fe3a7b25579337ab989 (diff) |
metag: Add support for loading shared objects into core memories.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'ldso/ldso/metag/dl-sysdep.h')
-rw-r--r-- | ldso/ldso/metag/dl-sysdep.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ldso/ldso/metag/dl-sysdep.h b/ldso/ldso/metag/dl-sysdep.h index 55e8d1f66..29547cb34 100644 --- a/ldso/ldso/metag/dl-sysdep.h +++ b/ldso/ldso/metag/dl-sysdep.h @@ -96,3 +96,28 @@ elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr, } #define DL_MALLOC_ALIGN 8 + +#define HAVE_DL_INLINES_H + +#define DL_IS_SPECIAL_SEGMENT(EPNT, PPNT) \ + __dl_is_special_segment(EPNT, PPNT) +#define DL_MAP_SEGMENT(EPNT, PPNT, INFILE, FLAGS) \ + __dl_map_segment (EPNT, PPNT, INFILE, FLAGS) + +#define DL_CHECK_LIB_TYPE(epnt, piclib, _dl_progname, libname) \ +do \ +{ \ + ElfW(Phdr) *ppnt_; \ + char *header_ = (char *)epnt; \ + ppnt_ = (ElfW(Phdr) *)(intptr_t) & header_[epnt->e_phoff]; \ + if (ppnt_->p_vaddr >= 0x80000000 && \ + ppnt_->p_vaddr < 0x82060000) \ + (piclib) = 2; \ + if (ppnt_->p_vaddr >= 0xe0200000 && \ + ppnt_->p_vaddr < 0xe0260000) \ + (piclib) = 2; \ +} \ +while (0) + +#define _DL_PREAD(FD, BUF, SIZE, OFFSET) \ + (_dl_pread((FD), (BUF), (SIZE), (OFFSET))) |