Gentoo Archives: gentoo-sparc

From: Alex Buell <alex.buell@××××××××××.uk>
To: gentoo-sparc@l.g.o
Subject: [gentoo-sparc] Why is a simple hello world in 64 bit assembly program 65k bytes long?
Date: Tue, 26 Dec 2006 14:41:43
My code:

.equ STDIN, 0
.equ STDOUT, 1
.equ STDERR, 2

        .align 4
        .global _start

        mov STDOUT, %o0
        set string, %o1
        mov 14, %o2
        mov SYSCALL_WRITE, %g1
        ta 0x10

        mov 0, %o0
        mov SYSCALL_EXIT, %g1
        ta 0x10

        .align 4

.ascii  "Hello world!\n"

How I build it:
as -64 -o hello.o hello.s
ld -e _start --oformat=elf64-sparc -o hello hello.o
ld: warning: sparc:v9 architecture of input file `hello.o' is
incompatible with sparc output strip hello

file hello
hello: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV),
statically linked, stripped

ls -l
total 24
-rwxr-xr-x 1 root root 66032 2006-12-26 14:39 hello
-rw-r--r-- 1 root root  1056 2006-12-26 14:39 hello.o
-rw-r--r-- 1 root root   296 2006-12-25 10:07 hello.s
-rw-r--r-- 1 root root   187 2006-12-25 10:27 Makefile

Why is the hello executable 66,032 bytes long?

You've been eating the cat food again, haven't you?
gentoo-sparc@g.o mailing list