Restructure module loading and many fixes. Now normal.mod loads successfully

This commit is contained in:
phcoder 2011-01-02 23:30:25 +01:00
parent bbbf84350e
commit f49157dfe5
4 changed files with 99 additions and 126 deletions

View file

@ -93,8 +93,10 @@ struct grub_dl
grub_addr_t init;
grub_addr_t fini;
#ifdef __ia64__
char *gp;
void *got;
void *tramp;
#endif
void *base;
struct grub_dl *next;
};
typedef struct grub_dl *grub_dl_t;
@ -123,24 +125,12 @@ void grub_arch_dl_init_linker (void);
#endif
#ifdef __ia64__
grub_size_t grub_arch_dl_get_tramp_size (const void *ehdr, unsigned sec);
grub_err_t grub_arch_dl_allocate_gp (grub_dl_t mod, const void *ehdr);
void grub_arch_dl_get_tramp_got_size (const void *ehdr, grub_size_t *tramp, grub_size_t *got);
#define GRUB_ARCH_DL_TRAMP_ALIGN 16
#else
static inline grub_size_t
grub_arch_dl_get_tramp_size (const void *ehdr __attribute__ ((unused)), int sec __attribute__ ((unused)))
{
return 0;
}
static inline grub_err_t
grub_arch_dl_allocate_gp (grub_dl_t mod __attribute__ ((unused)),
const void *ehdr __attribute__ ((unused)))
{
return GRUB_ERR_NONE;
}
#define GRUB_ARCH_DL_GOT_ALIGN 16
#define GRUB_ARCH_DL_TRAMP_ALIGN 1
#else
#endif