mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
range of R_SPARC_HI22. Implement R_SPARC_LM22.
This commit is contained in:
1 parent
7b54b62682
commit
21eee750b7
2 files changed
+10
No files matched your search
@@ -1,3 +1,9 @@
|
|||||||
|
2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
|
||||||
|
range of R_SPARC_HI22.
|
||||||
|
Implement R_SPARC_LM22.
|
||||||
|
|
||||||
2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
|
* grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
|
||||||
|
|||||||
@@ -90,6 +90,10 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
|||||||
*addr = (*addr & 0xFFFFFC00) | ((value >> 32) & 0x3FF);
|
*addr = (*addr & 0xFFFFFC00) | ((value >> 32) & 0x3FF);
|
||||||
break;
|
break;
|
||||||
case R_SPARC_HI22: /* 9 V-imm22 */
|
case R_SPARC_HI22: /* 9 V-imm22 */
|
||||||
|
if (value >> 32)
|
||||||
|
return grub_error (GRUB_ERR_BAD_MODULE,
|
||||||
|
"address out of 32 bits range");
|
||||||
|
case R_SPARC_LM22:
|
||||||
*addr = (*addr & 0xFFC00000) | ((value >> 10) & 0x3FFFFF);
|
*addr = (*addr & 0xFFC00000) | ((value >> 10) & 0x3FFFFF);
|
||||||
break;
|
break;
|
||||||
case R_SPARC_LO10: /* 12 T-simm13 */
|
case R_SPARC_LO10: /* 12 T-simm13 */
|
||||||
|
|||||||
Reference in new issue
Block a user