My code:
.equ SYSCALL_EXIT, 1
.equ SYSCALL_WRITE, 4
.equ STDIN, 0
.equ STDOUT, 1
.equ STDERR, 2
.align 4
.global _start
_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
string:
.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?
--
http://www.munted.org.uk
You've been eating the cat food again, haven't you?
--
gentoo-sparc@gentoo.org mailing list
.equ SYSCALL_EXIT, 1
.equ SYSCALL_WRITE, 4
.equ STDIN, 0
.equ STDOUT, 1
.equ STDERR, 2
.align 4
.global _start
_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
string:
.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?
--
http://www.munted.org.uk
You've been eating the cat food again, haven't you?
--
gentoo-sparc@gentoo.org mailing list