[PATCH] kbuild: fix and improve MIPS REL handling

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Atsushi Nemoto
Date: Monday, May 21, 2007 - 9:23 am

Add R_MIPS_32 relocation case.
And there is no need to do sign-extention on calculation of addend.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
---
This is a patch against kbuild-tree.

--- linux-kbuild/scripts/mod/modpost.c	2007-05-22 01:14:45.000000000 +0900
+++ linux/scripts/mod/modpost.c	2007-05-22 01:11:03.000000000 +0900
@@ -967,11 +967,14 @@ static int addend_mips_rel(struct elf_in
 	inst = TO_NATIVE(*location);
 	switch (r_typ) {
 	case R_MIPS_LO16:
-		r->r_addend = ((inst & 0xffff) ^ 0x8000) - 0x8000;
+		r->r_addend = inst & 0xffff;
 		break;
 	case R_MIPS_26:
 		r->r_addend = (inst & 0x03ffffff) << 2;
 		break;
+	case R_MIPS_32:
+		r->r_addend = inst;
+		break;
 	}
 	return 0;
 }
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] kbuild: fix and improve MIPS REL handling , Atsushi Nemoto, (Mon May 21, 9:23 am)