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
/* VAX ELF support for BFD.
1
/* VAX ELF support for BFD.
2
   Copyright (C) 2002, 2010 Free Software Foundation, Inc.
2
   Copyright (C) 2002-2015 Free Software Foundation, Inc.
3
   Contributed by Matt Thomas .
3
   Contributed by Matt Thomas .
4
 
4
 
5
   This file is part of BFD, the Binary File Descriptor library.
5
   This file is part of BFD, the Binary File Descriptor library.
6
 
6
 
7
   This program is free software; you can redistribute it and/or modify
7
   This program is free software; you can redistribute it and/or modify
8
   it under the terms of the GNU General Public License as published by
8
   it under the terms of the GNU General Public License as published by
9
   the Free Software Foundation; either version 3 of the License, or
9
   the Free Software Foundation; either version 3 of the License, or
10
   (at your option) any later version.
10
   (at your option) any later version.
11
 
11
 
12
   This program is distributed in the hope that it will be useful,
12
   This program is distributed in the hope that it will be useful,
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
   GNU General Public License for more details.
15
   GNU General Public License for more details.
16
 
16
 
17
   You should have received a copy of the GNU General Public License
17
   You should have received a copy of the GNU General Public License
18
   along with this program; if not, write to the Free Software Foundation,
18
   along with this program; if not, write to the Free Software Foundation,
19
   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
19
   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20
 
20
 
21
#ifndef _ELF_VAX_H
21
#ifndef _ELF_VAX_H
22
#define _ELF_VAX_H
22
#define _ELF_VAX_H
23
 
23
 
24
#include "elf/reloc-macros.h"
24
#include "elf/reloc-macros.h"
25
 
25
 
26
/* Relocation types.  */
26
/* Relocation types.  */
27
START_RELOC_NUMBERS (elf_vax_reloc_type)
27
START_RELOC_NUMBERS (elf_vax_reloc_type)
28
  RELOC_NUMBER (R_VAX_NONE, 0)		/* No reloc */
28
  RELOC_NUMBER (R_VAX_NONE, 0)		/* No reloc */
29
  RELOC_NUMBER (R_VAX_32, 1)		/* Direct 32 bit  */
29
  RELOC_NUMBER (R_VAX_32, 1)		/* Direct 32 bit  */
30
  RELOC_NUMBER (R_VAX_16, 2)		/* Direct 16 bit  */
30
  RELOC_NUMBER (R_VAX_16, 2)		/* Direct 16 bit  */
31
  RELOC_NUMBER (R_VAX_8, 3)		/* Direct 8 bit  */
31
  RELOC_NUMBER (R_VAX_8, 3)		/* Direct 8 bit  */
32
  RELOC_NUMBER (R_VAX_PC32, 4)		/* PC relative 32 bit */
32
  RELOC_NUMBER (R_VAX_PC32, 4)		/* PC relative 32 bit */
33
  RELOC_NUMBER (R_VAX_PC16, 5)		/* PC relative 16 bit */
33
  RELOC_NUMBER (R_VAX_PC16, 5)		/* PC relative 16 bit */
34
  RELOC_NUMBER (R_VAX_PC8, 6)		/* PC relative 8 bit */
34
  RELOC_NUMBER (R_VAX_PC8, 6)		/* PC relative 8 bit */
35
  RELOC_NUMBER (R_VAX_GOT32, 7)		/* 32 bit PC relative GOT entry */
35
  RELOC_NUMBER (R_VAX_GOT32, 7)		/* 32 bit PC relative GOT entry */
36
  RELOC_NUMBER (R_VAX_PLT32, 13)	/* 32 bit PC relative PLT address */
36
  RELOC_NUMBER (R_VAX_PLT32, 13)	/* 32 bit PC relative PLT address */
37
  RELOC_NUMBER (R_VAX_COPY, 19)		/* Copy symbol at runtime */
37
  RELOC_NUMBER (R_VAX_COPY, 19)		/* Copy symbol at runtime */
38
  RELOC_NUMBER (R_VAX_GLOB_DAT, 20)	/* Create GOT entry */
38
  RELOC_NUMBER (R_VAX_GLOB_DAT, 20)	/* Create GOT entry */
39
  RELOC_NUMBER (R_VAX_JMP_SLOT, 21)	/* Create PLT entry */
39
  RELOC_NUMBER (R_VAX_JMP_SLOT, 21)	/* Create PLT entry */
40
  RELOC_NUMBER (R_VAX_RELATIVE, 22)	/* Adjust by program base */
40
  RELOC_NUMBER (R_VAX_RELATIVE, 22)	/* Adjust by program base */
41
  /* These are GNU extensions to enable C++ vtable garbage collection.  */
41
  /* These are GNU extensions to enable C++ vtable garbage collection.  */
42
  RELOC_NUMBER (R_VAX_GNU_VTINHERIT, 23)
42
  RELOC_NUMBER (R_VAX_GNU_VTINHERIT, 23)
43
  RELOC_NUMBER (R_VAX_GNU_VTENTRY, 24)
43
  RELOC_NUMBER (R_VAX_GNU_VTENTRY, 24)
44
END_RELOC_NUMBERS (R_VAX_max)   
44
END_RELOC_NUMBERS (R_VAX_max)   
45
 
45
 
46
/* Processor specific flags for the ELF header e_flags field.  */
46
/* Processor specific flags for the ELF header e_flags field.  */
47
#define EF_VAX_NONPIC		0x0001	/* Object contains non-PIC code */
47
#define EF_VAX_NONPIC		0x0001	/* Object contains non-PIC code */
48
#define EF_VAX_DFLOAT		0x0100	/* Object contains D-Float insn.  */
48
#define EF_VAX_DFLOAT		0x0100	/* Object contains D-Float insn.  */
49
#define EF_VAX_GFLOAT		0x0200	/* Object contains G-Float insn.  */
49
#define EF_VAX_GFLOAT		0x0200	/* Object contains G-Float insn.  */
50
 
50
 
51
#endif
51
#endif