fpc/rtl/linux
Pierre Muller b1a47a5d7d Use '__global_pointer$' special linker symbol to set gp,
because its value can be different from __BSS_END__ - 0x800.

Details from binutils-2.40/ld/emulparams/elf32lriscv-defs.sh
// We must cover as much of sdata as possible if it exists.  If sdata+bss is
// smaller than 0x1000 then we should start from bss end to cover as much of
// the program as possible.  But we can't allow gp to cover any of rodata, as
// the address of variables in rodata may change during relaxation, so we start
// from data in that case.
OTHER_END_SYMBOLS="${CREATE_SHLIB-__BSS_END__ = .;
    __global_pointer$ = MIN(__SDATA_BEGIN__ + 0x800,
                            MAX(__DATA_BEGIN__ + 0x800, __BSS_END__ - 0x800));}"
2025-01-16 17:20:14 +00:00
..
aarch64
arm
i386
loongarch64
m68k
mips
mips64
mips64el
mipsel
powerpc
powerpc64
riscv32
riscv64 Use '__global_pointer$' special linker symbol to set gp, 2025-01-16 17:20:14 +00:00
sparc
sparc64
sparcgen
x86_64
xtensa
buildrtl.lpi
buildrtl.pp
bunxsysc.inc
errno-mips.inc
errno-sparc.inc
errno.inc
errnostr.inc
fpcylix.pp
fpmake.inc
linux.pp
linuxvcs.pp
Makefile Fix directories for some source files, based on suggestion by Alfred Glänzer in #40995 2024-11-19 22:12:31 +00:00
Makefile.fpc + added unit unix98pty. Only enabled for linux, for now, but can be enabled in the future on other unix-likes. 2024-10-19 16:11:25 +03:00
osdefs.inc
osmacro.inc
ossysc.inc
ostypes.inc
pmutext.inc
pthread.inc
ptypes.inc
rtldefs.inc
si_c21.pp
si_c21g.pp
si_c.pp
si_dll.pp
si_g.pp
si_impl.inc
si_intf.inc
si_prc.pp
si_uc.pp
signal.inc
suuid.inc
sysnr-gen.inc
sysos.inc
sysosh.inc
system.pp Remove the rest of the VER3_0 conditionals. 2024-09-01 17:13:39 +00:00
t_linux.h2paschk
termio.pp
termios.inc
termiosproc.inc
unxconst.inc
unxfunc.inc
unxsysc.inc
unxsysch.inc