Commit Graph

55725 Commits

Author SHA1 Message Date
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
Mattias Gaertner
c3b515695b pas2js: using Math.pow instead of newer **
git-svn-id: trunk@41732 -
2019-03-18 17:23:01 +00:00
Károly Balogh
2c1639003c * reinstate the internalerror removed in r41730 for i386, as that was a valid condition to verify
git-svn-id: trunk@41731 -
2019-03-18 13:21:58 +00:00
Károly Balogh
5358851f84 * clean up some things regarding explicit paraloc handling. this should fix m68k-amiga and powerpc-morphos builds after r41716
git-svn-id: trunk@41730 -
2019-03-18 01:19:18 +00:00
Jonas Maebe
1bb8bd471a * fix msgtxt array size if the text size is an exact multiple of 240
git-svn-id: trunk@41725 -
2019-03-17 15:22:06 +00:00
Jonas Maebe
bde560dac2 * also accept {$elsif} after {$if(n)def} (mantis #34858)
git-svn-id: trunk@41724 -
2019-03-17 15:20:22 +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
pierre
225ea5a92d revision.inc update after: Add removal of generated bin subdirectory to fpc_cleanall target
git-svn-id: trunk@41722 -
2019-03-17 10:36:13 +00:00
pierre
b92ac5290b Add removal of generated bin subdirectory to fpc_cleanall target
git-svn-id: trunk@41721 -
2019-03-17 10:33:55 +00:00
Mattias Gaertner
f3d2b9c9db fcl-passrc: updated lpi
git-svn-id: trunk@41720 -
2019-03-16 22:49:16 +00:00
Mattias Gaertner
c42ed29980 pastojs: clean up
git-svn-id: trunk@41719 -
2019-03-16 21:58:01 +00:00
Jonas Maebe
d78dbd5d59 + test from mantis #35224 (already works)
git-svn-id: trunk@41718 -
2019-03-16 20:01:57 +00:00
Jonas Maebe
fd42c3fb01 * only enable tw35187 for Windows and Linux, since it uses syscalls under unix
(which are not supported on all unix targets; feel free to re-enable for
     specific unix targets if the test has been verified to compile there)
   o also fixed placement of dotest directives: they have to come before any
     part of the program code

git-svn-id: trunk@41717 -
2019-03-16 19:14:17 +00:00
Jonas Maebe
ed2ae508d0 * only add hidden parameters for objectdef methods after generating the vmt,
so that they take into account inherited calling conventions (mantis #35233)
   o don't needlessly calculate the paraloc info when generating a JVM mangled
     name

git-svn-id: trunk@41716 -
2019-03-16 19:14:14 +00:00
Mattias Gaertner
9cf243ad38 fcl-passrc: fixed marking array argument element passed as arg as read
git-svn-id: trunk@41715 -
2019-03-16 16:14:40 +00:00
Mattias Gaertner
721d20fb8f fcl-passrc: fixed makring array[]:= as read
git-svn-id: trunk@41714 -
2019-03-16 15:44:52 +00:00
Mattias Gaertner
7ab75c1194 fcl-passrc: separate hint for method hides ancestor method exactly
git-svn-id: trunk@41713 -
2019-03-16 14:32:21 +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
ef00eb228b + enable the internal sysinit for OpenBSD x86_64
git-svn-id: trunk@41709 -
2019-03-14 23:43:45 +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
Mattias Gaertner
1ea55d0a74 pastojs: helpers: external method apply to helped type
git-svn-id: trunk@41707 -
2019-03-14 22:04:33 +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
caf1b11db9 * initialize SysInitUnit in InitSysInitUnitName on BSD
git-svn-id: trunk@41700 -
2019-03-14 17:20:12 +00:00
nickysn
58d9e58742 * initialize prtobj and reorder in InitSysInitUnitName
git-svn-id: trunk@41699 -
2019-03-14 17:02:20 +00:00
nickysn
525eff2927 * initialize linklibc earlier (in InitSysInitUnitName); this is necessary,
because the sysinit unit name depends on whether libc is linked or not.
  Helper function ModulesLinkToLibc copied from t_linux.pas

git-svn-id: trunk@41698 -
2019-03-14 16:47:34 +00:00
nickysn
dc32554556 * prtobj, linklibc and reorder converted from local to member variables of the class
git-svn-id: trunk@41697 -
2019-03-14 16:23:55 +00:00
nickysn
a15ec46751 * don't put the prtobj file in the BSD linker script, in case the current system uses sysinit
git-svn-id: trunk@41696 -
2019-03-14 15:57:09 +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
Mattias Gaertner
6217d44d0b pas2js: fixed compileserver default mime type html
git-svn-id: trunk@41694 -
2019-03-14 10:37:56 +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
Mattias Gaertner
9d44a2590a pastojs: -vt writes compiler exe and working dir
git-svn-id: trunk@41691 -
2019-03-13 08:16:57 +00:00
Mattias Gaertner
65d0b1ee00 pastojs: test record and jsvalue
git-svn-id: trunk@41690 -
2019-03-13 08:16:29 +00:00
nickysn
a32e69bf72 * the i386-openbsd C and C++ test modules recompiled with -fPIC
git-svn-id: trunk@41688 -
2019-03-12 16:04:57 +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