source: trunk/binutils/bfd/hosts/i386emx.h@ 3003

Last change on this file since 3003 was 2002, checked in by bird, 20 years ago

N_EXP - EMX extension for export declarations.

  • Property cvs2svn:cvs-rev set to 1.6
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 KB
Line 
1/* Intel ix86 running OS/2 or DOS */
2
3#ifndef __I386EMX__H__
4#define __I386EMX__H__
5
6#define EMX
7
8#define HOST_PAGE_SIZE 0x1000
9#define HOST_SEGMENT_SIZE 0x10000
10#define HOST_TEXT_START_ADDR 0x10000
11#define HOST_STACK_END_ADDR 0x80000000
12
13#ifndef TEXT_START_ADDR /* bird: does this need to be BFD wide? */
14#define TEXT_START_ADDR 0x10000
15#endif
16
17#define NO_CORE_COMMAND
18
19#if 0 /* moved to i386aoutemx.c */
20
21#define DEFAULT_ARCH bfd_arch_i386
22
23#define TARGET_PAGE_SIZE 0x1000
24#define TARGET_SEGMENT_SIZE 0x10000
25#define TARGET_STACK_END_ADDR 0x80000000
26
27#define ZMAGIC_DISK_BLOCK_SIZE 1024
28#define BYTES_IN_WORD 4
29
30#define MY(OP) CONCAT2(i386aout_emx_,OP)
31#define TARGETNAME "a.out-emx"
32#define NO_WRITE_HEADER_KLUDGE 1
33
34#define N_HEADER_IN_TEXT(x) 0
35
36#define N_TXTOFF(x) \
37 (N_MAGIC(x) != ZMAGIC ? EXEC_BYTES_SIZE : /* object file or NMAGIC */\
38 N_SHARED_LIB(x) ? 0 : \
39 N_HEADER_IN_TEXT(x) ? \
40 EXEC_BYTES_SIZE : /* no padding */\
41 0x400 + (x).a_hdrofs \
42 )
43
44#define N_DATOFF(x) (N_TXTOFF(x) + N_TXTSIZE(x))
45
46#endif /* moved to i386aoutemx.c */
47
48/* a.out executables emx-specific header */
49struct exec /* bird: should this be BFD wide or only for the emx target? */
50{
51 unsigned long a_info; /* Use macros N_MAGIC, etc for access */
52 unsigned a_text; /* length of text, in bytes */
53 unsigned a_data; /* length of data, in bytes */
54 unsigned a_bss; /* length of uninitialized data area for file, in bytes */
55 unsigned a_syms; /* length of symbol table data in file, in bytes */
56 unsigned a_entry; /* start address */
57 unsigned a_trsize; /* length of relocation info for text, in bytes */
58 unsigned a_drsize; /* length of relocation info for data, in bytes */
59};
60
61 /* bird: should this be BFD wide or only for the emx target? */
62#define IS_STAB(flags) (((flags) & N_STAB) \
63 && (flags) != (N_IMP1|N_EXT) && (flags) != (N_IMP2|N_EXT) \
64 && ((flags) & ~N_EXT) != N_EXP)
65
66#endif /* __I386EMX__H__ */
Note: See TracBrowser for help on using the repository browser.