[PATCH] Put absolute address jump table in data.rel.ro.local if targets support relocations

HAO CHEN GUI guihaoc@linux.ibm.com
Mon Sep 28 00:52:51 GMT 2020


Hi,

Gentle ping this:

https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553809.html

Thanks

Gui Haochen

On 14/9/2020 上午 11:01, HAO CHEN GUI wrote:
> Hi,
>
>   Jump tables are put into text or rodata section originally. On some 
> platforms, it gains the performance benefit from absolute address jump 
> tables. So I want to let absolute address jump table be relocatable.  
> This patch puts absolute jump table in read only relocation section if 
> the target supports relocations.
>
>         /* Judge if it's a absolute jump table. Set relocatable for
>            absolute jump table if the target supports relocations.  */
>
>         if (!CASE_VECTOR_PC_RELATIVE
>             && !targetm.asm_out.generate_pic_addr_diff_vec ())
>            relocatable = targetm.asm_out.reloc_rw_mask ();
>
>         switch_to_section (targetm.asm_out.function_rodata_section
>
>                                       (current_function_decl, 
> relocatable));
>
> The attachments are the patch diff file and change log file.
>
> Bootstrapped and tested on powerpc64le-linux-gnu with no regressions.  
> Is this okay for trunk? Any recommendations? Thanks a lot.
>


More information about the Gcc-patches mailing list