1999-02-03 08:39:09 +00:00
|
|
|
#
|
|
|
|
# Copyright (c) 1998 Robert Nordier
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# Redistribution and use in source and binary forms are freely
|
|
|
|
# permitted provided that the above copyright notice and this
|
|
|
|
# paragraph and the following disclaimer are duplicated in all
|
|
|
|
# such forms.
|
|
|
|
#
|
|
|
|
# This software is provided "AS IS" and without any express or
|
|
|
|
# implied warranties, including, without limitation, the implied
|
|
|
|
# warranties of merchantability and fitness for a particular
|
|
|
|
# purpose.
|
|
|
|
#
|
|
|
|
|
1999-08-28 01:08:13 +00:00
|
|
|
# $FreeBSD$
|
1999-02-03 08:39:09 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# BTX C startup code (ELF).
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Globals.
|
|
|
|
#
|
|
|
|
.global _start
|
|
|
|
#
|
|
|
|
# Constants.
|
|
|
|
#
|
|
|
|
.set ARGADJ,0xfa0 # Argument adjustment
|
|
|
|
#
|
|
|
|
# Client entry point.
|
|
|
|
#
|
|
|
|
_start: movl %eax,__base # Set base address
|
|
|
|
movl %esp,%eax # Set
|
|
|
|
addl $ARGADJ,%eax # argument
|
|
|
|
movl %eax,__args # pointer
|
|
|
|
call main # Invoke client main()
|
|
|
|
call exit # Invoke client exit()
|
|
|
|
#
|
|
|
|
# Data.
|
|
|
|
#
|
|
|
|
.comm __base,4 # Client base address
|
|
|
|
.comm __args,4 # Client arguments
|