Hi Marex,
thanks,
Acked-by: Angelo Dureghello <[email protected]>
On 27/08/23 12:29 AM, Marek Vasut wrote:
On 8/26/23 09:44, Angelo Dureghello wrote:
Hi Marek,
thanks a lot for the job i should have done.
Tested on real hw:
m5282evb worked out of the box
mcf54415 not working,
had a lot of unsupported relocation type for R_68K_JMP_SLOT
mcf5307 need to fix the hw, will do in short
i had to add this fix:
diff --git a/tools/relocate-rela.c b/tools/relocate-rela.c
index 2d008c7f60..9722a6291a 100644
--- a/tools/relocate-rela.c
+++ b/tools/relocate-rela.c
@@ -40,6 +40,10 @@
#define R_68K_GLOB_DAT 20
#endif
+#ifndef R_68K_JMP_SLOT
+#define R_68K_JMP_SLOT 21
+#endif
+
#ifndef R_68K_RELATIVE
#define R_68K_RELATIVE 22
#endif
@@ -531,6 +535,9 @@ static bool supported_rela32(Elf32_Rela *rela,
uint32_t *type)
case R_68K_RELATIVE:
debug("R_68K_RELATIVE\n");
return true;
+ case R_68K_JMP_SLOT:
+ debug("R_68K_JMP_SLOT\n");
+ return true;
}
} else {
switch (*type) {
@@ -631,8 +638,9 @@ static int rela_elf32(char **argv, FILE *f)
return 4;
}
} else if ((machine == EM_M68K &&
- (type == R_68K_32 || type ==
R_68K_GLOB_DAT)) ||
- (machine == EM_MICROBLAZE &&
+ (type == R_68K_32 || type ==
R_68K_GLOB_DAT ||
+ type == R_68K_JMP_SLOT)) ||
+ (machine == EM_MICROBLAZE &&
(type == R_MICROBLAZE_32 ||
type == R_MICROBLAZE_GLOB_DAT))) {
/* global symbols read it and add reloc
offset */
Wrapped into V2, thanks