Re: R_ARM_REL32 relocation patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


I did google it around, also tried the workaround but that's still a
workaround I beleive. Eventually this has to be handled in the kernel.
Pls review, Thanks,

--- a/arch/arm/kernel/module.c  2009-07-20 16:57:49.000000000 -0500
+++ b/arch/arm/kernel/module.c  2009-07-28 14:13:06.000000000 -0500
@@ -132,6 +132,11 @@ apply_relocate(Elf32_Shdr *sechdrs, cons
                        *(u32 *)loc += sym->st_value;
                        break;

+               case R_ARM_REL32:
+                       offset = *(u32 *)loc + sym->st_value - loc;
+                       *(u32 *)loc = offset & 0xffffffff;
+                       break;
+
                case R_ARM_PC24:
                case R_ARM_CALL:
                case R_ARM_JUMP24:
--- a/arch/arm/include/asm/elf.h        2009-07-20 16:57:49.000000000 -0500
+++ b/arch/arm/include/asm/elf.h        2009-07-28 10:45:41.000000000 -0500
@@ -48,6 +48,7 @@ typedef struct user_fp elf_fpregset_t;
 #define R_ARM_NONE             0
 #define R_ARM_PC24             1
 #define R_ARM_ABS32            2
+#define R_ARM_REL32             3
 #define R_ARM_CALL             28
 #define R_ARM_JUMP24           29
 #define R_ARM_V4BX             40


On Tue, Jul 28, 2009 at 3:13 PM, Ben Dooks<ben-linux@xxxxxxxxx> wrote:
> On Tue, Jul 28, 2009 at 02:58:26PM -0500, Nitin Garg wrote:
>> Hi All,
>>
>> Pls review the attached patch for R_ARM_REL32 relocation handling.
>> Binutils 2.19.1 is adding the eh frame and hence we need to handle
>> R_ARM_REL32 for Loadable kernel modules.
>>
>> Thanks,
>> Nitin
>
> Please send patches inline so they can be reviewed (ie, turn up in
> the reply).
>
> Some simple looking around on google shows it may be easier to avoid
> generating these in the first place:
>
> http://forums.arm.com/index.php?s=766f87b528acd6be708a84cf3a58c02c&showtopic=8122&mode=threaded&pid=32358
>
> --
> Ben
>
> Q:      What's a light-year?
> A:      One-third less calories than a regular year.
>
>

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php


[Linux ARM]     [Linux ARM MSM]     [Linux ARM Kernel]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

Add to Google Follow linuxarm on Twitter