|
|
|
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]
![]() |
![]() |