This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH-SH]:Generating proper relocations to link withRenesasSHC linker


> > My earlier patch was for this specific purpose which is Renesas specific.
> > Can this patch be added for -mhitachi or -mrenesas switch so that it can
> > be accepted by FSF? or Can you please suggest any other way to achieve this?

> No.  Such option doesn't make sense unless gas with it behaves like
> as the Renesas assembler, at least to some extent.  No one can approve
> your patch without concrete reasoning even if it conditinalized with
> -mrenesas.  You should show the folks how Renesas assembler does.

Hi,

Renesas assembler relocates local symbols against symbol values as 
mentioned below.

00000000 <bar-0x4>:
   0:   00 00           .word 0x0000
                        0: R_SH_DIR32   bar
        ...

Please consider following patch which also force relocation against symbol. 
This will make gas behave in the same way as renesas assembler would. Is it 
okay to conditinalize this patch with switch?


--- config/tc-sh.c.old	Thu Mar 11 16:21:08 2004
+++ config/tc-sh.c	Thu Mar 11 16:03:26 2004
@@ -3520,6 +3520,7 @@ sh_fix_adjustable (fixS *fixP)
   if (fixP->fx_r_type == BFD_RELOC_32_PLT_PCREL
       || fixP->fx_r_type == BFD_RELOC_32_GOT_PCREL
       || fixP->fx_r_type == BFD_RELOC_SH_GOTPC
+      || fixP->fx_r_type == BFD_RELOC_32
       || fixP->fx_r_type == BFD_RELOC_RVA)
     return 0;
 
This patch will also generate relocation against symbols. For example,

RELOCATION RECORDS FOR [.text]:
OFFSET   TYPE              VALUE
00000000 R_SH_DIR32        bar

Regarding ld testsuit failures, we are ready to make changes to the ld 
testsuit for this to get it approved by FSF.

Regards,
Asgari


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]