Path: utzoo!attcan!uunet!husc6!think!ames!hc!hi.unm.edu!cyrus
From: cyrus@hi.unm.edu (Tait Cyrus)
Newsgroups: comp.sys.encore
Subject: `ld' command
Keywords: org used/not_used by loader
Message-ID: <23626@hi.unm.edu>
Date: 17 Aug 88 03:11:48 GMT
Organization: U. of New Mexico, Albuquerque
Lines: 24


I have be playing with creating my own crt0.o to be loaded by `ld'.
My `crt0.s' roughly looks like:
        .file   "crt0.s"
        .text
        .align  16
        .org 0x3a00
start:
	bsr	?_main
	.... etc

Compiling this with a simple "hello world" program, and then running
`aoutdump' on the resultant `a.out', the physical address of the text
segment does NOT show as being at 0x3a00.  It instead shows it as being
at 0x0 with a size a little bigger than 0x3a00.  What it IS doing is
indeed putting `start' at 0x3a00, but prepending 0x3a00 zeros.  I don't
want that because that is a waste.  I don't want all of the leading
zeros.

How can I get `ld' to NOT prepend all the zeros?  It is a waste
to be able to specify the physical address in the a.out
header (scnhdr(5) -> s_paddr) and then not make use of it.

Thanks in advance for any ideas/thoughts/suggestion/comments/etc....