home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / bfd / host-aout.c < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  84 lines

  1. /* BFD backend for local host's a.out binaries
  2.    Copyright (C) 1990, 91, 92, 93, 94 Free Software Foundation, Inc.
  3.    Written by Cygnus Support.  Probably John Gilmore's fault.
  4.  
  5. This file is part of BFD, the Binary File Descriptor library.
  6.  
  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
  9. the Free Software Foundation; either version 2 of the License, or
  10. (at your option) any later version.
  11.  
  12. This program 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 this program; if not, write to the Free Software
  19. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  20.  
  21. #include "bfd.h"
  22. #include "sysdep.h"
  23. #include "libbfd.h"
  24.  
  25. #define    ARCH_SIZE    32
  26.  
  27. /* When porting to a new system, you must supply:
  28.  
  29.     HOST_PAGE_SIZE        (optional)
  30.     HOST_SEGMENT_SIZE    (optional -- defaults to page size)
  31.     HOST_MACHINE_ARCH    (optional)
  32.     HOST_MACHINE_MACHINE    (optional)
  33.     HOST_TEXT_START_ADDR    (optional)
  34.     HOST_STACK_END_ADDR    (not used, except by trad-core ???)
  35.     HOST_BIG_ENDIAN_P    (required -- define if big-endian)
  36.  
  37.    in the ./hosts/h-systemname.h file.  */
  38.  
  39. #ifdef TRAD_HEADER
  40. #include TRAD_HEADER
  41. #endif
  42.  
  43. #ifdef            HOST_PAGE_SIZE
  44. #define    TARGET_PAGE_SIZE    HOST_PAGE_SIZE
  45. #endif
  46.  
  47. #ifdef            HOST_SEGMENT_SIZE
  48. #define    SEGMENT_SIZE    HOST_SEGMENT_SIZE
  49. #else
  50. #define    SEGMENT_SIZE    TARGET_PAGE_SIZE
  51. #endif
  52.  
  53. #ifdef            HOST_TEXT_START_ADDR
  54. #define    TEXT_START_ADDR    HOST_TEXT_START_ADDR
  55. #endif
  56.  
  57. #ifdef            HOST_STACK_END_ADDR
  58. #define    STACK_END_ADDR    HOST_STACK_END_ADDR
  59. #endif
  60.  
  61. #ifdef            HOST_BIG_ENDIAN_P
  62. #define    TARGET_IS_BIG_ENDIAN_P
  63. #else
  64. #undef  TARGET_IS_BIG_ENDIAN_P
  65. #endif
  66.  
  67. #include "libaout.h"           /* BFD a.out internal data structures */
  68. #include "aout/aout64.h"
  69.  
  70. #ifdef HOST_MACHINE_ARCH
  71. #ifdef HOST_MACHINE_MACHINE
  72. #define SET_ARCH_MACH(abfd, execp) \
  73.   bfd_default_set_arch_mach(abfd, HOST_MACHINE_ARCH, HOST_MACHINE_MACHINE)
  74. #else
  75. #define SET_ARCH_MACH(abfd, execp) \
  76.   bfd_default_set_arch_mach(abfd, HOST_MACHINE_ARCH, 0)
  77. #endif
  78. #endif /* HOST_MACHINE_ARCH */
  79.  
  80. #define MY(OP) CAT(host_aout_,OP)
  81. #define TARGETNAME "a.out"
  82.  
  83. #include "aout-target.h"
  84.