Restructure module loading and many fixes. Now normal.mod loads successfully
This commit is contained in:
parent
bbbf84350e
commit
f49157dfe5
4 changed files with 99 additions and 126 deletions
|
@ -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
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue