[BusyBox] insmod ppc quickfix
Magnus Damm
damm at opensource.se
Wed May 22 07:34:05 UTC 2002
Hi all,
I've investigated the insmod-powerpc-global-variable-problem a bit,
and I found three possible problems:
1) R_PPC_ADDR32 is not handled correctly.
2) tlb tables are linked lists in the powerpc.
The current busybox implementation only support single elements.
3) archdata "__dbe_table" is not used by the busybox implementation.
The attached patch will fix 1), and that is probably the bug that
has given you headache. Sorry about that.
I'm not sure what effect 2) and 3) has.
I am working on a insmod megapatch which fixes all the problems above.
Please test the attached patch.
Thanks /
magnus
-------------- next part --------------
--- busybox-0.60.3/insmod.c Sat Apr 27 06:12:55 2002
+++ busybox-0.60.3-insmod_quickfix/insmod.c Wed May 22 14:59:49 2002
@@ -825,8 +825,6 @@
case R_386_32:
#elif defined(__mc68000__)
case R_68K_32:
-#elif defined(__powerpc__)
- case R_PPC_ADDR32:
#elif defined(__mips__)
case R_MIPS_32:
#endif
@@ -857,6 +855,10 @@
case R_PPC_ADDR16_LO:
*(unsigned short *)loc = v;
break;
+
+ case R_PPC_ADDR32:
+ *loc = v;
+ break;
#endif
#if defined(__mips__)
More information about the busybox
mailing list