Subversion Repositories Kolibri OS

Rev

Rev 5191 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5191 Rev 6324
1
/* coff information for Texas Instruments TMS320C3X
1
/* coff information for Texas Instruments TMS320C3X
2
   
2
   
3
   Copyright 2001, 2010 Free Software Foundation, Inc.
3
   Copyright (C) 2001-2015 Free Software Foundation, Inc.
4
 
4
 
5
   This program is free software; you can redistribute it and/or modify
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
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
7
   the Free Software Foundation; either version 3 of the License, or
8
   (at your option) any later version.
8
   (at your option) any later version.
9
   
9
   
10
   This program is distributed in the hope that it will be useful,
10
   This program is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
   GNU General Public License for more details.
13
   GNU General Public License for more details.
14
   
14
   
15
   You should have received a copy of the GNU General Public License
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
16
   along with this program; if not, write to the Free Software
17
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
17
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
18
   MA 02110-1301, USA.  */
18
   MA 02110-1301, USA.  */
19
 
19
 
20
#define L_LNNO_SIZE 4
20
#define L_LNNO_SIZE 4
21
#include "coff/external.h"
21
#include "coff/external.h"
22
 
22
 
23
#define	TIC30MAGIC	0xC000
23
#define	TIC30MAGIC	0xC000
24
 
24
 
25
#define TIC30BADMAG(x) (((x).f_magic != TIC30MAGIC))
25
#define TIC30BADMAG(x) (((x).f_magic != TIC30MAGIC))
26
 
26
 
27
/********************** RELOCATION DIRECTIVES **********************/
27
/********************** RELOCATION DIRECTIVES **********************/
28
 
28
 
29
/* The external reloc has an offset field, because some of the reloc
29
/* The external reloc has an offset field, because some of the reloc
30
   types on the z8k don't have room in the instruction for the entire
30
   types on the z8k don't have room in the instruction for the entire
31
   offset - eg with segments */
31
   offset - eg with segments */
32
 
32
 
33
struct external_reloc
33
struct external_reloc
34
{
34
{
35
  char r_vaddr[4];
35
  char r_vaddr[4];
36
  char r_symndx[4];
36
  char r_symndx[4];
37
  char r_offset[4];
37
  char r_offset[4];
38
  char r_type[2];
38
  char r_type[2];
39
  char r_stuff[2];
39
  char r_stuff[2];
40
};
40
};
41
 
41
 
42
#define RELOC struct external_reloc
42
#define RELOC struct external_reloc
43
#define RELSZ 16
43
#define RELSZ 16
44
 
44
 
45
/* TMS320C30 relocation types.  */
45
/* TMS320C30 relocation types.  */
46
 
46
 
47
#define R_TIC30_ABS16 0x100  /* 16 bit absolute. */
47
#define R_TIC30_ABS16 0x100  /* 16 bit absolute. */
48
#define R_TIC30_ABS24 0x101  /* 24 bit absolute. */
48
#define R_TIC30_ABS24 0x101  /* 24 bit absolute. */
49
#define R_TIC30_ABS32 0x102  /* 32 bit absolute. */
49
#define R_TIC30_ABS32 0x102  /* 32 bit absolute. */
50
#define R_TIC30_LDP   0x103  /* LDP bits 23-16 to 7-0. */
50
#define R_TIC30_LDP   0x103  /* LDP bits 23-16 to 7-0. */
51
#define R_TIC30_PC16  0x104  /* 16 bit pc relative. */
51
#define R_TIC30_PC16  0x104  /* 16 bit pc relative. */