Subversion Repositories Kolibri OS

Rev

Rev 5191 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5191 Rev 6324
1
/* i860 ELF support for BFD.
1
/* i860 ELF support for BFD.
2
   Copyright 2000, 2010 Free Software Foundation, Inc.
2
   Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
 
3
 
4
   Contributed by Jason Eckhardt .
4
   Contributed by Jason Eckhardt .
5
 
5
 
6
   This file is part of BFD, the Binary File Descriptor library.
6
   This file is part of BFD, the Binary File Descriptor library.
7
 
7
 
8
   This program is free software; you can redistribute it and/or modify
8
   This program is free software; you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation; either version 3 of the License, or
10
   the Free Software Foundation; either version 3 of the License, or
11
   (at your option) any later version.
11
   (at your option) any later version.
12
 
12
 
13
   This program is distributed in the hope that it will be useful,
13
   This program is distributed in the hope that it will be useful,
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
   GNU General Public License for more details.
16
   GNU General Public License for more details.
17
 
17
 
18
   You should have received a copy of the GNU General Public License
18
   You should have received a copy of the GNU General Public License
19
   along with this program; if not, write to the Free Software Foundation,
19
   along with this program; if not, write to the Free Software Foundation,
20
   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20
   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
21
 
21
 
22
#ifndef _ELF_I860_H
22
#ifndef _ELF_I860_H
23
#define _ELF_I860_H
23
#define _ELF_I860_H
24
 
24
 
25
/* Note: i860 ELF is defined to use only RELA relocations.  */
25
/* Note: i860 ELF is defined to use only RELA relocations.  */
26
 
26
 
27
#include "elf/reloc-macros.h"
27
#include "elf/reloc-macros.h"
28
 
28
 
29
START_RELOC_NUMBERS (elf_i860_reloc_type)
29
START_RELOC_NUMBERS (elf_i860_reloc_type)
30
     RELOC_NUMBER (R_860_NONE,      0x00)	/* No reloc */
30
     RELOC_NUMBER (R_860_NONE,      0x00)	/* No reloc */
31
     RELOC_NUMBER (R_860_32,        0x01)	/* S+A  */
31
     RELOC_NUMBER (R_860_32,        0x01)	/* S+A  */
32
     RELOC_NUMBER (R_860_COPY,	    0x02)	/* No calculation */
32
     RELOC_NUMBER (R_860_COPY,	    0x02)	/* No calculation */
33
     RELOC_NUMBER (R_860_GLOB_DAT,  0x03)	/* S, Create GOT entry */
33
     RELOC_NUMBER (R_860_GLOB_DAT,  0x03)	/* S, Create GOT entry */
34
     RELOC_NUMBER (R_860_JUMP_SLOT, 0x04)	/* S+A, Create PLT entry */
34
     RELOC_NUMBER (R_860_JUMP_SLOT, 0x04)	/* S+A, Create PLT entry */
35
     RELOC_NUMBER (R_860_RELATIVE,  0x05)	/* B+A, Adj by program base */
35
     RELOC_NUMBER (R_860_RELATIVE,  0x05)	/* B+A, Adj by program base */
36
     RELOC_NUMBER (R_860_PC26,      0x30)	/* (S+A-P) >> 2 */ 
36
     RELOC_NUMBER (R_860_PC26,      0x30)	/* (S+A-P) >> 2 */ 
37
     RELOC_NUMBER (R_860_PLT26,	    0x31)	/* (L+A-P) >> 2 */
37
     RELOC_NUMBER (R_860_PLT26,	    0x31)	/* (L+A-P) >> 2 */
38
     RELOC_NUMBER (R_860_PC16,      0x32)	/* (S+A-P) >> 2 */
38
     RELOC_NUMBER (R_860_PC16,      0x32)	/* (S+A-P) >> 2 */
39
     RELOC_NUMBER (R_860_LOW0,      0x40)	/* S+A */
39
     RELOC_NUMBER (R_860_LOW0,      0x40)	/* S+A */
40
     RELOC_NUMBER (R_860_SPLIT0,    0x42)	/* S+A */       
40
     RELOC_NUMBER (R_860_SPLIT0,    0x42)	/* S+A */       
41
     RELOC_NUMBER (R_860_LOW1,      0x44)	/* S+A */
41
     RELOC_NUMBER (R_860_LOW1,      0x44)	/* S+A */
42
     RELOC_NUMBER (R_860_SPLIT1,    0x46)	/* S+A */
42
     RELOC_NUMBER (R_860_SPLIT1,    0x46)	/* S+A */
43
     RELOC_NUMBER (R_860_LOW2,      0x48)	/* S+A */
43
     RELOC_NUMBER (R_860_LOW2,      0x48)	/* S+A */
44
     RELOC_NUMBER (R_860_SPLIT2,    0x4A)	/* S+A */
44
     RELOC_NUMBER (R_860_SPLIT2,    0x4A)	/* S+A */
45
     RELOC_NUMBER (R_860_LOW3,      0x4C)	/* S+A */
45
     RELOC_NUMBER (R_860_LOW3,      0x4C)	/* S+A */
46
     RELOC_NUMBER (R_860_LOGOT0,    0x50)	/* G */
46
     RELOC_NUMBER (R_860_LOGOT0,    0x50)	/* G */
47
     RELOC_NUMBER (R_860_SPGOT0,    0x52)	/* G */
47
     RELOC_NUMBER (R_860_SPGOT0,    0x52)	/* G */
48
     RELOC_NUMBER (R_860_LOGOT1,    0x54)	/* G */
48
     RELOC_NUMBER (R_860_LOGOT1,    0x54)	/* G */
49
     RELOC_NUMBER (R_860_SPGOT1,    0x56)	/* G */
49
     RELOC_NUMBER (R_860_SPGOT1,    0x56)	/* G */
50
     RELOC_NUMBER (R_860_LOGOTOFF0, 0x60)	/* O */
50
     RELOC_NUMBER (R_860_LOGOTOFF0, 0x60)	/* O */
51
     RELOC_NUMBER (R_860_SPGOTOFF0, 0x62)	/* O */
51
     RELOC_NUMBER (R_860_SPGOTOFF0, 0x62)	/* O */
52
     RELOC_NUMBER (R_860_LOGOTOFF1, 0x64)	/* O */
52
     RELOC_NUMBER (R_860_LOGOTOFF1, 0x64)	/* O */
53
     RELOC_NUMBER (R_860_SPGOTOFF1, 0x66)	/* O */
53
     RELOC_NUMBER (R_860_SPGOTOFF1, 0x66)	/* O */
54
     RELOC_NUMBER (R_860_LOGOTOFF2, 0x68)	/* O */
54
     RELOC_NUMBER (R_860_LOGOTOFF2, 0x68)	/* O */
55
     RELOC_NUMBER (R_860_LOGOTOFF3, 0x6C)	/* O */
55
     RELOC_NUMBER (R_860_LOGOTOFF3, 0x6C)	/* O */
56
     RELOC_NUMBER (R_860_LOPC,      0x70)	/* (S+A-P) >> 2 */
56
     RELOC_NUMBER (R_860_LOPC,      0x70)	/* (S+A-P) >> 2 */
57
     RELOC_NUMBER (R_860_HIGHADJ,   0x80)	/* hiadj(S+A) */
57
     RELOC_NUMBER (R_860_HIGHADJ,   0x80)	/* hiadj(S+A) */
58
     RELOC_NUMBER (R_860_HAGOT,     0x90)	/* hiadj(G) */
58
     RELOC_NUMBER (R_860_HAGOT,     0x90)	/* hiadj(G) */
59
     RELOC_NUMBER (R_860_HAGOTOFF,  0xA0)	/* hiadj(O) */
59
     RELOC_NUMBER (R_860_HAGOTOFF,  0xA0)	/* hiadj(O) */
60
     RELOC_NUMBER (R_860_HAPC,      0xB0)	/* hiadj((S+A-P) >> 2) */
60
     RELOC_NUMBER (R_860_HAPC,      0xB0)	/* hiadj((S+A-P) >> 2) */
61
     RELOC_NUMBER (R_860_HIGH,      0xC0)	/* (S+A) >> 16 */
61
     RELOC_NUMBER (R_860_HIGH,      0xC0)	/* (S+A) >> 16 */
62
     RELOC_NUMBER (R_860_HIGOT,     0xD0)	/* G >> 16 */
62
     RELOC_NUMBER (R_860_HIGOT,     0xD0)	/* G >> 16 */
63
     RELOC_NUMBER (R_860_HIGOTOFF,  0xE0)	/* O */
63
     RELOC_NUMBER (R_860_HIGOTOFF,  0xE0)	/* O */
64
END_RELOC_NUMBERS (R_860_max)
64
END_RELOC_NUMBERS (R_860_max)
65
 
65
 
66
#endif
66
#endif