mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 09:09:37 +02:00
+ x86_64-linux: build ABI tag separately, the purpose it twofold: 1) it is the only part of startup that cannot be yet handled directly by compiler, 2) it provides a single point to modify whenever necessary.
git-svn-id: trunk@29558 -
This commit is contained in:
parent
bb8de483f2
commit
e2eb6dffbb
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -8602,6 +8602,7 @@ rtl/linux/unxconst.inc svneol=native#text/plain
|
||||
rtl/linux/unxfunc.inc svneol=native#text/plain
|
||||
rtl/linux/unxsysc.inc svneol=native#text/plain
|
||||
rtl/linux/unxsysch.inc svneol=native#text/plain
|
||||
rtl/linux/x86_64/abitag.as svneol=native#text/plain
|
||||
rtl/linux/x86_64/bsyscall.inc svneol=native#text/plain
|
||||
rtl/linux/x86_64/cprt0.as svneol=native#text/plain
|
||||
rtl/linux/x86_64/dllprt0.as svneol=native#text/plain
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-12-07 rev 29213]
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-01-05 rev 29399]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos
|
||||
@ -349,6 +349,7 @@ endif
|
||||
ifeq ($(ARCH),x86_64)
|
||||
CPU_UNITS=x86 ports cpu
|
||||
SYSINIT_UNITS=si_prc si_c si_g si_dll
|
||||
override LOADERS+=abitag
|
||||
endif
|
||||
ifeq ($(ARCH),mipsel)
|
||||
override FPCOPT+=-Ur
|
||||
@ -2974,7 +2975,7 @@ ifdef CREATESHARED
|
||||
override FPCOPT+=-Cg
|
||||
endif
|
||||
ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),)
|
||||
ifeq ($(CPU_TARGET),x86_64)
|
||||
ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel),)
|
||||
override FPCOPT+=-Cg
|
||||
endif
|
||||
endif
|
||||
@ -3448,6 +3449,8 @@ ifeq ($(ARCH),arm)
|
||||
endif
|
||||
prt0$(OEXT) : $(ARCH)/prt0.as
|
||||
$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
|
||||
abitag$(OEXT) : $(ARCH)/abitag.as
|
||||
$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)abitag$(OEXT) $(ARCH)/abitag.as
|
||||
dllprt0$(OEXT) : $(ARCH)/dllprt0.as
|
||||
ifndef ARMTHUMB
|
||||
$(AS) $(ASTARGET) $(ASSHAREDOPT) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(ARCH)/dllprt0.as
|
||||
|
@ -77,6 +77,7 @@ endif
|
||||
ifeq ($(ARCH),x86_64)
|
||||
CPU_UNITS=x86 ports cpu
|
||||
SYSINIT_UNITS=si_prc si_c si_g si_dll
|
||||
override LOADERS+=abitag
|
||||
endif
|
||||
|
||||
# mipsel reuses mips files by including so some file names exist
|
||||
@ -163,6 +164,8 @@ endif
|
||||
prt0$(OEXT) : $(ARCH)/prt0.as
|
||||
$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
|
||||
|
||||
abitag$(OEXT) : $(ARCH)/abitag.as
|
||||
$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)abitag$(OEXT) $(ARCH)/abitag.as
|
||||
|
||||
# ASSHAREDOPT adds -KPIC mandatoy for mips/mipsel objects in shared libs
|
||||
#
|
||||
|
29
rtl/linux/x86_64/abitag.as
Normal file
29
rtl/linux/x86_64/abitag.as
Normal file
@ -0,0 +1,29 @@
|
||||
#
|
||||
# This file is part of the Free Pascal run time library.
|
||||
# Copyright (c) 2002 by Florian Klaempfl
|
||||
# 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.
|
||||
#
|
||||
#**********************************************************************
|
||||
|
||||
.file "abitag.as"
|
||||
|
||||
.section ".note.ABI-tag", "a"
|
||||
.align 4
|
||||
.long 1f - 0f
|
||||
.long 3f - 2f
|
||||
.long 1
|
||||
0: .asciz "GNU"
|
||||
1: .align 4
|
||||
2: .long 0
|
||||
.long 2,4,0
|
||||
3: .align 4
|
||||
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
Loading…
Reference in New Issue
Block a user