2 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3 * See the copyright notice in the ACK home directory, in the file "Copyright".
5 /* $Id: memory.h,v 3.8 1994/06/24 10:34:56 ceriel Exp $ */
7 #define ALLOEMIT 0 /* Section contents. */
8 #define ALLORELO (ALLOEMIT + MAXSECT) /* Relocation table. */
9 #define ALLOLOCL (ALLORELO + 1) /* Saved local names. */
10 #define ALLOGLOB (ALLOLOCL + 1) /* Saved global names. */
11 #define ALLOLCHR (ALLOGLOB + 1) /* Strings of local names. */
12 #define ALLOGCHR (ALLOLCHR + 1) /* Strings of global names. */
14 #define ALLODBUG (ALLOGCHR + 1) /* Symbolic debugging info. */
16 #define ALLODBUG ALLOGCHR
18 #define ALLOSYMB (ALLODBUG + 1) /* Symbol table. */
19 #define ALLOARCH (ALLOSYMB + 1) /* Archive positions. */
20 #define ALLOMODL (ALLOARCH + 1) /* Modules. */
21 #define ALLORANL (ALLOMODL + 1) /* Ranlib information. */
22 #define NMEMS (ALLORANL + 1)
24 #define BADOFF ((ind_t)-1)
33 extern struct memory mems[];
35 #define address(piece,offset) (mems[(piece)].mem_base+(offset))
36 #define modulptr(offset) (mems[ALLOMODL].mem_base+core_position+(offset))
38 #define int_align(sz) (((sz)+(sizeof(int)-1))&~(int)(sizeof(int)-1))
40 extern ind_t core_position;
41 extern ind_t hard_alloc();