Commit Graph

344 Commits

Author SHA1 Message Date
nickysn
f15c2db4b2 * moved some C type declarations to si_intf.inc
git-svn-id: trunk@41753 -
2019-03-20 16:23:34 +00:00
nickysn
fb3d287971 * fixed OpenBSD shared library initialization
git-svn-id: trunk@41752 -
2019-03-20 16:09:07 +00:00
nickysn
52a5669117 + enable weak externals for OpenBSD
* converted the reference to _init in si_dll to be a weak external. This way we
  can support creating shared libraries that link to the C library as well as
  libraries that do not. If libc was linked, the compiler will link in
  crtbeginS.o and crtendS.o; _init is defined in crtbeginS.o and initializes the
  C library and calls all the C static constructors.

git-svn-id: trunk@41751 -
2019-03-20 15:13:47 +00:00
nickysn
aad032f133 * converted _FPC_proc___start in OpenBSD's si_dll.inc to pascal
git-svn-id: trunk@41750 -
2019-03-20 14:55:35 +00:00
nickysn
fb793ff251 - comment out more unused gprof code
git-svn-id: trunk@41746 -
2019-03-19 18:32:54 +00:00
nickysn
2960399f9a * call c_exit directly in case PASCALMAIN finishes, to avoid inline asm entirely
in the _FPC_proc___start routine in the libc version of the OpenBSD startup
  code for x86_64

git-svn-id: trunk@41745 -
2019-03-19 18:28:20 +00:00
nickysn
4715ad605b - don't export the ___start symbol in the OpenBSD startup code
git-svn-id: trunk@41744 -
2019-03-19 17:40:46 +00:00
nickysn
144f31c94f * call the exit() routine from the C libraries in the FPC haltproc on OpenBSD
x86_64, libc startup code

git-svn-id: trunk@41743 -
2019-03-19 17:27:11 +00:00
nickysn
094ad635f7 - don't call monstartup, because that initializes the gprof profiler and should
only be called for programs, compiled with -pg (which is not yet implemented
  for the OpenBSD target and which will use a different sysinit unit for such
  programs, when implemented)

git-svn-id: trunk@41741 -
2019-03-19 16:51:04 +00:00
nickysn
34a8032e11 * link to crtbegin.o/crtend.o instead of crtbeginS.o/crtendS.o when creating
normal OpenBSD programs (not shared libraries) that link to the C library,
  even when PIC code generation has been turned on. This is what gcc and clang
  do on this platform.

git-svn-id: trunk@41740 -
2019-03-19 16:36:38 +00:00
nickysn
d1a91a380b * the OpenBSD x86_64 C library startup code converted to Pascal
git-svn-id: trunk@41739 -
2019-03-19 14:58:46 +00:00
nickysn
76623648e4 * updated the declarations to externals in the C library in the OpenBSD startup
code si_c.inc, in preparation to converting the startup procedure to Pascal

git-svn-id: trunk@41738 -
2019-03-19 14:42:31 +00:00
nickysn
cf2aa6fdb7 * slight change to the OpenBSD startup code, to allow Low(__progname_storage)<>0
(not that it's going to be changed that way, but it doesn't hurt for the code
  to be more robust; and it doesn't affect performance, since the compiler
  optimizes x-0 to x)

git-svn-id: trunk@41737 -
2019-03-19 13:34:42 +00:00
nickysn
60d21cc041 * converted _FPC_proc___start in the OpenBSD x86_64 nonlibc startup code to Pascal
git-svn-id: trunk@41736 -
2019-03-18 19:08:22 +00:00
nickysn
b56c181500 + added comments with the parameters of _FPC_proc___start in the OpenBSD x86_64 startup code
git-svn-id: trunk@41735 -
2019-03-18 18:31:32 +00:00
nickysn
7e24c07690 + added comment for the parameter, containing the environment
git-svn-id: trunk@41734 -
2019-03-18 18:14:11 +00:00
nickysn
66744f2f1e * _strrchr in the OpenBSD x86_64 startup code converted to Pascal
git-svn-id: trunk@41733 -
2019-03-18 17:28:46 +00:00
pierre
74fed2a4cd Regenerate Makefile's after fpcmake change in commit #41721
git-svn-id: trunk@41723 -
2019-03-17 14:45:03 +00:00
nickysn
df11fcc9e3 * compilation fix for i386-openbsd
git-svn-id: trunk@41711 -
2019-03-15 13:46:58 +00:00
nickysn
d8f79c7363 * converted the openbsd_ident.as loader to pascal
git-svn-id: trunk@41710 -
2019-03-15 13:35:10 +00:00
nickysn
ea5168aa16 * ported dllprt0.as for OpenBSD x86_64 to inline asm in si_dll.inc
git-svn-id: trunk@41708 -
2019-03-14 22:53:22 +00:00
nickysn
19e1336043 * fixed the _eprol and _etext references in si_c.inc for OpenBSD x86_64
git-svn-id: trunk@41706 -
2019-03-14 21:44:39 +00:00
nickysn
c856879c96 * ported OpenBSD's x86_64 cprt0.as to inline asm in si_c.inc
git-svn-id: trunk@41705 -
2019-03-14 21:13:17 +00:00
nickysn
52c53f0d18 + include si_impl.inc in si_c.pp and si_dll.pp
git-svn-id: trunk@41704 -
2019-03-14 20:39:22 +00:00
nickysn
e93a3b5bf4 + link the openbsd_ident module in the SysInit units
git-svn-id: trunk@41703 -
2019-03-14 18:10:37 +00:00
nickysn
16abd6aa13 + added loader openbsd_ident.as, containing only the .note.openbsd.ident
section, required by OpenBSD to identify the ELF binary as OpenBSD-native

git-svn-id: trunk@41702 -
2019-03-14 18:06:24 +00:00
nickysn
29557b97fb * fixed error, caused by double definition of operatingsystem_result
git-svn-id: trunk@41701 -
2019-03-14 17:33:44 +00:00
nickysn
f1a7e2cdc5 * translated prt0.as from the OpenBSD x86_64 startup code to pascal inline asm; the code compiles, but is not used yet
git-svn-id: trunk@41695 -
2019-03-14 15:37:02 +00:00
nickysn
2dbd1b2780 + enabled compilation of the new (not yet finished) openbsd start code units in the makefile
git-svn-id: trunk@41693 -
2019-03-13 16:03:52 +00:00
nickysn
df21e3a3bc + initial (only a stub for now) implementation of pascal-based startup code units for OpenBSD
git-svn-id: trunk@41692 -
2019-03-13 15:59:36 +00:00
nickysn
d65d1d17e5 * yet another PIC fix in cprt0 for i386-openbsd
git-svn-id: trunk@41687 -
2019-03-12 16:00:12 +00:00
nickysn
5f47b0877a * PIC fixes in cprt0 for i386-openbsd
git-svn-id: trunk@41686 -
2019-03-12 14:56:27 +00:00
nickysn
86d8e3d5cf * more PIC fixes in i386 OpenBSD's startup code. prt0.as is now completely PIC
git-svn-id: trunk@41685 -
2019-03-12 13:55:54 +00:00
nickysn
bfe148cfef * more PIC fixes in the i386 OpenBSD startup code
git-svn-id: trunk@41683 -
2019-03-12 01:58:11 +00:00
nickysn
9c3d7df289 * partial PIC conversion of the i386 OpenBSD startup code
git-svn-id: trunk@41682 -
2019-03-12 01:33:06 +00:00
nickysn
387b966b1b * OpenBSD termios interface updates
git-svn-id: trunk@41677 -
2019-03-11 16:53:00 +00:00
nickysn
b5f7a01804 * more PIC fixes in OpenBSD's x86_64 cprt0.as
git-svn-id: trunk@41671 -
2019-03-10 16:53:47 +00:00
nickysn
cfa9410b56 * more PIC fixes in OpenBSD's x86_64 cprt0.as
git-svn-id: trunk@41670 -
2019-03-10 16:20:33 +00:00
nickysn
b05b43fe35 * some PIC fixes in OpenBSD x86_64 cprt0.as
* use the correct section type for .eh_frame

git-svn-id: trunk@41669 -
2019-03-10 16:08:46 +00:00
nickysn
9fc701c75e * changed the type of the .eh_frame section to 'unwind'
git-svn-id: trunk@41660 -
2019-03-09 18:30:31 +00:00
nickysn
6713f943c2 * use PIC in the eh_frame section as well
git-svn-id: trunk@41659 -
2019-03-09 17:48:28 +00:00
nickysn
692a3fe3e4 * fixed bug, due to a typo in the previous commit
git-svn-id: trunk@41654 -
2019-03-09 16:58:25 +00:00
nickysn
2771e8c717 * PIC fixes in OpenBSD's prt0.as for x86_64
git-svn-id: trunk@41653 -
2019-03-09 16:54:39 +00:00
nickysn
f7ee1a1da9 - removed duplicated ".note.openbsd.ident" sections, committed erroneously in r41645
git-svn-id: trunk@41649 -
2019-03-09 15:40:34 +00:00
nickysn
85981b0a32 * applied all the OpenBSD startup code patches from the OpenBSD ports tree
git-svn-id: trunk@41645 -
2019-03-09 14:33:25 +00:00
nickysn
178217821c + added sortbase as a dependency to unit fgl in the makefiles
git-svn-id: trunk@41180 -
2019-02-02 23:22:09 +00:00
nickysn
248fd313f8 + introduced unit SortBase, which implements the foundation for pluggable
sorting algorithms. A default QuickSort implementation is provided by the
  unit. Other units can be added, to provide other sorting algorithms (e.g.
  HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
  in SortBase for their .Sort method.

git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
fe61157cae Update all rtl Makefile's
git-svn-id: trunk@39824 -
2018-09-27 06:55:12 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
nickysn
65d8836952 * updated dependencies of unit ports (objpas and x86 is no longer required on
certain platforms) and regenerated makefiles

git-svn-id: trunk@39373 -
2018-07-04 00:33:12 +00:00
pierre
d6be56e225 Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38750 -
2018-04-12 15:23:03 +00:00
pierre
595938637e Add explicit FPC_SYSTEM_OPT variable that is only used for compilation of system units, thus allowing to explicitly pass -Sf option
git-svn-id: trunk@37890 -
2018-01-02 16:50:58 +00:00
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
pierre
d18627f0af * Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +00:00
Károly Balogh
04dee0fc04 regenerated Makefiles for m68k-macos target
git-svn-id: trunk@37034 -
2017-08-22 11:16:42 +00:00
pierre
e6d282d2ed Avoid double rule for iso7185 unit
git-svn-id: trunk@36825 -
2017-08-04 09:12:39 +00:00
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
marco
bc9bcdf1f8 * patch to increase ino and time_t to 64-bit, mantis #30314
git-svn-id: trunk@34091 -
2016-07-09 19:57:22 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
Jonas Maebe
2e64c63993 * fixed dependencies for lineinfo unit after r33007
* also made lnfodwrf dependent on lineinfo for all platforms,
    because both units implicitly depend on the exeinfo unit
    and if both are compiled at the same time they can fall
    over each other while writing its .ppu or .s file

git-svn-id: trunk@33039 -
2016-02-01 22:52:50 +00:00
Jonas Maebe
30a3ad7538 * fixed cpu unit dependencies for i386 after r32857 (part of mantis #29439)
git-svn-id: trunk@32967 -
2016-01-18 22:20:16 +00:00
florian
c9204f6c5e + added explicit rules for the iso7186 unit for the bsd targets
* fixed FreeBSD Makefile to work with make 3.82

git-svn-id: trunk@32433 -
2015-11-21 14:43:54 +00:00
pierre
7250cdb43e Regenerated after: Use explicit rules for all units, needed for GNU make 3.82
git-svn-id: trunk@32366 -
2015-11-19 17:27:00 +00:00
pierre
9c50d25ccc Use explicit rules for all units, needed for GNU make 3.82
git-svn-id: trunk@32365 -
2015-11-19 17:26:26 +00:00
pierre
25ddd745b7 Regenerated after: Fix cross-compilation from win32 using GNU make 3.82
git-svn-id: trunk@32364 -
2015-11-19 15:57:20 +00:00
pierre
5c53adccb3 Fix cross-compilation from win32 using GNU make 3.82
git-svn-id: trunk@32363 -
2015-11-19 15:57:00 +00:00
pierre
55b32f741d Add explicit dependency of extpas unit on dos unit for freebsd/netbsd/openbsd and dragonfly
git-svn-id: trunk@32356 -
2015-11-18 10:05:11 +00:00
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
pierre
97b4a68e98 * Use C default packing for TStatFS type (fixes errors for x86_64 CPU)
git-svn-id: trunk@30333 -
2015-03-27 11:13:59 +00:00
pierre
c4d3286d69 'size_t' system type is also 64-bit wide on OpenBSD for x86_64 CPU.
This change reduces testsuite failure count from 49 downto 30.

git-svn-id: trunk@30332 -
2015-03-27 07:18:56 +00:00
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
pierre
1a83b76a8f Add fpwidestring unit
git-svn-id: trunk@29146 -
2014-11-25 10:52:52 +00:00
pierre
7ffca97a68 OpenBSD support for OS version specific syscall numbers
git-svn-id: trunk@29136 -
2014-11-23 21:59:25 +00:00
pierre
6141820af3 Regenerate after: Set explicit rules for sysctl and baseunix compilation
git-svn-id: trunk@29134 -
2014-11-23 21:55:30 +00:00
pierre
aa396cd157 * Set explicit rules for sysctl and baseunix compilation
git-svn-id: trunk@29133 -
2014-11-23 21:54:17 +00:00
pierre
123b9f789a Add cint type definition if not declared for syscall unit compilation
git-svn-id: trunk@28832 -
2014-10-15 23:54:35 +00:00
pierre
d438d5dece sysnr.inc changed to set syscall numbers dynimically (untested, but currrently broken anyway)
git-svn-id: trunk@28831 -
2014-10-15 23:29:36 +00:00
pierre
787fb75df8 Add new file to handle changing openbsd syscall numbers
git-svn-id: trunk@28829 -
2014-10-15 23:27:12 +00:00
marco
bc65ed8f9c * patch from OpenBSD ports tree. Updates syscall nrs to post 64-bit time_t world.
git-svn-id: trunk@28738 -
2014-10-04 11:18:51 +00:00
sergei
7f8995186c - Remove openbsd/classes.pp and use generic unix/classes.pp instead. These files are identical, excluding whitespace and comments.
git-svn-id: trunk@27667 -
2014-04-26 15:09:33 +00:00
pierre
3d34a8a3b0 Makefiles updated with fpcmake rev 27428
git-svn-id: trunk@27508 -
2014-04-10 09:58:17 +00:00
marco
a818559481 * clocale moved to rtl-extra.
git-svn-id: trunk@27376 -
2014-03-30 15:27:35 +00:00
marco
d6f5ca21b9 * moved units ipc for *BSD, darwin/iphonesim and linux. The others are
makefile cleanups.

git-svn-id: trunk@27373 -
2014-03-30 13:13:13 +00:00
marco
c6424b2e0b * moved unit terminfo to rtl-console
git-svn-id: trunk@27353 -
2014-03-29 21:00:50 +00:00
marco
959ea7f5bb * printer unit moved. Amiga unit also moved but it is not actively used.
git-svn-id: trunk@27351 -
2014-03-29 20:35:28 +00:00
marco
7f8a9bcf6e * serial to rtl-extra
git-svn-id: trunk@27350 -
2014-03-29 20:06:36 +00:00
marco
c465d3d64a * moving 4 cp9* units. These are 16-bit and big.
git-svn-id: trunk@27349 -
2014-03-29 19:43:13 +00:00