[comp.unix.xenix] A question...

tony@joshua.math.ucla.edu (02/09/89)

Hello Netland, I am trying to make Nethack 2.3 on an Altos 2086 running Altos 
Xeninx 3.4f and I'm having problems with the loader.  I hope somebody out 
there can help.

I have a makefile with the following:

$(GAME):    $(SPECIFICS) $(HOBJ) Makefile
    cc $(LFLAGS) -m hack.map -o $(GAME) $(CRT0) $(HOBJ) $(LIBS) -SEG#256

and the result of this is as follows:

    cc -Ml -m hack.map -o nethack apply.o bones.o decl.o cmd.o do.o dothrow.o 
    do_name.o do_wear.o dog.o dogmove.o eat.o end.o engrave.o fight.o fountain.o
    hack.o invent.o ioctl.o lev.o main.o makemon.o mhitu.o mklev.o mkmaze.o 
    mkobj.o mkshop.o mon.o monmove.o monst.o o_init.o objnam.o options.o 
    pager.o polyself.o potion.o pray.o pri.o prisym.o read.o rip.o rumors.o 
    save.o search.o shk.o shknam.o sit.o spell.o steal.o termcap.o timeout.o 
    topl.o topten.o track.o trap.o tty.o unix.o u_init.o vault.o wield.o 
    wizard.o worm.o worn.o write.o zap.o version.o rnd.o alloc.o -ltermcap 
    -SEG#256 

    Command line warning 10: ignoring unknown flag `SEG#256'

    /bin/ld: Too many segments
    Input File: wield.o(wield.c) pos: b9 Record type: 98
    *** Error code -109

    Stop.

I think the problem is that the segment size needs to be increased but
my loader isn't recognizing the SEG#256 flag.  I've gone through my 
manuals but I cannot find an flag for the segment size in either the ld
or the cc section!

I'd like to call Altos but they're impossible to talk to without
a workorder number and I don't have that.  Can somebody e-mail me 
the right flags for this?

Thanks in advance.


Tony

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (02/15/89)

Here's what fixes "too many segs" on xenix 286... the flag isn't copied
from cc to ld, therefore use the -d option to see what load command is
actually generated. Type the ld command directly and add the -SEG option
as needed.

Thanks to Rich Pfeiffer (pfeiffer@ge-crd.arpa) if it works, he showed it
to me.
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

tony@joshua.math.ucla.edu (03/06/89)

Hello netland:

I'm not sure if this is the right newsgroup to ask so forgive me if
I offend anyone (I read comp.lang.c and some people really get offended
by questions asked in the wrong newsgroup).

I just recently got a compress 4.0 from uunet.uu.net and after
un-sharing the compress.patch I ended up with a xenix patch file 
that started with the following lines:

	22c22
	< # define USERMEM 	450000L	/* default user memory */
	---
	> # define USERMEM 	450000	/* default user memory */
	46,49d45
	< #ifndef M_XENIX
	< #  define huge		/* needed only for 16-bit machines */
	< #endif
	< 
	51c47

My question is how do you go about applying this patch to the c source?

Thanks in advance.

Tony Lei
tony@math.ucla.edu