cyrus@hi.unm.edu (Tait Cyrus) (08/17/88)
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....