mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-20 09:49:08 +02:00
* Shared library dllrpt0.as init code for i386 and x86_64 CPUs
git-svn-id: trunk@19276 -
This commit is contained in:
parent
d5b8210359
commit
33604a6a49
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -7079,6 +7079,7 @@ rtl/freebsd/errnostr.inc svneol=native#text/plain
|
|||||||
rtl/freebsd/freebsd.pas -text svneol=unset#text/plain
|
rtl/freebsd/freebsd.pas -text svneol=unset#text/plain
|
||||||
rtl/freebsd/i386/bsyscall.inc svneol=native#text/plain
|
rtl/freebsd/i386/bsyscall.inc svneol=native#text/plain
|
||||||
rtl/freebsd/i386/cprt0.as svneol=native#text/plain
|
rtl/freebsd/i386/cprt0.as svneol=native#text/plain
|
||||||
|
rtl/freebsd/i386/dllprt0.as svneol=native#text/plain
|
||||||
rtl/freebsd/i386/gprt0.as svneol=native#text/plain
|
rtl/freebsd/i386/gprt0.as svneol=native#text/plain
|
||||||
rtl/freebsd/i386/identpatch.sh svneol=native#text/plain
|
rtl/freebsd/i386/identpatch.sh svneol=native#text/plain
|
||||||
rtl/freebsd/i386/prt0.as svneol=native#text/plain
|
rtl/freebsd/i386/prt0.as svneol=native#text/plain
|
||||||
@ -7106,6 +7107,7 @@ rtl/freebsd/unxsockh.inc svneol=native#text/plain
|
|||||||
rtl/freebsd/unxsysc.inc svneol=native#text/plain
|
rtl/freebsd/unxsysc.inc svneol=native#text/plain
|
||||||
rtl/freebsd/x86_64/bsyscall.inc svneol=native#text/plain
|
rtl/freebsd/x86_64/bsyscall.inc svneol=native#text/plain
|
||||||
rtl/freebsd/x86_64/cprt0.as svneol=native#text/plain
|
rtl/freebsd/x86_64/cprt0.as svneol=native#text/plain
|
||||||
|
rtl/freebsd/x86_64/dllprt0.as svneol=native#text/plain
|
||||||
rtl/freebsd/x86_64/gprt0.as svneol=native#text/plain
|
rtl/freebsd/x86_64/gprt0.as svneol=native#text/plain
|
||||||
rtl/freebsd/x86_64/prt0.as svneol=native#text/plain
|
rtl/freebsd/x86_64/prt0.as svneol=native#text/plain
|
||||||
rtl/freebsd/x86_64/si_c.inc svneol=native#text/plain
|
rtl/freebsd/x86_64/si_c.inc svneol=native#text/plain
|
||||||
|
@ -708,193 +708,193 @@ ifeq ($(FULL_TARGET),mipsel-linux)
|
|||||||
override TARGET_IMPLICITUNITS+=exeinfo
|
override TARGET_IMPLICITUNITS+=exeinfo
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-linux)
|
ifeq ($(FULL_TARGET),i386-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-win32)
|
ifeq ($(FULL_TARGET),i386-win32)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-os2)
|
ifeq ($(FULL_TARGET),i386-os2)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-beos)
|
ifeq ($(FULL_TARGET),i386-beos)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-haiku)
|
ifeq ($(FULL_TARGET),i386-haiku)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-solaris)
|
ifeq ($(FULL_TARGET),i386-solaris)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-qnx)
|
ifeq ($(FULL_TARGET),i386-qnx)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-netware)
|
ifeq ($(FULL_TARGET),i386-netware)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-darwin)
|
ifeq ($(FULL_TARGET),i386-darwin)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-emx)
|
ifeq ($(FULL_TARGET),i386-emx)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-watcom)
|
ifeq ($(FULL_TARGET),i386-watcom)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-wince)
|
ifeq ($(FULL_TARGET),i386-wince)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-embedded)
|
ifeq ($(FULL_TARGET),i386-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-symbian)
|
ifeq ($(FULL_TARGET),i386-symbian)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-nativent)
|
ifeq ($(FULL_TARGET),i386-nativent)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-iphonesim)
|
ifeq ($(FULL_TARGET),i386-iphonesim)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-linux)
|
ifeq ($(FULL_TARGET),m68k-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-atari)
|
ifeq ($(FULL_TARGET),m68k-atari)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-wii)
|
ifeq ($(FULL_TARGET),powerpc-wii)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-linux)
|
ifeq ($(FULL_TARGET),sparc-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-solaris)
|
ifeq ($(FULL_TARGET),x86_64-solaris)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-linux)
|
ifeq ($(FULL_TARGET),arm-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-palmos)
|
ifeq ($(FULL_TARGET),arm-palmos)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-darwin)
|
ifeq ($(FULL_TARGET),arm-darwin)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-wince)
|
ifeq ($(FULL_TARGET),arm-wince)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-gba)
|
ifeq ($(FULL_TARGET),arm-gba)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-nds)
|
ifeq ($(FULL_TARGET),arm-nds)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-embedded)
|
ifeq ($(FULL_TARGET),arm-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-symbian)
|
ifeq ($(FULL_TARGET),arm-symbian)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),avr-embedded)
|
ifeq ($(FULL_TARGET),avr-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),armeb-linux)
|
ifeq ($(FULL_TARGET),armeb-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),mipsel-linux)
|
ifeq ($(FULL_TARGET),mipsel-linux)
|
||||||
override TARGET_LOADERS+=prt0 cprt0 gprt0
|
override TARGET_LOADERS+=prt0 cprt0 gprt0 dllprt0
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-linux)
|
ifeq ($(FULL_TARGET),i386-linux)
|
||||||
override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst
|
override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst
|
||||||
@ -2185,7 +2185,7 @@ override FPCOPT+=-Aas
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
|
ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
|
||||||
ifneq ($(findstring $(OS_TARGET),linux solaris),)
|
ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
|
||||||
ifeq ($(CPU_TARGET),x86_64)
|
ifeq ($(CPU_TARGET),x86_64)
|
||||||
override FPCOPT+=-Cg
|
override FPCOPT+=-Cg
|
||||||
endif
|
endif
|
||||||
@ -2627,6 +2627,8 @@ cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
|
|||||||
$(AS) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
|
$(AS) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
|
||||||
gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
|
gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
|
||||||
$(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
|
$(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
|
||||||
|
dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
|
||||||
|
$(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
|
||||||
$(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp unxconst.inc $(SYSDEPS)
|
$(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp unxconst.inc $(SYSDEPS)
|
||||||
$(COMPILER) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp
|
$(COMPILER) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp
|
||||||
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
|
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
|
||||||
|
@ -9,7 +9,7 @@ main=rtl
|
|||||||
fpcpackage=y
|
fpcpackage=y
|
||||||
|
|
||||||
[target]
|
[target]
|
||||||
loaders=prt0 cprt0 gprt0
|
loaders=prt0 cprt0 gprt0 dllprt0
|
||||||
units=$(SYSTEMUNIT) unixtype ctypes objpas macpas iso7185 \
|
units=$(SYSTEMUNIT) unixtype ctypes objpas macpas iso7185 \
|
||||||
strings syscall sysctl baseunix unixutil character \
|
strings syscall sysctl baseunix unixutil character \
|
||||||
unix rtlconsts initc cmem matrix \
|
unix rtlconsts initc cmem matrix \
|
||||||
@ -120,6 +120,9 @@ cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
|
|||||||
gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
|
gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
|
||||||
$(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
|
$(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
|
||||||
|
|
||||||
|
dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
|
||||||
|
$(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as
|
||||||
|
|
||||||
#
|
#
|
||||||
# System Units (System, Objpas, Strings)
|
# System Units (System, Objpas, Strings)
|
||||||
#
|
#
|
||||||
|
111
rtl/freebsd/i386/dllprt0.as
Normal file
111
rtl/freebsd/i386/dllprt0.as
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
#
|
||||||
|
# This file is part of the Free Pascal run time library.
|
||||||
|
# Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
|
||||||
|
# and Peter Vreman
|
||||||
|
# members of the Free Pascal development team.
|
||||||
|
#
|
||||||
|
# See the file COPYING.FPC, included in this distribution,
|
||||||
|
# for details about the copyright.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY;without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
#
|
||||||
|
#**********************************************************************}
|
||||||
|
#
|
||||||
|
# FreeBSD standard (shared) ELF startup code for Free Pascal
|
||||||
|
#
|
||||||
|
# FreeBSD RunTime dynamic loader only
|
||||||
|
# calls the functions specified by -init
|
||||||
|
# as functions without parameters
|
||||||
|
# Thus, it is not possible to retrieve argc, argv and envp
|
||||||
|
# for libraries.
|
||||||
|
# On x86_64 CPU, using weak for the operatingsystem_parameter_XXX
|
||||||
|
# allows to bind to main program parameters,
|
||||||
|
# but this does not seem to work for i386 loader.
|
||||||
|
|
||||||
|
.file "dllprt0.as"
|
||||||
|
.version "01.01"
|
||||||
|
gcc2_compiled.:
|
||||||
|
.section .rodata
|
||||||
|
.LC0:
|
||||||
|
.ascii "\0"
|
||||||
|
.data
|
||||||
|
.p2align 2
|
||||||
|
.globl __progname
|
||||||
|
.type __progname,@object
|
||||||
|
.size __progname,4
|
||||||
|
__progname:
|
||||||
|
.long .LC0
|
||||||
|
.align 4
|
||||||
|
.type __fpucw,@object
|
||||||
|
.size __fpucw,4
|
||||||
|
.global __fpucw
|
||||||
|
___fpucw:
|
||||||
|
.long 0x1332
|
||||||
|
|
||||||
|
.globl ___fpc_brk_addr /* heap management */
|
||||||
|
.type ___fpc_brk_addr,@object
|
||||||
|
.size ___fpc_brk_addr,4
|
||||||
|
|
||||||
|
.text
|
||||||
|
.p2align 2,,3
|
||||||
|
.globl FPC_LIB_START
|
||||||
|
.type FPC_LIB_START,@function
|
||||||
|
FPC_LIB_START:
|
||||||
|
.globl FPC_SHARED_LIB_START
|
||||||
|
.type FPC_SHARED_LIB_START,@function
|
||||||
|
FPC_SHARED_LIB_START:
|
||||||
|
movb $1,operatingsystem_islibrary
|
||||||
|
|
||||||
|
finit /* initialize fpu */
|
||||||
|
fwait
|
||||||
|
fldcw ___fpucw
|
||||||
|
|
||||||
|
/* xorl %ebp,%ebp */
|
||||||
|
|
||||||
|
call PASCALMAIN@PLT
|
||||||
|
ret
|
||||||
|
|
||||||
|
pushl %eax
|
||||||
|
jmp _haltproc
|
||||||
|
|
||||||
|
.p2align 2,0x90
|
||||||
|
.globl _haltproc
|
||||||
|
.type _haltproc,@function
|
||||||
|
|
||||||
|
_haltproc:
|
||||||
|
.globl FPC_SHARED_LIB_EXIT
|
||||||
|
.type FPC_SHARED_LIB_EXIT,@function
|
||||||
|
FPC_SHARED_LIB_EXIT:
|
||||||
|
call FPC_LIB_EXIT@PLT
|
||||||
|
mov $1,%eax
|
||||||
|
movzwl operatingsystem_result,%ebx
|
||||||
|
pushl %ebx
|
||||||
|
call _actualsyscall
|
||||||
|
addl $4,%esp
|
||||||
|
jmp _haltproc
|
||||||
|
|
||||||
|
_actualsyscall:
|
||||||
|
int $0x80
|
||||||
|
jb .LErrorcode
|
||||||
|
xor %ebx,%ebx
|
||||||
|
ret
|
||||||
|
.LErrorcode:
|
||||||
|
mov %eax,%ebx
|
||||||
|
mov $-1,%eax
|
||||||
|
ret
|
||||||
|
.comm environ,4,4
|
||||||
|
.weak _DYNAMIC
|
||||||
|
.ident "GCC: (GNU) 2.7.2.1"
|
||||||
|
|
||||||
|
|
||||||
|
__stkptr:
|
||||||
|
.skip 4
|
||||||
|
|
||||||
|
.comm operatingsystem_parameter_envp,4
|
||||||
|
.comm operatingsystem_parameter_argc,4
|
||||||
|
.comm operatingsystem_parameter_argv,4
|
||||||
|
|
||||||
|
//.section .threadvar,"aw",@nobits
|
||||||
|
.comm ___fpc_threadvar_offset,4
|
78
rtl/freebsd/x86_64/dllprt0.as
Normal file
78
rtl/freebsd/x86_64/dllprt0.as
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
#
|
||||||
|
# This file is part of the Free Pascal run time library.
|
||||||
|
# Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
|
||||||
|
# and Peter Vreman
|
||||||
|
# members of the Free Pascal development team.
|
||||||
|
#
|
||||||
|
# See the file COPYING.FPC, included in this distribution,
|
||||||
|
# for details about the copyright.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY;without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
#
|
||||||
|
#**********************************************************************}
|
||||||
|
#
|
||||||
|
# FreeBSD standard (shared) ELF startup code for Free Pascal
|
||||||
|
#
|
||||||
|
# FreeBSD RunTime dynamic loader only
|
||||||
|
# calls the functions specified by -init
|
||||||
|
# as functions without parameters
|
||||||
|
# Thus, it is not possible to retrieve argc, argv and envp
|
||||||
|
# for libraries.
|
||||||
|
# On x86_64 CPU, using weak for the operatingsystem_parameter_XXX
|
||||||
|
# allows to bind to main program parameters,
|
||||||
|
# but this does not seem to work for i386 loader.
|
||||||
|
|
||||||
|
.file "crt1.c"
|
||||||
|
#APP
|
||||||
|
.ident "$FreeBSD: src/lib/csu/common/crtbrand.c,v 1.4 2003/10/17 15:43:13 peter Exp $"
|
||||||
|
#NO_APP
|
||||||
|
.section .note.ABI-tag,"a",@progbits
|
||||||
|
.p2align 2
|
||||||
|
.type abitag, @object
|
||||||
|
.size abitag, 24
|
||||||
|
abitag:
|
||||||
|
.long 8
|
||||||
|
.long 4
|
||||||
|
.long 1
|
||||||
|
.string "FreeBSD"
|
||||||
|
.long 700055
|
||||||
|
|
||||||
|
.text
|
||||||
|
#APP
|
||||||
|
.ident "$FreeBSD: src/lib/csu/amd64/crt1.c,v 1.13 2003/04/30 19:27:07 peter Exp $"
|
||||||
|
#NO_APP
|
||||||
|
.p2align 2,,3
|
||||||
|
.globl FPC_LIB_START
|
||||||
|
.type FPC_LIB_START,@function
|
||||||
|
FPC_LIB_START:
|
||||||
|
.globl FPC_SHARED_LIB_START
|
||||||
|
.type FPC_SHARED_LIB_START,@function
|
||||||
|
FPC_SHARED_LIB_START:
|
||||||
|
# jmp _startlib@PLT
|
||||||
|
movb $1,operatingsystem_islibrary(%rip)
|
||||||
|
#movq operatingsystem_islibrary@GOTPCREL(%rip),%rax
|
||||||
|
#movb $1,(%rax)
|
||||||
|
call PASCALMAIN@PLT
|
||||||
|
ret
|
||||||
|
.p2align 2,,3
|
||||||
|
.globl _haltproc
|
||||||
|
.type _haltproc,@function
|
||||||
|
/* this routine is only called when the halt() routine of the RTL embedded in
|
||||||
|
the shared library is called */
|
||||||
|
_haltproc:
|
||||||
|
.globl FPC_SHARED_LIB_EXIT
|
||||||
|
.type FPC_SHARED_LIB_EXIT,@function
|
||||||
|
FPC_SHARED_LIB_EXIT:
|
||||||
|
call FPC_LIB_EXIT@PLT
|
||||||
|
movl $1,%eax /* exit syscall */
|
||||||
|
movq operatingsystem_result(%rip),%rbx
|
||||||
|
movzwl (%rbx),%edi
|
||||||
|
syscall
|
||||||
|
jmp _haltproc@PLT
|
||||||
|
/* Do not fail linkage if argc, argv and envp are not found. */
|
||||||
|
.weak operatingsystem_parameter_argc
|
||||||
|
.weak operatingsystem_parameter_argv
|
||||||
|
.weak operatingsystem_parameter_envp
|
||||||
|
|
Loading…
Reference in New Issue
Block a user