6278263355
With binutils 2.29 a runtime error is seen: Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 Backport upstream patch to fix the issue. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
43 lines
1.1 KiB
Diff
43 lines
1.1 KiB
Diff
From 9db18d93811153fc9a70c9844fadc6fdf7cbbb64 Mon Sep 17 00:00:00 2001
|
|
From: Waldemar Brodkorb <wbx@uclibc-ng.org>
|
|
Date: Sun, 6 Aug 2017 21:15:50 +0200
|
|
Subject: [PATCH] microblaze: handle R_MICROBLAZE_NONE for ld.so bootstrap
|
|
|
|
Latest binutils 2.29 release emits a R_MICROBLAZE_NONE
|
|
relocation, which breaks shared library loader bootstrap
|
|
relocation.
|
|
|
|
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
|
|
---
|
|
ldso/ldso/microblaze/dl-startup.h | 7 ++-----
|
|
1 file changed, 2 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/ldso/ldso/microblaze/dl-startup.h b/ldso/ldso/microblaze/dl-startup.h
|
|
index 720c53a..16d5762 100644
|
|
--- a/ldso/ldso/microblaze/dl-startup.h
|
|
+++ b/ldso/ldso/microblaze/dl-startup.h
|
|
@@ -82,18 +82,15 @@ static __always_inline
|
|
void PERFORM_BOOTSTRAP_RELOC(ELF_RELOC *rpnt, unsigned long *reloc_addr,
|
|
unsigned long symbol_addr, unsigned long load_addr, attribute_unused Elf32_Sym *symtab)
|
|
{
|
|
-
|
|
switch (ELF_R_TYPE(rpnt->r_info))
|
|
{
|
|
case R_MICROBLAZE_REL:
|
|
-
|
|
*reloc_addr = load_addr + rpnt->r_addend;
|
|
break;
|
|
-
|
|
+ case R_MICROBLAZE_NONE:
|
|
+ break;
|
|
default:
|
|
_dl_exit(1);
|
|
break;
|
|
-
|
|
}
|
|
-
|
|
}
|
|
--
|
|
2.1.4
|
|
|