Reuse of reloc_howto_type depending on section
Martin Walter
martin.walter@gmail.com
Mon Jul 27 19:06:00 GMT 2009
More information about the Binutils mailing list
Mon Jul 27 19:06:00 GMT 2009
- Previous message (by thread): Reuse of reloc_howto_type depending on section
- Next message (by thread): Reuse of reloc_howto_type depending on section
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2009/7/27 Dave Korn <dave.korn.cygwin@googlemail.com>: > Martin Walter wrote: > >> I am currently porting the Binutils to a new architecture and ask for >> your help in the following issue: The target architecture requires all >> addresses to the instruction memory (in control transfer instructions) >> to be multiples of 2 (since all instructions are 16 bits wide and >> properly aligned), whereas the data memory can be accessed on a per >> byte basis. Now, the assembler allows for functions lo(), hi(), 3rd(), >> 4th() within load instructions to extract portions of a symbol, and >> these are used to access both the instruction memory and the data >> memory. >> >> What I would like to do is to let relocations be right shifted by an >> additional 1 if the symbol within lo(), hi(), etc. refers to the .text >> section. Currently, all symbols are right shifted by this amount in >> the relocation process (but this is a failure for symbols referring to >> the data memory). > >> /* A second byte absolute relocation of 32-bit address. */ >> HOWTO (R_SPEAR32_HI, /* type */ >> 9, /* rightshift */ > > > Would it be simplest to define two different relocations, R_SPEAR32_HI and > R_SPEAR32_HI_TEXT for example, that use different rightshift values, and take > care to emit the correct one according to the symbol section in the assembler > when parsing the lo()/hi()/etc. ? > > cheers, > DaveK > Hi DaveK, I also thought about this solution, but the parse function of the assembler has signature (CGEN_CPU_DESC cd, const char **strp, int opindex, long *valuep) and therefore does not include any information about the section of the symbol. By the way, to anyone who reads this, I do not rely on reusing the reloc_howto_type, any solution would be great! Thank you, Martin
- Previous message (by thread): Reuse of reloc_howto_type depending on section
- Next message (by thread): Reuse of reloc_howto_type depending on section
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list