//uspace/trunk/libc/arch/ia64/src/entry.s |
---|
31,6 → 31,7 |
.org 0 |
.globl __entry |
.globl __entry_driver |
## User-space task entry point |
# |
39,7 → 40,13 |
alloc loc0 = ar.pfs, 0, 1, 2, 0 |
mov r1 = _gp |
{ br.call.sptk.many b0 = __main } |
{ br.call.sptk.many b0 = __io_init } |
{ br.call.sptk.many b0 = main } |
{ br.call.sptk.many b0 = __exit } |
.end __entry |
__entry_driver: |
alloc loc0 = ar.pfs, 0, 1, 2, 0 |
mov r1 = _gp |
{ br.call.sptk.many b0 = __main } |
{ br.call.sptk.many b0 = main } |
{ br.call.sptk.many b0 = __exit } |
//uspace/trunk/libc/arch/ppc32/src/entry.s |
---|
31,13 → 31,18 |
.org 0 |
.globl __entry |
.globl __entry_driver |
## User-space task entry point |
# |
# |
__entry: |
bl __main |
bl __main |
bl __io_init |
bl main |
bl __exit |
.end __entry |
__entry_driver: |
bl __main |
bl main |
bl __exit |
//uspace/trunk/libc/arch/amd64/src/entry.s |
---|
31,6 → 31,7 |
.org 0 |
.globl __entry |
.globl __entry_driver |
## User-space task entry point |
# |
37,7 → 38,11 |
# |
__entry: |
call __main |
call __io_init |
call main |
call __exit |
.end __entry |
__entry_driver: |
call __main |
call main |
call __exit |
//uspace/trunk/libc/arch/mips32/_link.ld.in |
---|
1,5 → 1,5 |
STARTUP(../libc/arch/ARCH/src/entry.o) |
ENTRY(__start) |
ENTRY(__entry) |
PHDRS { |
text PT_LOAD FLAGS(5); |
//uspace/trunk/libc/arch/mips32/src/entry.s |
---|
28,7 → 28,8 |
.text |
.section .init, "ax" |
.global __start |
.global __entry |
.global __entry_driver |
.set noreorder |
.option pic2 |
35,8 → 36,8 |
## User-space task entry point |
# |
# |
.ent __start |
__start: |
.ent __entry |
__entry: |
.frame $sp, 32, $31 |
.cpload $25 |
51,14 → 52,37 |
jal __main |
nop |
jal __io_init |
nop |
jal main |
nop |
jal __exit |
nop |
.ent __entry_driver |
__entry_driver: |
.frame $sp, 32, $31 |
.cpload $25 |
.end __start |
# Mips o32 may store its arguments on stack, make space (16 bytes), |
# so that it could work with -O0 |
# Make space additional 16 bytes for the stack frame |
addiu $sp, -32 |
.cprestore 16 # Allow PIC code |
jal __main |
nop |
jal main |
nop |
jal __exit |
nop |
# Alignment of output section data to 0x4000 |
.section .data |
.align 14 |
//uspace/trunk/libc/arch/ia32/src/entry.s |
---|
31,6 → 31,7 |
.org 0 |
.globl __entry |
.globl __entry_driver |
## User-space task entry point |
# |
42,8 → 43,18 |
mov %ax, %fs |
# Do not set %gs, it contains descriptor that can see TLS |
call __main |
call __main |
call __io_init |
call main |
call __exit |
.end __entry |
__entry_driver: |
mov %ss, %ax |
mov %ax, %ds |
mov %ax, %es |
mov %ax, %fs |
# Do not set %gs, it contains descriptor that can see TLS |
call __main |
call main |
call __exit |