* only i386 needs cprt21 to link with glibc 2.1+

This commit is contained in:
peter 2004-03-10 20:38:59 +00:00
parent 759c514cf1
commit c0d3ba3a67
7 changed files with 20 additions and 50 deletions

View File

@ -1,5 +1,5 @@
# #
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05] # Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/03]
# #
default: all default: all
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
@ -185,11 +185,14 @@ override FPCDIR:=$(FPCDIR)/..
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
override FPCDIR:=$(FPCDIR)/.. override FPCDIR:=$(FPCDIR)/..
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
override FPCDIR:=$(BASEDIR)
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
override FPCDIR=c:/pp override FPCDIR=c:/pp
endif endif
endif endif
endif endif
endif endif
endif
ifndef CROSSDIR ifndef CROSSDIR
CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
endif endif
@ -211,6 +214,7 @@ INC=$(RTL)/inc
PROCINC=$(RTL)/$(CPU_TARGET) PROCINC=$(RTL)/$(CPU_TARGET)
UNIXINC=$(RTL)/unix UNIXINC=$(RTL)/unix
ifeq ($(CPU_TARGET),i386) ifeq ($(CPU_TARGET),i386)
CRT21=cprt21 gprt21
CPU_UNITS=x86 ports cpu mmx graph CPU_UNITS=x86 ports cpu mmx graph
else else
CPU_UNITS= CPU_UNITS=
@ -240,7 +244,7 @@ ifndef USELIBGGI
USELIBGGI=NO USELIBGGI=NO
endif endif
override TARGET_UNITS+=$(SYSTEMUNIT) unixtype baseunix strings systhrds objpas syscall unixutil heaptrc lineinfo $(LINUXUNIT1) termio unix $(LINUXUNIT2) initc $(CPU_UNITS) dos crt objects printer ggigraph sysutils typinfo math varutils charset ucomplex getopts errors sockets gpm ipc serial terminfo dl dynlibs video mouse keyboard variants types dateutils sysconst cthreads classes strutils rtlconst override TARGET_UNITS+=$(SYSTEMUNIT) unixtype baseunix strings systhrds objpas syscall unixutil heaptrc lineinfo $(LINUXUNIT1) termio unix $(LINUXUNIT2) initc $(CPU_UNITS) dos crt objects printer ggigraph sysutils typinfo math varutils charset ucomplex getopts errors sockets gpm ipc serial terminfo dl dynlibs video mouse keyboard variants types dateutils sysconst cthreads classes strutils rtlconst
override TARGET_LOADERS+=prt0 dllprt0 cprt0 gprt0 cprt21 gprt21 override TARGET_LOADERS+=prt0 dllprt0 cprt0 gprt0 $(CRT21)
override TARGET_RSTS+=math varutils typinfo variants systhrds sysconst rtlconst override TARGET_RSTS+=math varutils typinfo variants systhrds sysconst rtlconst
override CLEAN_UNITS+=syslinux linux override CLEAN_UNITS+=syslinux linux
override INSTALL_FPCPACKAGE=y override INSTALL_FPCPACKAGE=y
@ -1368,8 +1372,8 @@ cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
$(AS) -o cprt0$(OEXT) $(CPU_TARGET)/cprt0.as $(AS) -o cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
cprt21$(OEXT) : $(CPU_TARGET)/cprt21.as cprt21$(OEXT) : $(CPU_TARGET)/cprt21.as
$(AS) -o cprt21$(OEXT) $(CPU_TARGET)/cprt21.as $(AS) -o cprt21$(OEXT) $(CPU_TARGET)/cprt21.as
gprt21$(OEXT) : $(CPU_TARGET)/gprt0.as gprt21$(OEXT) : $(CPU_TARGET)/gprt21.as
$(AS) -o gprt21$(OEXT) $(CPU_TARGET)/gprt0.as $(AS) -o gprt21$(OEXT) $(CPU_TARGET)/gprt21.as
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp sysconst.inc systypes.inc $(SYSDEPS) $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp sysconst.inc systypes.inc $(SYSDEPS)
$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(COMPILER) -Us -Sg $(SYSTEMUNIT).pp
systhrds$(PPUEXT): systhrds.pp $(INC)/threadh.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) systhrds$(PPUEXT): systhrds.pp $(INC)/threadh.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT)

View File

@ -6,7 +6,7 @@
main=rtl main=rtl
[target] [target]
loaders=prt0 dllprt0 cprt0 gprt0 cprt21 gprt21 loaders=prt0 dllprt0 cprt0 gprt0 $(CRT21)
units=$(SYSTEMUNIT) unixtype baseunix strings systhrds objpas syscall unixutil \ units=$(SYSTEMUNIT) unixtype baseunix strings systhrds objpas syscall unixutil \
heaptrc lineinfo \ heaptrc lineinfo \
$(LINUXUNIT1) termio unix $(LINUXUNIT2) initc $(CPU_UNITS) \ $(LINUXUNIT1) termio unix $(LINUXUNIT2) initc $(CPU_UNITS) \
@ -54,6 +54,7 @@ PROCINC=$(RTL)/$(CPU_TARGET)
UNIXINC=$(RTL)/unix UNIXINC=$(RTL)/unix
ifeq ($(CPU_TARGET),i386) ifeq ($(CPU_TARGET),i386)
CRT21=cprt21 gprt21
CPU_UNITS=x86 ports cpu mmx graph CPU_UNITS=x86 ports cpu mmx graph
else else
CPU_UNITS= CPU_UNITS=
@ -133,9 +134,8 @@ cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
cprt21$(OEXT) : $(CPU_TARGET)/cprt21.as cprt21$(OEXT) : $(CPU_TARGET)/cprt21.as
$(AS) -o cprt21$(OEXT) $(CPU_TARGET)/cprt21.as $(AS) -o cprt21$(OEXT) $(CPU_TARGET)/cprt21.as
# still need to use gprt1, because gprt21 crashes gprt21$(OEXT) : $(CPU_TARGET)/gprt21.as
gprt21$(OEXT) : $(CPU_TARGET)/gprt0.as $(AS) -o gprt21$(OEXT) $(CPU_TARGET)/gprt21.as
$(AS) -o gprt21$(OEXT) $(CPU_TARGET)/gprt0.as
# #

View File

@ -45,13 +45,11 @@ _start:
pushl $_init_dummy pushl $_init_dummy
pushl %ebx pushl %ebx
pushl %esi pushl %esi
pushl $main pushl $cmain
call __libc_start_main call __libc_start_main
hlt hlt
/* fake main routine which will be run from libc */ /* fake main routine which will be run from libc */
.globl cmain
.type cmain,@object
cmain: cmain:
/* save return address */ /* save return address */
popl %eax popl %eax
@ -61,6 +59,8 @@ cmain:
movl %edi,___fpc_ret_edi movl %edi,___fpc_ret_edi
pushl %eax pushl %eax
call __gmon_start__
/* start the program */ /* start the program */
call PASCALMAIN call PASCALMAIN
hlt hlt
@ -81,7 +81,7 @@ _fini_dummy:
ret ret
.globl __gmon_start__ .globl __gmon_start__
.type __gmon_start__,@object .type __gmon_start__,@function
__gmon_start__: __gmon_start__:
pushl %ebp pushl %ebp
movl __monstarted,%eax movl __monstarted,%eax
@ -125,6 +125,9 @@ ___fpc_ret_edi:
# #
# $Log$ # $Log$
# Revision 1.4 2002-09-07 16:01:20 peter # Revision 1.5 2004-03-10 20:38:59 peter
# * only i386 needs cprt21 to link with glibc 2.1+
#
# Revision 1.4 2002/09/07 16:01:20 peter
# * old logs removed and tabs fixed # * old logs removed and tabs fixed
# #

View File

@ -1,15 +0,0 @@
/*
$Id$
*/
/*
$Log$
Revision 1.3 2002-09-07 16:01:20 peter
* old logs removed and tabs fixed
Revision 1.2 2002/07/26 17:09:44 florian
* log fixed
Revision 1.1 2002/07/26 17:07:11 florian
+ dummy implementation to test the makefile
*/

View File

@ -1,9 +0,0 @@
/*
$Id$
*/
/*
$Log$
Revision 1.3 2003-05-23 21:09:14 florian
+ dummy implementation readded to satisfy makefile
*/

View File

@ -1,13 +0,0 @@
/*
$Id$
Dummy implementation
*/
/*
$Log$
Revision 1.1 2003-01-06 19:39:17 florian
+ dummy implementations
*/