Date: Wed, 12 Jan 2000 17:14:34 +1000 (EST) From: MAX@one.com.au Subject: uknown error Message-ID: <200001120714.RAA03988@gw.one.com.au>
next in thread | raw e-mail | index | archive | help
To:freebsd-current@freebsd.org
Hi all,
I am trying to compile this database programme - mumps10freebsd32x86.tgz ,
("MUMPS" can be download from www.mumps.org) which currently works only
on i386 FreeBSD 3.2, to an Alpha machine running on FreeBSD 4.0
CURRENT-20000101. The Alpha consists of Digital Alphaserver 200 4/166.
Making all in compile
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c dollar.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c eval.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c localvar.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c parse.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c routine.c
Making all in database
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_buffer.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_daemon.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_get.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_ic.c
db_ic.c: In function `ic_map':
db_ic.c:557: warning: cast from pointer to integer of different size
db_ic.c:557: warning: cast from pointer to integer of different size
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_kill.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_locate.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_main.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_set.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_uci.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_util.c
db_util.c: In function `Copy_data':
db_util.c:391: warning: cast from pointer to integer of different size
db_util.c:392: warning: cast from pointer to integer of different size
db_util.c: In function `Allign_record':
db_util.c:447: warning: cast from pointer to integer of different size
db_util.c:448: warning: cast from pointer to integer of different size
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c db_view.c
Making all in init
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c init_create.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c init_run.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c init_start.c
init_start.c: In function `INIT_Start':
init_start.c:194: warning: cast from pointer to integer of different size
init_start.c:194: warning: cast to pointer from integer of different size
Making all in runtime
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c runtime_attn.c
runtime_attn.c: In function `DoInfo':
runtime_attn.c:89: warning: int format, different type arg (arg 3)
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c
runtime_buildmvar.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c
runtime_debug.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c runtime_func.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c
runtime_pattern.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING -c runtime_run.c
/tmp/ccaN3150.s: Assembler messages:
/tmp/ccaN3150.s:27822: Error: unknown opcode `fnstenv'
/tmp/ccaN3150.s:27857: Error: unknown opcode `fldenv'
*** Error code 1
Stop in /usr/home/maxy/mumps/runtime.
*** Error code 1
Stop in /usr/home/maxy/mumps.
a snip from the "warning" files
db_ic.c
SemOp(SEM_GLOBAL, -curr_lock); // free lock
c++; // point at next
off = 0; // now start at 0
if (flag == -3) // daemon?
line 557: { systab->vol[volnum - 1]->upto = ((u_int) e - (u_int) c) << 3;
}
db_util.c
if (isdata) // if data
{ if (c->len == NODE_UNDEFINED) // junk record?
{ continue; // ignore it
}
}
else // if a pointer
line 391: { if ((int) c & 3) // if not alligned
line 392: { c = (cstring *) &c->buf[2 - ((int) c & 3)]; // allign
}
if ((*(int *) c) == PTR_UNDEFINED) // see if that's junk
{ continue; // ignore it
}
}
db_util.c
//-----------------------------------------------------------------------------
// Function: Allign_record
// Descript: Ensure that record is on a four byte boundary
// Input(s): none
// Return: none
// Note: Must only be called for pointer/directory blocks
//
void Allign_record() // allign record (int)
line 447: { if ((int) record & 3) // if not alligned
line 448: { record = (cstring *) &record->buf[2 -
((int) record & 3)]; // allign
}
return; // exit
}
init_start.c
bzero(systab, share_size); // zot the lot
systab->jobtab
(jobtab *)&systab->last_blk_used[jobs + 1];
// setup jobtab pointer
systab->maxjob = jobs; // save max jobs
systab->start_user = (int) getpid(); // remember who started this
systab->lockstart
(void *)((void *)systab->jobtab +
(sizeof(jobtab)*jobs)); //locktab
systab->locksize = locksize; // the size
systab->lockhead = NULL; // no locks currently
systab->lockfree = (locktab *) systab->lockstart; // free space
systab->lockfree->fwd_link = NULL; // only one
systab->lockfree->size = locksize; // the whole space
systab->lockfree->job = -1; // means free
systab->vol[0]
(vol_def *) ((void *)systab + sjlt_size);// jump to start of
// volume set memory
systab->vol[0]->vollab
(label_block *) ((void *)systab->vol[0] + sizeof(vol_def));
// and point to label blk
systab->vol[0]->map
(void*)((void *)systab->vol[0]->vollab + sizeof(label_block));
// and point to map
systab->vol[0]->first_free
systab->vol[0]->map; // init first free
systab->vol[0]->gbd_head
(gbd *) ((void *)systab->vol[0]->vollab + hbuf[2]); // gbds
systab->vol[0]->num_gbd = n_gbd; // number of gbds
systab->vol[0]->global_buf
(void *) &systab->vol[0]->gbd_head[n_gbd]; //glob buffs
line 194: systab->vol[0]->zero_block
(void *)((int)systab->vol[0]->global_buf+(gmb*MBYTE));
// pointer to zero blk
systab->vol[0]->rbd_head
(void *) ((void*)systab->vol[0]->zero_block + hbuf[3]); //rbds
systab->vol[0]->rbd_end
((void *)systab + share_size); // end of share
systab->vol[0]->shm_id = shar_mem_id; // set up share id
systab->sem_id = sem_id; // set up semaphore id
systab->vol[0]->map_dirty_flag = 0; // clear dirty map flag
runtime_attn.c
// DoInfo() - look after a control T
//
void DoInfo()
{ int i; // a handy int
int j; // and another
char ct[400]; // some space for control t
char *p; // a handy pointer
mvar *var; // and another
bcopy("\033\067\033[99;1H",ct,9); // start off
i = 9; // next char
line 89: i += sprintf(&ct[i],"%d", partab.jobtab - systab->jobtab + 1);
i += sprintf(&ct[i]," (%d) ", partab.jobtab->pid);
p = (char *) &partab.jobtab->dostk[partab.jobtab->cur_do].rounam;
// point at routine name
for (j = 0; (j < 8) && (p[j]); ct[i++] = p[j++]); // copy it
i += sprintf(&ct[i]," Cmds: %d ", partab.jobtab->commands);
i += sprintf(&ct[i],"Grefs: %d ", partab.jobtab->grefs);
var = &partab.jobtab->last_ref; // point at $R
if (var->name.var_cu[0] != '\0') // something there?
i += UTIL_String_Mvar(var, &ct[i], 32767); // decode it
if (i > 89) i = 89; // fit on terminal
bcopy("\033\133\113\033\070\0", &ct[i], 6); // and the trailing bit
fprintf(stderr, "%s", ct); // output it
return; // all done
}
Thanks for your help.
Max
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001120714.RAA03988>
