* fixed FreeBSD 6 cprt0.as Use -Xf from now on.

git-svn-id: trunk@2097 -
This commit is contained in:
marco 2005-12-31 15:39:35 +00:00
parent 226ef51699
commit a5276e396e

View File

@ -1,5 +1,5 @@
# #
# $Id: cprt0.as,v 1.4 2004/07/03 21:50:30 daniel Exp $ # $Id: cprt0.as,v 1.3 2000/11/21 19:03:23 marco Exp $
# This file is part of the Free Pascal run time library. # This file is part of the Free Pascal run time library.
# Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt # Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
# and Peter Vreman # and Peter Vreman
@ -18,36 +18,48 @@
# #
.file "cprt0.as" .file "cprt0.as"
.version "01.01" .ident "FreePascal 2.0.x series with FreeBSD 5/6 patch"
gcc2_compiled.: .section .note.ABI-tag,"a",@progbits
.globl __progname .p2align 2
.section .rodata .type abitag, @object
.size abitag, 24
abitag:
.long 8
.long 4
.long 1
.string "FreeBSD"
.long 504000
.section .rodata.str1.1,"aMS",@progbits,1
.LC0: .LC0:
.ascii "\0" .string ""
.data .globl __progname
.data
.p2align 2 .p2align 2
.type __progname,@object .type __progname,@object
.size __progname,4 .size __progname,4
__progname: __progname:
.long .LC0 .long .LC0
.align 4 .text
.p2align 2,,3
___fpucw: ___fpucw:
.long 0x1332 .long 0x1332
.globl ___fpc_brk_addr /* heap management */ .globl ___fpc_brk_addr /* heap management */
.type ___fpc_brk_addr,@object .type ___fpc_brk_addr,@object
.size ___fpc_brk_addr,4 .size ___fpc_brk_addr,4
___fpc_brk_addr: ___fpc_brk_addr:
.long 0 .long 0
.text
.text .p2align 4,,15
.p2align 2
.globl _start .globl _start
.type _start,@function .type _start,@function
_start: _start:
pushl %ebp pushl %ebp
movl %esp,%ebp movl %esp,%ebp
subl $40,%esp
call get_rtld_cleanup
movl %eax,%edx
pushl %edi pushl %edi
pushl %esi pushl %esi
pushl %ebx pushl %ebx
@ -83,7 +95,7 @@ _start:
.L2: .L2:
movl $_DYNAMIC,%eax movl $_DYNAMIC,%eax
testl %eax,%eax testl %eax,%eax
je .L9 je .LTLS
pushl %edx pushl %edx
call atexit call atexit
addl $4,%esp addl $4,%esp
@ -108,9 +120,12 @@ _start:
call main call main
pushl %eax pushl %eax
jmp _haltproc jmp _haltproc
.LTLS:
call _init_tls
jmp .L9
.p2align 2,0x90 .p2align 2,0x90
.globl _haltproc .globl _haltproc
.type _haltproc,@function .type _haltproc,@function
@ -133,14 +148,25 @@ _haltproc:
ret ret
.p2align 2,0x90 .p2align 2,0x90
.Lfe1: .Lfe1:
.size _start,.Lfe1-_start .size _start,.Lfe1-_start
.comm environ,4,4 .comm environ,4,4
.weak _DYNAMIC .p2align 4,,15
.ident "GCC: (GNU) 2.7.2.1" .type get_rtld_cleanup, @function
get_rtld_cleanup:
pushl %ebp
movl %esp, %ebp
subl $4, %esp
#APP
movl %edx,-4(%ebp)
#NO_APP
movl -4(%ebp), %eax
leave
ret
.weak _DYNAMIC
.ident "GCC: (GNU) 3.4.2 - FPC: 2.0.2"
.bss .bss
.comm operatingsystem_parameter_envp,4 .comm operatingsystem_parameter_envp,4
.comm operatingsystem_parameter_argc,4 .comm operatingsystem_parameter_argc,4
.comm operatingsystem_parameter_argv,4 .comm operatingsystem_parameter_argv,4