]> git.ipfire.org Git - thirdparty/grub.git/commit
Support trampoline jumps on powerpc.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 8 Nov 2011 10:23:56 +0000 (11:23 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 8 Nov 2011 10:23:56 +0000 (11:23 +0100)
commited64e9e27954718192e598d1f4bfaf0caba38152
treed8b17cb3ad264d2a5d5115a267d7b22ecd0d1406
parent3084ede4c77919193774c7647d1216ac2f45a278
Support trampoline jumps on powerpc.

* grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
__ia64__ path.
(grub_dl_load_segments): Set mod->sz.
(grub_dl_flush_cache): Flush whole space occupied by module, not just
segments.
* grub-core/kern/ia64/dl.c (nopm): Make const while on it.
(jump): Likewise.
* grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
function.
(trampoline): New struct.
(trampoline_template): New const.
(grub_arch_dl_relocate_symbols): Create trampolines on overflow.
* include/grub/dl.h (grub_dl): Add sz element.
[__powerpc__]: Follow __ia64__.
(GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
(GRUB_ARCH_DL_GOT_ALIGN): Likewise.
(GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
(grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
ChangeLog
grub-core/kern/dl.c
grub-core/kern/ia64/dl.c
grub-core/kern/powerpc/dl.c
include/grub/dl.h