Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* coff information for Renesas H8/300 and H8/300-H
  2.  
  3.    Copyright 2001, 2003, 2010 Free Software Foundation, Inc.
  4.  
  5.    This program is free software; you can redistribute it and/or modify
  6.    it under the terms of the GNU General Public License as published by
  7.    the Free Software Foundation; either version 3 of the License, or
  8.    (at your option) any later version.
  9.    
  10.    This program is distributed in the hope that it will be useful,
  11.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.    GNU General Public License for more details.
  14.    
  15.    You should have received a copy of the GNU General Public License
  16.    along with this program; if not, write to the Free Software
  17.    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
  18.    MA 02110-1301, USA.  */
  19.  
  20. #define L_LNNO_SIZE 4
  21. #include "coff/external.h"
  22.  
  23. #define H8300MAGIC      0x8300
  24. #define H8300HMAGIC     0x8301
  25. #define H8300SMAGIC     0x8302
  26. #define H8300HNMAGIC    0x8303
  27. #define H8300SNMAGIC    0x8304
  28.  
  29. #define H8300BADMAG(x)   (((x).f_magic != H8300MAGIC))
  30. #define H8300HBADMAG(x)  (((x).f_magic != H8300HMAGIC))
  31. #define H8300SBADMAG(x)  (((x).f_magic != H8300SMAGIC))
  32. #define H8300HNBADMAG(x) (((x).f_magic != H8300HNMAGIC))
  33. #define H8300SNBADMAG(x) (((x).f_magic != H8300SNMAGIC))
  34.  
  35. /* Relocation directives.  */
  36.  
  37. /* The external reloc has an offset field, because some of the reloc
  38.    types on the h8 don't have room in the instruction for the entire
  39.    offset - eg the strange jump and high page addressing modes.  */
  40.  
  41. struct external_reloc
  42. {
  43.   char r_vaddr[4];
  44.   char r_symndx[4];
  45.   char r_offset[4];
  46.   char r_type[2];
  47.   char r_stuff[2];
  48. };
  49.  
  50. #define RELOC struct external_reloc
  51. #define RELSZ 16
  52.  
  53.  
  54.  
  55.  
  56.