Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. ARC_RELOC_HOWTO(ARC_NONE, 0, \
  2.                 2, \
  3.                 32, \
  4.                 replace_none, \
  5.                 bitfield, \
  6.                 0)
  7.  
  8. ARC_RELOC_HOWTO(ARC_8, 1, \
  9.                 0, \
  10.                 8, \
  11.                 replace_bits8, \
  12.                 bitfield, \
  13.                 ( S + A ))
  14.  
  15. ARC_RELOC_HOWTO(ARC_16, 2, \
  16.                 1, \
  17.                 16, \
  18.                 replace_bits16, \
  19.                 bitfield, \
  20.                 ( S + A ))
  21.  
  22. ARC_RELOC_HOWTO(ARC_24, 3, \
  23.                 2, \
  24.                 24, \
  25.                 replace_bits24, \
  26.                 bitfield, \
  27.                 ( S + A ))
  28.  
  29. ARC_RELOC_HOWTO(ARC_32, 4, \
  30.                 2, \
  31.                 32, \
  32.                 replace_word32, \
  33.                 bitfield, \
  34.                 ( S + A ))
  35.  
  36. ARC_RELOC_HOWTO(ARC_N8, 8, \
  37.                 0, \
  38.                 8, \
  39.                 replace_bits8, \
  40.                 bitfield, \
  41.                 ( S - A ))
  42.  
  43. ARC_RELOC_HOWTO(ARC_N16, 9, \
  44.                 1, \
  45.                 16, \
  46.                 replace_bits16, \
  47.                 bitfield, \
  48.                 ( S - A ))
  49.  
  50. ARC_RELOC_HOWTO(ARC_N24, 10, \
  51.                 2, \
  52.                 24, \
  53.                 replace_bits24, \
  54.                 bitfield, \
  55.                 ( S - A ))
  56.  
  57. ARC_RELOC_HOWTO(ARC_N32, 11, \
  58.                 2, \
  59.                 32, \
  60.                 replace_word32, \
  61.                 bitfield, \
  62.                 ( S - A ))
  63.  
  64. ARC_RELOC_HOWTO(ARC_SDA, 12, \
  65.                 2, \
  66.                 9, \
  67.                 replace_disp9, \
  68.                 bitfield, \
  69.                 ( S + A ))
  70.  
  71. ARC_RELOC_HOWTO(ARC_SECTOFF, 13, \
  72.                 2, \
  73.                 32, \
  74.                 replace_word32, \
  75.                 bitfield, \
  76.                 ( ( S - SECTSTART ) + A ))
  77.  
  78. ARC_RELOC_HOWTO(ARC_S21H_PCREL, 14, \
  79.                 2, \
  80.                 20, \
  81.                 replace_disp21h, \
  82.                 signed, \
  83.                 ( ( ( S + A ) - P ) >> 1 ))
  84.  
  85. ARC_RELOC_HOWTO(ARC_S21W_PCREL, 15, \
  86.                 2, \
  87.                 19, \
  88.                 replace_disp21w, \
  89.                 signed, \
  90.                 ( ( ( S + A ) - P ) >> 2 ))
  91.  
  92. ARC_RELOC_HOWTO(ARC_S25H_PCREL, 16, \
  93.                 2, \
  94.                 24, \
  95.                 replace_disp25h, \
  96.                 signed, \
  97.                 ( ( ( S + A ) - P ) >> 1 ))
  98.  
  99. ARC_RELOC_HOWTO(ARC_S25W_PCREL, 17, \
  100.                 2, \
  101.                 23, \
  102.                 replace_disp25w, \
  103.                 signed, \
  104.                 ( ( ( S + A ) - P ) >> 2 ))
  105.  
  106. ARC_RELOC_HOWTO(ARC_SDA32, 18, \
  107.                 2, \
  108.                 32, \
  109.                 replace_word32, \
  110.                 signed, \
  111.                 ( ( S + A ) - _SDA_BASE_ ))
  112.  
  113. ARC_RELOC_HOWTO(ARC_SDA_LDST, 19, \
  114.                 2, \
  115.                 9, \
  116.                 replace_disp9ls, \
  117.                 signed, \
  118.                 ( ( S + A ) - _SDA_BASE_ ))
  119.  
  120. ARC_RELOC_HOWTO(ARC_SDA_LDST1, 20, \
  121.                 2, \
  122.                 9, \
  123.                 replace_disp9ls, \
  124.                 signed, \
  125.                 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
  126.  
  127. ARC_RELOC_HOWTO(ARC_SDA_LDST2, 21, \
  128.                 2, \
  129.                 9, \
  130.                 replace_disp9ls, \
  131.                 signed, \
  132.                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
  133.  
  134. ARC_RELOC_HOWTO(ARC_SDA16_LD, 22, \
  135.                 1, \
  136.                 9, \
  137.                 replace_disp9s, \
  138.                 signed, \
  139.                 ( ( S + A ) - _SDA_BASE_ ))
  140.  
  141. ARC_RELOC_HOWTO(ARC_SDA16_LD1, 23, \
  142.                 1, \
  143.                 9, \
  144.                 replace_disp9s, \
  145.                 signed, \
  146.                 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
  147.  
  148. ARC_RELOC_HOWTO(ARC_SDA16_LD2, 24, \
  149.                 1, \
  150.                 9, \
  151.                 replace_disp9s, \
  152.                 signed, \
  153.                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
  154.  
  155. ARC_RELOC_HOWTO(ARC_S13_PCREL, 25, \
  156.                 1, \
  157.                 11, \
  158.                 replace_disp13s, \
  159.                 signed, \
  160.                 ( ( ( S + A ) - P ) >> 2 ))
  161.  
  162. ARC_RELOC_HOWTO(ARC_W, 26, \
  163.                 2, \
  164.                 32, \
  165.                 replace_word32, \
  166.                 bitfield, \
  167.                 ( ( S + A ) & ( ~3 ) ))
  168.  
  169. ARC_RELOC_HOWTO(ARC_32_ME, 27, \
  170.                 2, \
  171.                 32, \
  172.                 replace_limm, \
  173.                 signed, \
  174.                 ( S + A ))
  175.  
  176. ARC_RELOC_HOWTO(ARC_32_ME_S, 105, \
  177.                 2, \
  178.                 32, \
  179.                 replace_limms, \
  180.                 signed, \
  181.                 ( S + A ))
  182.  
  183. ARC_RELOC_HOWTO(ARC_N32_ME, 28, \
  184.                 2, \
  185.                 32, \
  186.                 replace_word32, \
  187.                 bitfield, \
  188.                 ( S - A ))
  189.  
  190. ARC_RELOC_HOWTO(ARC_SECTOFF_ME, 29, \
  191.                 2, \
  192.                 32, \
  193.                 replace_word32, \
  194.                 bitfield, \
  195.                 ( ( S - SECTSTART ) + A ))
  196.  
  197. ARC_RELOC_HOWTO(ARC_SDA32_ME, 30, \
  198.                 2, \
  199.                 32, \
  200.                 replace_limm, \
  201.                 signed, \
  202.                 ( ( S + A ) - _SDA_BASE_ ))
  203.  
  204. ARC_RELOC_HOWTO(ARC_W_ME, 31, \
  205.                 2, \
  206.                 32, \
  207.                 replace_word32, \
  208.                 bitfield, \
  209.                 ( S + A ))
  210.  
  211. ARC_RELOC_HOWTO(AC_SECTOFF_U8, 35, \
  212.                 2, \
  213.                 9, \
  214.                 replace_disp9ls, \
  215.                 bitfield, \
  216.                 ( ( S + A ) - SECTSTART ))
  217.  
  218. ARC_RELOC_HOWTO(AC_SECTOFF_U8_1, 36, \
  219.                 2, \
  220.                 9, \
  221.                 replace_disp9ls, \
  222.                 bitfield, \
  223.                 ( ( ( S + A ) - SECTSTART ) >> 1 ))
  224.  
  225. ARC_RELOC_HOWTO(AC_SECTOFF_U8_2, 37, \
  226.                 2, \
  227.                 9, \
  228.                 replace_disp9ls, \
  229.                 bitfield, \
  230.                 ( ( ( S + A ) - SECTSTART ) >> 2 ))
  231.  
  232. ARC_RELOC_HOWTO(AC_SECTFOFF_S9, 38, \
  233.                 2, \
  234.                 9, \
  235.                 replace_disp9ls, \
  236.                 bitfield, \
  237.                 ( ( S + A ) - SECTSTART ))
  238.  
  239. ARC_RELOC_HOWTO(AC_SECTFOFF_S9_1, 39, \
  240.                 2, \
  241.                 9, \
  242.                 replace_disp9ls, \
  243.                 bitfield, \
  244.                 ( ( ( S + A ) - SECTSTART ) >> 1 ))
  245.  
  246. ARC_RELOC_HOWTO(AC_SECTFOFF_S9_2, 40, \
  247.                 2, \
  248.                 9, \
  249.                 replace_disp9ls, \
  250.                 bitfield, \
  251.                 ( ( ( S + A ) - SECTSTART ) >> 2 ))
  252.  
  253. ARC_RELOC_HOWTO(ARC_SECTOFF_ME_1, 41, \
  254.                 2, \
  255.                 32, \
  256.                 replace_word32, \
  257.                 bitfield, \
  258.                 ( ( ( S - SECTSTART ) + A ) >> 1 ))
  259.  
  260. ARC_RELOC_HOWTO(ARC_SECTOFF_ME_2, 42, \
  261.                 2, \
  262.                 32, \
  263.                 replace_word32, \
  264.                 bitfield, \
  265.                 ( ( ( S - SECTSTART ) + A ) >> 2 ))
  266.  
  267. ARC_RELOC_HOWTO(ARC_SECTOFF_1, 43, \
  268.                 2, \
  269.                 32, \
  270.                 replace_word32, \
  271.                 bitfield, \
  272.                 ( ( ( S - SECTSTART ) + A ) >> 1 ))
  273.  
  274. ARC_RELOC_HOWTO(ARC_SECTOFF_2, 44, \
  275.                 2, \
  276.                 32, \
  277.                 replace_word32, \
  278.                 bitfield, \
  279.                 ( ( ( S - SECTSTART ) + A ) >> 2 ))
  280.  
  281. ARC_RELOC_HOWTO(ARC_SDA16_ST2, 48, \
  282.                 1, \
  283.                 9, \
  284.                 replace_disp9s1, \
  285.                 signed, \
  286.                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
  287.  
  288. ARC_RELOC_HOWTO(ARC_32_PCREL, 49, \
  289.                 2, \
  290.                 32, \
  291.                 replace_word32, \
  292.                 signed, \
  293.                 ( ( S + A ) - PDATA ))
  294.  
  295. ARC_RELOC_HOWTO(ARC_PC32, 50, \
  296.                 2, \
  297.                 32, \
  298.                 replace_word32, \
  299.                 signed, \
  300.                 ( ( S + A ) - P ))
  301.  
  302. ARC_RELOC_HOWTO(ARC_GOT32, 59, \
  303.                 2, \
  304.                 32, \
  305.                 replace_word32, \
  306.                 dont, \
  307.                 ( G + A ))
  308.  
  309. ARC_RELOC_HOWTO(ARC_GOTPC32, 51, \
  310.                 2, \
  311.                 32, \
  312.                 replace_word32, \
  313.                 signed, \
  314.                 ( ( ( GOT + G ) + A ) - P ))
  315.  
  316. ARC_RELOC_HOWTO(ARC_PLT32, 52, \
  317.                 2, \
  318.                 32, \
  319.                 replace_word32, \
  320.                 signed, \
  321.                 ( ( L + A ) - P ))
  322.  
  323. ARC_RELOC_HOWTO(ARC_COPY, 53, \
  324.                 2, \
  325.                 0, \
  326.                 replace_none, \
  327.                 signed, \
  328.                 none)
  329.  
  330. ARC_RELOC_HOWTO(ARC_GLOB_DAT, 54, \
  331.                 2, \
  332.                 32, \
  333.                 replace_word32, \
  334.                 signed, \
  335.                 S)
  336.  
  337. ARC_RELOC_HOWTO(ARC_JMP_SLOT, 55, \
  338.                 2, \
  339.                 32, \
  340.                 replace_word32, \
  341.                 signed, \
  342.                 S)
  343.  
  344. ARC_RELOC_HOWTO(ARC_RELATIVE, 56, \
  345.                 2, \
  346.                 32, \
  347.                 replace_word32, \
  348.                 signed, \
  349.                 ( B + A ))
  350.  
  351. ARC_RELOC_HOWTO(ARC_GOTOFF, 57, \
  352.                 2, \
  353.                 32, \
  354.                 replace_word32, \
  355.                 signed, \
  356.                 ( ( S + A ) - GOT ))
  357.  
  358. ARC_RELOC_HOWTO(ARC_GOTPC, 58, \
  359.                 2, \
  360.                 32, \
  361.                 replace_word32, \
  362.                 signed, \
  363.                 ( ( GOT + A ) - P ))
  364.  
  365. ARC_RELOC_HOWTO(ARC_S21W_PCREL_PLT, 60, \
  366.                 2, \
  367.                 19, \
  368.                 replace_disp21w, \
  369.                 signed, \
  370.                 ( ( ( L + A ) - P ) >> 2 ))
  371.  
  372. ARC_RELOC_HOWTO(ARC_S25H_PCREL_PLT, 61, \
  373.                 2, \
  374.                 24, \
  375.                 replace_disp25h, \
  376.                 signed, \
  377.                 ( ( ( L + A ) - P ) >> 1 ))
  378.  
  379. ARC_RELOC_HOWTO(ARC_TLS_DTPMOD, 66, \
  380.                 2, \
  381.                 32, \
  382.                 replace_word32, \
  383.                 dont, \
  384.                 0)
  385.  
  386. ARC_RELOC_HOWTO(ARC_TLS_TPOFF, 68, \
  387.                 2, \
  388.                 32, \
  389.                 replace_word32, \
  390.                 dont, \
  391.                 0)
  392.  
  393. ARC_RELOC_HOWTO(ARC_TLS_GD_GOT, 69, \
  394.                 2, \
  395.                 32, \
  396.                 replace_word32, \
  397.                 dont, \
  398.                 0)
  399.  
  400. ARC_RELOC_HOWTO(ARC_TLS_GD_LD, 70, \
  401.                 2, \
  402.                 32, \
  403.                 replace_word32, \
  404.                 dont, \
  405.                 0)
  406.  
  407. ARC_RELOC_HOWTO(ARC_TLS_GD_CALL, 71, \
  408.                 2, \
  409.                 32, \
  410.                 replace_word32, \
  411.                 dont, \
  412.                 0)
  413.  
  414. ARC_RELOC_HOWTO(ARC_TLS_IE_GOT, 72, \
  415.                 2, \
  416.                 32, \
  417.                 replace_word32, \
  418.                 dont, \
  419.                 0)
  420.  
  421. ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \
  422.                 2, \
  423.                 32, \
  424.                 replace_word32, \
  425.                 dont, \
  426.                 0)
  427.  
  428. ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \
  429.                 2, \
  430.                 32, \
  431.                 replace_word32, \
  432.                 dont, \
  433.                 0)
  434.  
  435. ARC_RELOC_HOWTO(ARC_TLS_LE_S9, 74, \
  436.                 2, \
  437.                 32, \
  438.                 replace_word32, \
  439.                 dont, \
  440.                 0)
  441.  
  442. ARC_RELOC_HOWTO(ARC_TLS_LE_32, 75, \
  443.                 2, \
  444.                 32, \
  445.                 replace_word32, \
  446.                 dont, \
  447.                 0)
  448.  
  449. ARC_RELOC_HOWTO(ARC_S25W_PCREL_PLT, 76, \
  450.                 2, \
  451.                 23, \
  452.                 replace_disp25w, \
  453.                 signed, \
  454.                 ( ( ( L + A ) - P ) >> 2 ))
  455.  
  456. ARC_RELOC_HOWTO(ARC_S21H_PCREL_PLT, 77, \
  457.                 2, \
  458.                 20, \
  459.                 replace_disp21h, \
  460.                 signed, \
  461.                 ( ( ( L + A ) - P ) >> 1 ))
  462.  
  463.