doc/gdbinv-s.m4.in: remove text on special procedures to continue after
[external/binutils.git] / include / a.out.sun4.h
1 /* SPARC-specific values for a.out files */
2
3 #define PAGE_SIZE       0x2000          /* 8K.  aka NBPG in <sys/param.h> */
4 /* Note that some SPARCs have 4K pages, some 8K, some others.  */
5
6 #define SEG_SIZE_SPARC  PAGE_SIZE
7 #define SEG_SIZE_SUN3   0x20000         /* Resolution of r/w protection hw */
8
9 #define TEXT_START_ADDR PAGE_SIZE       /* Location 0 is not accessible */
10 #define N_HEADER_IN_TEXT(x) 1
11
12 /* Non-default definitions of the accessor macros... */
13
14 /* Segment size varies on Sun-3 versus Sun-4.  */
15
16 #define N_SEGSIZE(x)    (N_MACHTYPE(x) == M_SPARC?      SEG_SIZE_SPARC: \
17                          N_MACHTYPE(x) == M_68020?      SEG_SIZE_SUN3:  \
18                         /* Guess? */                    PAGE_SIZE)
19
20 /* Virtual Address of text segment from the a.out file.  For OMAGIC,
21    (almost always "unlinked .o's" these days), should be zero.
22    Sun added a kludge so that shared libraries linked ZMAGIC get
23    an address of zero if a_entry (!!!) is lower than the otherwise
24    expected text address.  These kludges have gotta go!
25    For linked files, should reflect reality if we know it.  */
26
27 #define N_TXTADDR(x) \
28     (N_MAGIC(x)==OMAGIC? 0 \
29      : (N_MAGIC(x) == ZMAGIC && (x).a_entry < TEXT_START_ADDR)? 0 \
30      : TEXT_START_ADDR+EXEC_BYTES_SIZE)