Commit Graph

59 Commits

Author SHA1 Message Date
Pierre Muller
c249495e2d Add '%note' to .note.openbsd.ident section 2023-07-19 19:07:16 +02:00
Michael VAN CANNEYT
221be05cac * Char -> AnsiChar 2023-07-14 17:26:09 +02:00
pierre
8a543dbc8a Use RTE 207 for FPU_Invalid and FPU_Denormal exceptions on i386/x86_64 beos/haiku/*bsd as for Linux
git-svn-id: trunk@47227 -
2020-10-27 23:09:32 +00:00
florian
7281ea7a2c * floating point division by zero should throw run time error 208, fixed
git-svn-id: trunk@46210 -
2020-08-03 19:42:16 +00:00
nickysn
806b65da6b * also update the startup asm code in prt0.as for OpenBSD x86_64
git-svn-id: trunk@42079 -
2019-05-15 16:24:41 +00:00
nickysn
ef86b3ab29 - delete cprt0.as from the OpenBSD x86_64 startup code, because it's not needed for bootstrapping
git-svn-id: trunk@42077 -
2019-05-15 15:37:51 +00:00
nickysn
058336db40 * invoke _csu_finish before __init the OpenBSD x86_64 C library startup code
git-svn-id: trunk@42076 -
2019-05-15 15:22:54 +00:00
nickysn
77f86d22a5 * updated the parameter list to _FPC_proc___start in the OpenBSD x86_64 startup code
git-svn-id: trunk@42075 -
2019-05-15 14:27:42 +00:00
nickysn
f2719e438c * updated the OpenBSD x86_64 assembly startup code
git-svn-id: trunk@42074 -
2019-05-15 13:52:28 +00:00
nickysn
6dec9ae064 + added some missing cdecl declarations to the OpenBSD startup code
git-svn-id: trunk@41766 -
2019-03-22 01:22:16 +00:00
nickysn
b6d2ef12ad - removed OpenBSD loaders that are not needed for bootstrapping with FPC 3.0.4
git-svn-id: trunk@41765 -
2019-03-22 01:08:37 +00:00
nickysn
b4baba3454 * fixed the haltproc for shared libs
git-svn-id: trunk@41763 -
2019-03-21 23:37:47 +00:00
nickysn
01669ebf70 * use the actual _haltproc procedure, defined in the startup code on OpenBSD
* fixed the x86_64 syscall invocation in the OpenBSD _haltproc

git-svn-id: trunk@41762 -
2019-03-21 18:16:23 +00:00
nickysn
7638a9b7e1 - removed commented out gprof code from si_c.inc
git-svn-id: trunk@41761 -
2019-03-21 17:37:37 +00:00
nickysn
1f9b5d143e * call _monstartup instead of monstartup
git-svn-id: trunk@41758 -
2019-03-21 13:28:18 +00:00
nickysn
e4ffeb2266 + added OpenBSD startup units for gprof support
git-svn-id: trunk@41757 -
2019-03-21 12:52:25 +00:00
nickysn
bb911e2f01 - unused local variable removed
git-svn-id: trunk@41754 -
2019-03-20 16:26:38 +00:00
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
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
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
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
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