[net.unix] Object Files on Vax's Running Unix

sandy@uhpgvax.UUCP (Sandy Phipps) (11/20/85)

I would like some information or references that give
'detail' of the format for writing object files on vax's
under the UNIX  BSD 4.2 operating environment.
	Also any help on how to go about writing these files
for a small compiler.

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (11/23/85)

> I would like some information or references that give
> 'detail' of the format for writing object files on vax's
> under the UNIX  BSD 4.2 operating environment.
> 	Also any help on how to go about writing these files
> for a small compiler.

My advice is to generate assembly language and let the
existing assembler worry about generating object files.

joel@gould9.UUCP (Joel West) (11/27/85)

In article <245@uhpgvax.UUCP>, sandy@uhpgvax.UUCP (Sandy Phipps) writes:
> I would like some information or references that give
> 'detail' of the format for writing object files on vax's
> under the UNIX  BSD 4.2 operating environment.

I know this isn't what was asked for, but I'd agree, just use assembly
source output.  We tried to find out why all the existing compilers do 
it this way and came up with "just because".   I call this "THE CULT
OF THE MODULAR TOOLS."

However, it does make it a lot easier to debug, means you can write a 
very dumb one-pass code generator (you want dumb, look at cc -S with 
optimizing off) by letting the assembler resolve displacements, 
particularly all the the 127-bit displacement problems:

	jgeq	there		->	blss	ahead
					jmp	there
				ahead:

Also, as a side benefit, it's easy to write a compiler
that works under both VAX BSD and VAX System V.  The main
difference is that the System V doesn't support ".ascii"
directives. (yuk! :-()
-- 
	Joel West	 	(619) 457-9681
	CACI, Inc. Federal, 3344 N. Torrey Pines Ct., La Jolla, CA  92037
	{cbosgd,ihnp4,pyramid,sdcsvax,ucla-cs}!gould9!joel
	gould9!joel@nosc.ARPA

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (11/29/85)

> Also, as a side benefit, it's easy to write a compiler
> that works under both VAX BSD and VAX System V.  The main
> difference is that the System V doesn't support ".ascii"
> directives. (yuk! :-()

Other significant differences are in the semantics of .align,
and all the symbolic debugging stuff.