montnaro@sprite.crd.ge.com (Skip Montanaro) (09/01/89)
Convex defines the nlist struct somewhat differently than Sun or Stellar
(I'm not familiar with other Unix dialects):
struct nlist {
union {
char *n_name; /* for use when in core */
long n_strx; /* index into string table */
} n_un; /* union for name and string index */
unsigned char n_type; /* type flag, see below */
char n_other; /* unused */
short n_desc; /* see <stab.h> */
unsigned long n_value; /* value of symbol (or sdb offset) */
};
The compiler complains about the use of n_name when compiling load.c, so I
changed load.c to reflect this for the Convex. If this is a feature of more
than just Convex's environment a more general test is in order.
*** load.c~ Fri Jul 14 14:21:55 1989
--- load.c Thu Aug 31 23:42:23 1989
***************
*** 151,154 ****
--- 151,155 ----
struct nlist nl[2];
+ #if !defined(convex)
#ifdef NLIST_NAME_ARRAY
strcpy (nl[0].n_name, LDAV_SYMBOL);
***************
*** 158,161 ****
--- 159,166 ----
nl[1].n_name = 0;
#endif /* NLIST_NAME_ARRAY. */
+ #else /* convex */
+ nl[0].n_un.n_name = LDAV_SYMBOL;
+ nl[1].n_un.n_name = 0;
+ #endif /* convex */
if (nlist (KERNEL_FILE, nl) < 0 || nl[0].n_type == 0)