Home | History | Annotate | Line # | Download | only in bfd
arc-plt.def revision 1.1
      1  1.1  christos /* Arc V2 Related PLT entries.
      2  1.1  christos    Copyright (C) 2016 Free Software Foundation, Inc.
      3  1.1  christos    Contributed by Cupertino Miranda (cmiranda (at) synopsys.com).
      4  1.1  christos 
      5  1.1  christos    This file is part of BFD, the Binary File Descriptor library.
      6  1.1  christos 
      7  1.1  christos    This program is free software; you can redistribute it and/or modify
      8  1.1  christos    it under the terms of the GNU General Public License as published by
      9  1.1  christos    the Free Software Foundation; either version 3 of the License, or
     10  1.1  christos    (at your option) any later version.
     11  1.1  christos 
     12  1.1  christos    This program is distributed in the hope that it will be useful,
     13  1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     14  1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15  1.1  christos    GNU General Public License for more details.
     16  1.1  christos 
     17  1.1  christos    You should have received a copy of the GNU General Public License
     18  1.1  christos    along with this program; if not, write to the Free Software
     19  1.1  christos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     20  1.1  christos    MA 02110-1301, USA.  */
     21  1.1  christos 
     22  1.1  christos PLT_TYPE_START (ELF_ARCV2_PIC)
     23  1.1  christos   PLT_ENTRY (0x2730, 0x7f8b, 0x0000, 0x0000) /* ld %r11, [pcl,0] : 0 to be replaced by _DYNAMIC@GOTPC+4 */
     24  1.1  christos   PLT_ENTRY (0x2730, 0x7f8a, 0x0000, 0x0000) /* ld %r10, [pcl,0] : 0 to be replaced by _DYNAMIC@GOTPC+8 */
     25  1.1  christos   PLT_ENTRY (0x2020, 0x0280)		    /* j [%r10] */
     26  1.1  christos   PLT_ENTRY (0x0,0x0,0x0,0x0,0x0,0x0)	    /* padding */
     27  1.1  christos 
     28  1.1  christos   PLT_ELEM (0x2730, 0x7f8c, 0x0000, 0x0000) /* ld %r12, [%pc,func@got] */
     29  1.1  christos   PLT_ELEM (0x2021, 0x0300)		   /* j.d [%r12] */
     30  1.1  christos   PLT_ELEM (0x240a, 0x1fc0)		   /* mov %r12, %pcl */
     31  1.1  christos 
     32  1.1  christos   ENTRY_RELOC (4, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 4)
     33  1.1  christos   ENTRY_RELOC (12, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 8)
     34  1.1  christos   ENTRY_RELOC (20, 32, 0xFFFFFFFF, SGOT, 0)
     35  1.1  christos 
     36  1.1  christos   ELEM_RELOC (4, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 0)
     37  1.1  christos 
     38  1.1  christos PLT_TYPE_END (ELF_ARCV2_PIC)
     39  1.1  christos 
     40  1.1  christos PLT_TYPE_START (ELF_ARCV2_ABS)
     41  1.1  christos   PLT_ENTRY (0x1600,0x700b,0x0000,0x0000)  /* ld %r11, [0] */
     42  1.1  christos   PLT_ENTRY (0x1600,0x700a,0x0000,0x0000)  /* ld %r10, [0] */
     43  1.1  christos   PLT_ENTRY (0x2020,0x0280)		  /* j [%r10] */
     44  1.1  christos   PLT_ENTRY (0x0,0x0,0x0,0x0,0x0,0x0)	  /* padding */
     45  1.1  christos 
     46  1.1  christos   PLT_ELEM (0x2730, 0x7f8c, 0x0000, 0x0000) /* ld %r12, [%pcl,func@gotpc] */
     47  1.1  christos   PLT_ELEM (0x2021,0x0300)		   /* j.d [%r12] */
     48  1.1  christos   PLT_ELEM (0x240a,0x1fc0)		   /* mov %r12, %pcl */
     49  1.1  christos 
     50  1.1  christos   ENTRY_RELOC (4, 32, 0xFFFFFFFF, SGOT | MIDDLE_ENDIAN, 4)
     51  1.1  christos   ENTRY_RELOC (12, 32, 0xFFFFFFFF, SGOT | MIDDLE_ENDIAN, 8)
     52  1.1  christos   ENTRY_RELOC (20, 32, 0xFFFFFFFF, SGOT, 0)
     53  1.1  christos 
     54  1.1  christos   ELEM_RELOC (4, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 0)
     55  1.1  christos 
     56  1.1  christos PLT_TYPE_END (ELF_ARCV2_ABS)
     57  1.1  christos 
     58  1.1  christos 
     59  1.1  christos /* Non Arc V2 Related PLT entries.  */
     60  1.1  christos 
     61  1.1  christos PLT_TYPE_START (ELF_ARC_PIC)
     62  1.1  christos   PLT_ENTRY (0x2730,0x7f8b,0x0000,0x0000) /* ld %r11, [pcl,0] : 0 to be replaced by _DYNAMIC@GOTPC+4 */
     63  1.1  christos   PLT_ENTRY (0x2730,0x7f8a,0x0000,0x0000) /* ld %r10, [pcl,0] : 0 to be replaced by -DYNAMIC@GOTPC+8  */
     64  1.1  christos   PLT_ENTRY (0x2020,0x0280)		 /* j [%r10] */
     65  1.1  christos   PLT_ENTRY (0x0,0x0)			 /* padding */
     66  1.1  christos 
     67  1.1  christos   PLT_ELEM (0x2730,0x7f8c,0x0000,0x0000)  /* ld %r12, [%pc,func@got]   */
     68  1.1  christos   PLT_ELEM (0x7c20)			 /* j_s.d [%r12]	      */
     69  1.1  christos   PLT_ELEM (0x74ef)			 /* mov_s %r12, %pcl          */
     70  1.1  christos 
     71  1.1  christos   ENTRY_RELOC (4, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 4)
     72  1.1  christos   ENTRY_RELOC (12, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 8)
     73  1.1  christos   ENTRY_RELOC (20, 32, 0xFFFFFFFF, SGOT, 0)
     74  1.1  christos 
     75  1.1  christos   ELEM_RELOC (4, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 0)
     76  1.1  christos 
     77  1.1  christos PLT_TYPE_END (ELF_ARC_PIC)
     78  1.1  christos 
     79  1.1  christos PLT_TYPE_START (ELF_ARC_ABS)
     80  1.1  christos   PLT_ENTRY (0x1600,0x700b,0x0000,0x0000) /* ld %r11, [0] */
     81  1.1  christos   PLT_ENTRY (0x1600,0x700a,0x0000,0x0000) /* ld %r10, [0] */
     82  1.1  christos   PLT_ENTRY (0x2020,0x0280)		 /* j [%r10] */
     83  1.1  christos   PLT_ENTRY (0x0,0x0)			 /* padding */
     84  1.1  christos 
     85  1.1  christos   PLT_ELEM (0x2730,0x7f8c,0x0000,0x0000) /* ld %r12, [%pc,func@gotpc] */
     86  1.1  christos   PLT_ELEM (0x7c20,0x74ef)		/* mov_s %r12, %pcl          */
     87  1.1  christos 
     88  1.1  christos   ENTRY_RELOC (4, 32, 0xFFFFFFFF, SGOT | MIDDLE_ENDIAN, 4)
     89  1.1  christos   ENTRY_RELOC (12, 32, 0xFFFFFFFF, SGOT | MIDDLE_ENDIAN, 8)
     90  1.1  christos   ENTRY_RELOC (20, 32, 0xFFFFFFFF, SGOT, 0)
     91  1.1  christos 
     92  1.1  christos   ELEM_RELOC (4, 32, 0xFFFFFFFF, SGOT | RELATIVE_INSN_32 | MIDDLE_ENDIAN, 0)
     93  1.1  christos 
     94  1.1  christos PLT_TYPE_END (ELF_ARC_ABS)
     95