Subversion Repositories Kolibri OS

Rev

Rev 5191 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* reloc.h -- Header file for relocation information.
  2.    Copyright (C) 1989-2015 Free Software Foundation, Inc.
  3.  
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 3 of the License, or
  7.    (at your option) any later version.
  8.  
  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU General Public License
  15.    along with this program; if not, write to the Free Software
  16.    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
  17.    MA 02110-1301, USA.  */
  18.  
  19. /* Relocation types for a.out files using reloc_info_extended
  20.    (SPARC and AMD 29000). */
  21.  
  22. #ifndef _RELOC_H_READ_
  23. #define _RELOC_H_READ_ 1
  24.  
  25. enum reloc_type
  26.   {
  27.     RELOC_8,        RELOC_16,        RELOC_32, /* simple relocations */
  28.     RELOC_DISP8,    RELOC_DISP16,    RELOC_DISP32, /* pc-rel displacement */
  29.     RELOC_WDISP30,  RELOC_WDISP22,
  30.     RELOC_HI22,     RELOC_22,
  31.     RELOC_13,       RELOC_LO10,
  32.     RELOC_SFA_BASE, RELOC_SFA_OFF13,
  33.     RELOC_BASE10,   RELOC_BASE13,    RELOC_BASE22, /* P.I.C. (base-relative) */
  34.     RELOC_PC10,     RELOC_PC22, /* for some sort of pc-rel P.I.C. (?) */
  35.     RELOC_JMP_TBL,              /* P.I.C. jump table */
  36.     RELOC_SEGOFF16,             /* reputedly for shared libraries somehow */
  37.     RELOC_GLOB_DAT,  RELOC_JMP_SLOT, RELOC_RELATIVE,
  38.     RELOC_11,
  39.     RELOC_WDISP2_14,
  40.     RELOC_WDISP19,
  41.     RELOC_HHI22,
  42.     RELOC_HLO10,
  43.    
  44.     /* 29K relocation types */
  45.     RELOC_JUMPTARG, RELOC_CONST,     RELOC_CONSTH,
  46.    
  47.     RELOC_WDISP14, RELOC_WDISP21,
  48.    
  49.     NO_RELOC
  50.     };
  51.  
  52. #define RELOC_TYPE_NAMES \
  53. "8",            "16",           "32",           "DISP8",        \
  54. "DISP16",       "DISP32",       "WDISP30",      "WDISP22",      \
  55. "HI22",         "22",           "13",           "LO10",         \
  56. "SFA_BASE",     "SFAOFF13",     "BASE10",       "BASE13",       \
  57. "BASE22",       "PC10",         "PC22",         "JMP_TBL",      \
  58. "SEGOFF16",     "GLOB_DAT",     "JMP_SLOT",     "RELATIVE",     \
  59. "11",           "WDISP2_14",    "WDISP19",      "HHI22",        \
  60. "HLO10",                                                        \
  61. "JUMPTARG",     "CONST",        "CONSTH",       "WDISP14",      \
  62. "WDISP21",      \
  63. "NO_RELOC"
  64.  
  65. #endif /* _RELOC_H_READ_ */
  66.  
  67. /* end of reloc.h */
  68.