home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / gas / tc.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  4KB  |  113 lines

  1. /* tc.h - target cpu dependent
  2.  
  3.    Copyright (C) 1987, 1990, 1991, 1992 Free Software Foundation, Inc.
  4.  
  5.    This file is part of GAS, the GNU Assembler.
  6.  
  7.    GAS is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 2, or (at your option)
  10.    any later version.
  11.  
  12.    GAS is distributed in the hope that it will be useful,
  13.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.    GNU General Public License for more details.
  16.  
  17.    You should have received a copy of the GNU General Public License
  18.    along with GAS; see the file COPYING.  If not, write to
  19.    the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  20.  
  21. /* In theory (mine, at least!) the machine dependent part of the assembler
  22.    should only have to include one file.  This one.  -- JF */
  23.  
  24. extern const pseudo_typeS md_pseudo_table[];
  25.  
  26. /* JF moved this here from as.h under the theory that nobody except MACHINE.c
  27.    and write.c care about it anyway. */
  28.  
  29. struct relax_type
  30. {
  31.   /* Forward reach. Signed number. > 0. */
  32.   long rlx_forward;
  33.   /* Backward reach. Signed number. < 0. */
  34.   long rlx_backward;
  35.  
  36.   /* Bytes length of this address. */
  37.   unsigned char rlx_length;
  38.  
  39.   /* Next longer relax-state.  0 means there is no 'next' relax-state. */
  40.   relax_substateT rlx_more;
  41. };
  42.  
  43. typedef struct relax_type relax_typeS;
  44.  
  45. extern const int md_reloc_size;    /* Size of a relocation record */
  46.  
  47. char *md_atof PARAMS ((int what_statement_type, char *literalP, int *sizeP));
  48. #ifndef md_estimate_size_before_relax
  49. int md_estimate_size_before_relax PARAMS ((fragS * fragP, segT segment));
  50. #endif
  51. int md_parse_option PARAMS ((int c, char *arg));
  52. void md_show_usage PARAMS ((FILE *));
  53. long md_pcrel_from PARAMS ((fixS * fixP));
  54. short tc_coff_fix2rtype PARAMS ((fixS * fixP));
  55. void md_assemble PARAMS ((char *str));
  56. void md_begin PARAMS ((void));
  57. #ifndef md_create_long_jump
  58. void md_create_long_jump PARAMS ((char *ptr, addressT from_addr,
  59.                   addressT to_addr, fragS * frag,
  60.                   symbolS * to_symbol));
  61. #endif
  62. #ifndef md_create_short_jump
  63. void md_create_short_jump PARAMS ((char *ptr, addressT from_addr,
  64.                    addressT to_addr, fragS * frag,
  65.                    symbolS * to_symbol));
  66. #endif
  67. void md_number_to_chars PARAMS ((char *buf, valueT val, int n));
  68.  
  69. #ifndef md_operand
  70. void md_operand PARAMS ((expressionS * expressionP));
  71. #endif
  72.  
  73. #ifdef MD_APPLY_FIX3
  74. int md_apply_fix3 PARAMS ((fixS * fixP, valueT *val, segT seg));
  75. #endif
  76. #ifdef BFD_ASSEMBLER
  77. int md_apply_fix PARAMS ((fixS * fixP, valueT *val));
  78. #ifndef md_convert_frag
  79. void md_convert_frag PARAMS ((bfd * headers, segT sec, fragS * fragP));
  80. #endif
  81. #ifndef tc_headers_hook
  82. void tc_headers_hook PARAMS ((segT *, fixS *));
  83. #endif
  84. #ifndef RELOC_EXPANSION_POSSIBLE
  85. extern arelent *tc_gen_reloc PARAMS ((asection *, fixS *));
  86. #else
  87. extern arelent **tc_gen_reloc PARAMS ((asection *, fixS *));
  88. #endif
  89. #else /* not BFD_ASSEMBLER */
  90. void md_apply_fix PARAMS ((fixS * fixP, long val));
  91. #ifndef md_convert_frag
  92. void md_convert_frag PARAMS ((object_headers * headers, segT, fragS * fragP));
  93. #endif
  94.  
  95. #ifndef tc_crawl_symbol_chain
  96. void tc_crawl_symbol_chain PARAMS ((object_headers * headers));
  97. #endif /* tc_crawl_symbol_chain */
  98.  
  99. #ifndef tc_headers_hook
  100. void tc_headers_hook PARAMS ((object_headers * headers));
  101. #endif /* tc_headers_hook */
  102. #endif /* BFD_ASSEMBLER */
  103.  
  104. #ifndef md_section_align
  105. valueT md_section_align PARAMS ((segT seg, valueT size));
  106. #endif
  107.  
  108. #ifndef md_undefined_symbol
  109. symbolS *md_undefined_symbol PARAMS ((char *name));
  110. #endif
  111.  
  112. /* end of tc.h */
  113.