]> sourceware.org Git - glibc.git/commitdiff
C-SKY: Add dynamic relocations to elf.h
authorMao Han <han_mao@c-sky.com>
Thu, 29 Nov 2018 17:32:13 +0000 (17:32 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 29 Nov 2018 17:32:13 +0000 (17:32 +0000)
* elf/elf.h (EM_CSKY, R_CKCORE_NONE, R_CKCORE_ADDR32)
(R_CKCORE_PCRELIMM8BY4, R_CKCORE_PCRELIMM11BY2, R_CKCORE_PCREL32)
(R_CKCORE_PCRELJSR_IMM11BY2, R_CKCORE_RELATIVE, R_CKCORE_COPY)
(R_CKCORE_GLOB_DAT, R_CKCORE_JUMP_SLOT, R_CKCORE_GOTOFF)
(R_CKCORE_GOTPC, R_CKCORE_GOT32, R_CKCORE_PLT32, R_CKCORE_ADDRGOT)
(R_CKCORE_ADDRPLT, R_CKCORE_PCREL_IMM26BY2, R_CKCORE_PCREL_IMM16BY2)
(R_CKCORE_PCREL_IMM16BY4, R_CKCORE_PCREL_IMM10BY2)
(R_CKCORE_PCREL_IMM10BY4, R_CKCORE_ADDR_HI16, R_CKCORE_ADDR_LO16)
(R_CKCORE_GOTPC_HI16, R_CKCORE_GOTPC_LO16, R_CKCORE_GOTOFF_HI16)
(R_CKCORE_GOTOFF_LO16, R_CKCORE_GOT12, R_CKCORE_GOT_HI16)
(R_CKCORE_GOT_LO16, R_CKCORE_PLT12, R_CKCORE_PLT_HI16)
(R_CKCORE_PLT_LO16, R_CKCORE_ADDRGOT_HI16, R_CKCORE_ADDRGOT_LO16)
(R_CKCORE_ADDRPLT_HI16, R_CKCORE_ADDRPLT_LO16)
(R_CKCORE_PCREL_JSR_IMM26BY2, R_CKCORE_TOFFSET_LO16)
(R_CKCORE_DOFFSET_LO16, R_CKCORE_PCREL_IMM18BY2)
(R_CKCORE_DOFFSET_IMM18, R_CKCORE_DOFFSET_IMM18BY2)
(R_CKCORE_DOFFSET_IMM18BY4, R_CKCORE_GOT_IMM18BY4)
(R_CKCORE_PLT_IMM18BY4, R_CKCORE_PCREL_IMM7BY4, R_CKCORE_TLS_LE32)
(R_CKCORE_TLS_IE32, R_CKCORE_TLS_GD32, R_CKCORE_TLS_LDM32)
(R_CKCORE_TLS_LDO32, R_CKCORE_TLS_DTPMOD32, R_CKCORE_TLS_DTPOFF32)
(R_CKCORE_TLS_TPOFF32): New defines.

ChangeLog
elf/elf.h

index 488774e236989b379729148ca56ce902487e6e70..7eaee6de41fa48d93466fb9257a309502f94cfbb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2018-11-29  Mao Han  <han_mao@c-sky.com>
+
+       * elf/elf.h (EM_CSKY, R_CKCORE_NONE, R_CKCORE_ADDR32)
+       (R_CKCORE_PCRELIMM8BY4, R_CKCORE_PCRELIMM11BY2, R_CKCORE_PCREL32)
+       (R_CKCORE_PCRELJSR_IMM11BY2, R_CKCORE_RELATIVE, R_CKCORE_COPY)
+       (R_CKCORE_GLOB_DAT, R_CKCORE_JUMP_SLOT, R_CKCORE_GOTOFF)
+       (R_CKCORE_GOTPC, R_CKCORE_GOT32, R_CKCORE_PLT32, R_CKCORE_ADDRGOT)
+       (R_CKCORE_ADDRPLT, R_CKCORE_PCREL_IMM26BY2, R_CKCORE_PCREL_IMM16BY2)
+       (R_CKCORE_PCREL_IMM16BY4, R_CKCORE_PCREL_IMM10BY2)
+       (R_CKCORE_PCREL_IMM10BY4, R_CKCORE_ADDR_HI16, R_CKCORE_ADDR_LO16)
+       (R_CKCORE_GOTPC_HI16, R_CKCORE_GOTPC_LO16, R_CKCORE_GOTOFF_HI16)
+       (R_CKCORE_GOTOFF_LO16, R_CKCORE_GOT12, R_CKCORE_GOT_HI16)
+       (R_CKCORE_GOT_LO16, R_CKCORE_PLT12, R_CKCORE_PLT_HI16)
+       (R_CKCORE_PLT_LO16, R_CKCORE_ADDRGOT_HI16, R_CKCORE_ADDRGOT_LO16)
+       (R_CKCORE_ADDRPLT_HI16, R_CKCORE_ADDRPLT_LO16)
+       (R_CKCORE_PCREL_JSR_IMM26BY2, R_CKCORE_TOFFSET_LO16)
+       (R_CKCORE_DOFFSET_LO16, R_CKCORE_PCREL_IMM18BY2)
+       (R_CKCORE_DOFFSET_IMM18, R_CKCORE_DOFFSET_IMM18BY2)
+       (R_CKCORE_DOFFSET_IMM18BY4, R_CKCORE_GOT_IMM18BY4)
+       (R_CKCORE_PLT_IMM18BY4, R_CKCORE_PCREL_IMM7BY4, R_CKCORE_TLS_LE32)
+       (R_CKCORE_TLS_IE32, R_CKCORE_TLS_GD32, R_CKCORE_TLS_LDM32)
+       (R_CKCORE_TLS_LDO32, R_CKCORE_TLS_DTPMOD32, R_CKCORE_TLS_DTPOFF32)
+       (R_CKCORE_TLS_TPOFF32): New defines.
+
 2018-11-29  Florian Weimer  <fweimer@redhat.com>
 
        * posix/Makefile (before-compile): Remove testcases.h and
index 69ffa2ec0e0765057620b599d5de7ea2aa8bd32d..d57313e9bbc7f6548e66b691f8f4ae92287af4d8 100644 (file)
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -360,8 +360,9 @@ typedef struct
 #define EM_RISCV       243     /* RISC-V */
 
 #define EM_BPF         247     /* Linux BPF -- in-kernel virtual machine */
+#define EM_CSKY                252     /* C_SKY */
 
-#define EM_NUM         248
+#define EM_NUM         253
 
 /* Old spellings/synonyms.  */
 
@@ -3021,6 +3022,70 @@ enum
 /* Keep this the last entry.  */
 #define R_ARM_NUM              256
 
+/* csky */
+#define R_CKCORE_NONE               0  /* no reloc */
+#define R_CKCORE_ADDR32             1  /* direct 32 bit (S + A) */
+#define R_CKCORE_PCRELIMM8BY4       2  /* disp ((S + A - P) >> 2) & 0xff   */
+#define R_CKCORE_PCRELIMM11BY2      3  /* disp ((S + A - P) >> 1) & 0x7ff  */
+#define R_CKCORE_PCREL32            5  /* 32-bit rel (S + A - P)           */
+#define R_CKCORE_PCRELJSR_IMM11BY2  6  /* disp ((S + A - P) >>1) & 0x7ff   */
+#define R_CKCORE_RELATIVE           9  /* 32 bit adjust program base(B + A)*/
+#define R_CKCORE_COPY               10 /* 32 bit adjust by program base    */
+#define R_CKCORE_GLOB_DAT           11 /* off between got and sym (S)      */
+#define R_CKCORE_JUMP_SLOT          12 /* PLT entry (S) */
+#define R_CKCORE_GOTOFF             13 /* offset to GOT (S + A - GOT)      */
+#define R_CKCORE_GOTPC              14 /* PC offset to GOT (GOT + A - P)   */
+#define R_CKCORE_GOT32              15 /* 32 bit GOT entry (G) */
+#define R_CKCORE_PLT32              16 /* 32 bit PLT entry (G) */
+#define R_CKCORE_ADDRGOT            17 /* GOT entry in GLOB_DAT (GOT + G)  */
+#define R_CKCORE_ADDRPLT            18 /* PLT entry in GLOB_DAT (GOT + G)  */
+#define R_CKCORE_PCREL_IMM26BY2     19 /* ((S + A - P) >> 1) & 0x3ffffff   */
+#define R_CKCORE_PCREL_IMM16BY2     20 /* disp ((S + A - P) >> 1) & 0xffff */
+#define R_CKCORE_PCREL_IMM16BY4     21 /* disp ((S + A - P) >> 2) & 0xffff */
+#define R_CKCORE_PCREL_IMM10BY2     22 /* disp ((S + A - P) >> 1) & 0x3ff  */
+#define R_CKCORE_PCREL_IMM10BY4     23 /* disp ((S + A - P) >> 2) & 0x3ff  */
+#define R_CKCORE_ADDR_HI16          24 /* high & low 16 bit ADDR */
+                                        /* ((S + A) >> 16) & 0xffff */
+#define R_CKCORE_ADDR_LO16          25 /* (S + A) & 0xffff */
+#define R_CKCORE_GOTPC_HI16         26 /* high & low 16 bit GOTPC */
+                                        /* ((GOT + A - P) >> 16) & 0xffff */
+#define R_CKCORE_GOTPC_LO16         27 /* (GOT + A - P) & 0xffff */
+#define R_CKCORE_GOTOFF_HI16        28 /* high & low 16 bit GOTOFF */
+                                        /* ((S + A - GOT) >> 16) & 0xffff */
+#define R_CKCORE_GOTOFF_LO16        29 /* (S + A - GOT) & 0xffff */
+#define R_CKCORE_GOT12              30 /* 12 bit disp GOT entry (G) */
+#define R_CKCORE_GOT_HI16           31 /* high & low 16 bit GOT */
+                                        /* (G >> 16) & 0xffff */
+#define R_CKCORE_GOT_LO16           32 /* (G & 0xffff) */
+#define R_CKCORE_PLT12              33 /* 12 bit disp PLT entry (G) */
+#define R_CKCORE_PLT_HI16           34 /* high & low 16 bit PLT */
+                                        /* (G >> 16) & 0xffff */
+#define R_CKCORE_PLT_LO16           35 /* G & 0xffff */
+#define R_CKCORE_ADDRGOT_HI16       36 /* high & low 16 bit ADDRGOT */
+                                        /* (GOT + G * 4) & 0xffff */
+#define R_CKCORE_ADDRGOT_LO16       37 /* (GOT + G * 4) & 0xffff */
+#define R_CKCORE_ADDRPLT_HI16       38 /* high & low 16 bit ADDRPLT */
+                                        /* ((GOT + G * 4) >> 16) & 0xFFFF */
+#define R_CKCORE_ADDRPLT_LO16       39 /* (GOT+G*4) & 0xffff */
+#define R_CKCORE_PCREL_JSR_IMM26BY2 40 /* disp ((S+A-P) >>1) & x3ffffff */
+#define R_CKCORE_TOFFSET_LO16       41 /* (S+A-BTEXT) & 0xffff */
+#define R_CKCORE_DOFFSET_LO16       42 /* (S+A-BTEXT) & 0xffff */
+#define R_CKCORE_PCREL_IMM18BY2     43 /* disp ((S+A-P) >>1) & 0x3ffff */
+#define R_CKCORE_DOFFSET_IMM18      44 /* disp (S+A-BDATA) & 0x3ffff */
+#define R_CKCORE_DOFFSET_IMM18BY2   45 /* disp ((S+A-BDATA)>>1) & 0x3ffff */
+#define R_CKCORE_DOFFSET_IMM18BY4   46 /* disp ((S+A-BDATA)>>2) & 0x3ffff */
+#define R_CKCORE_GOT_IMM18BY4       48 /* disp (G >> 2) */
+#define R_CKCORE_PLT_IMM18BY4       49 /* disp (G >> 2) */
+#define R_CKCORE_PCREL_IMM7BY4      50 /* disp ((S+A-P) >>2) & 0x7f */
+#define R_CKCORE_TLS_LE32           51 /* 32 bit offset to TLS block */
+#define R_CKCORE_TLS_IE32           52
+#define R_CKCORE_TLS_GD32           53
+#define R_CKCORE_TLS_LDM32          54
+#define R_CKCORE_TLS_LDO32          55
+#define R_CKCORE_TLS_DTPMOD32       56
+#define R_CKCORE_TLS_DTPOFF32       57
+#define R_CKCORE_TLS_TPOFF32        58
+
 /* IA-64 specific declarations.  */
 
 /* Processor specific flags for the Ehdr e_flags field.  */
This page took 0.300233 seconds and 5 git commands to generate.