[unix-pc.general] A new

kevin@kosman.UUCP (Kevin O'Gorman) (06/25/88)

Yuk!!

I just got the game Nethack, version 2.3, and went to compile this beast.
The make died on the first real source, with an error from *the assembler*!!!

Seems that /bin/cc was putting out 'br.b' instructions when it had no good
reason to think that the destination was close enough.  The assembler had
no choice but to choke.  I looked around, and the problem seemed to be an
assignment to a structure element in a conditional, in such a way that the
next thing to do was leave the current function.  The end of the function
was quite far away.

The problem went away if I set it up to not compile things into bitfields
(this is controlled by the config.h file).

So, the bug has something to do with bitfields in structures.

My questions is: does gnu cc do any better??

Anyone out there compiled nethack with gcc, and selected bitfields???

alex@umbc3.UMD.EDU (Alex S. Crain) (06/28/88)

In article <425@kosman.UUCP> kevin@kosman.UUCP (Kevin O'Gorman) writes:
>Yuk!!
>
>I just got the game Nethack, version 2.3, and went to compile this beast.
>The make died on the first real source, with an error from *the assembler*!!!
>
>Seems that /bin/cc was putting out 'br.b' instructions when it had no good
>reason to think that the destination was close enough.

	This is a bug in the optimizer. compile these files without -O and
it should work fine.

>
>My questions is: does gnu cc do any better??
>
>Anyone out there compiled nethack with gcc, and selected bitfields???

	gcc does not exibit this bug, as far as I know, although I never tried
it.



-- 
					:alex.

nerwin!alex@umbc3.umd.edu
alex@umbc3.umd.edu