Commit Graph

465 Commits (d3d363a1a65a21ae55669607ea792ce860069d2f)

Author SHA1 Message Date
Alain Frisch ba00d09386 Revert bad commit.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13268 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-23 08:41:02 +00:00
Alain Frisch 20a4b99758 #5902: adapt standard ppx driver to support extra arguments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13267 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-23 08:37:01 +00:00
Alain Frisch 45936b5fa5 Fix #4887 (input_char after close_in crashes ocaml, msvc runtime). Patch by Christoph Bauer.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-17 09:04:53 +00:00
Benedikt Meurer 448571ed7b [arm] Add CFI directives to the native runtime.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13231 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-13 17:20:36 +00:00
Benedikt Meurer 4df940cae9 [amd64] Avoid unbalanced CFA offsets.
This fixes the following warnings generated by ld on Mac OS X:

- ld: warning: could not create compact unwind for _caml_raise_exn: stack subq instruction is too different from dwarf stack size
- ld: warning: could not create compact unwind for _caml_raise_exception: stack subq instruction is too different from dwarf stack size

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-13 14:22:17 +00:00
Benedikt Meurer 9032ddf683 PR#5886: Small changes to compile for Android.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-13 13:05:37 +00:00
Benedikt Meurer dc0776f551 #5798: Apply patch to add VFPv2 and ARMv6 hard-float support (Jeffrey Scofield, Anil Madhavapeddy).
[PATCH] Detect and support armv6/VFPE2, which is sufficient to get
ocamlopt working on the Raspberry Pi hardfloat Debian variant

Original patch: Jeffrey Scofield via http://psellos.com/pub/ocamlxarm/ocaml4-vfpv2.diff
Fixes from: Anil Madhavapeddy <anil@recoil.org>



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13042 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 06:20:45 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Xavier Leroy 9ac1d4937b PR#5707: in AMD64 port, exchange the roles of r10-r11 and r12-r13,
so that r10 and r11 are no longer used for parameter passing,
  and can therefore be destroyed by the dynamic loader without harm.
(Cherry-picked from version/4.00, commit 12907).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-08 16:53:39 +00:00
Xavier Leroy 3e583a982b PR#5700, take 2: another misaligned call to caml_stash_backtrace.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12818 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-03 07:43:16 +00:00
Xavier Leroy d67f25572e PR#5700: crash with native-code stack backtraces under MacOS 10.8 x86-64
(owing to wrong stack alignment in caml_raise_exception)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-02 12:47:08 +00:00
Alain Frisch d7081111cd Remove empty and useless file natdynlink.h.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12809 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-01 15:37:29 +00:00
Damien Doligez 997a678d5e clean up TABs and whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 18:04:46 +00:00
Damien Doligez 0c3a7de507 merge changes from 4.00 branching to 4.00.0 (part 1)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-26 19:21:54 +00:00
Fabrice Le Fessant 808d083b9f Revert commit r12756 containing unwanted changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:15:55 +00:00
Fabrice Le Fessant 5e74e6f0cc Fix PR#5695
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:12:43 +00:00
Fabrice Le Fessant 1b81bef5b9 Add more CFI directives in i386/amd64 assembly files in asmrun
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 13:08:20 +00:00
Fabrice Le Fessant f0eff81679 Merge commit 12664 from 4.00 on trunk/
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12665 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 08:46:10 +00:00
Fabrice Le Fessant 87f6cd4779 modified Windows Makefiles to install compiler internals
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12496 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 10:48:19 +00:00
Xavier Leroy 1e3bd1c332 Install compiler internals (as libraries + compiled interfaces + start modules)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12469 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-17 16:04:13 +00:00
Xavier Leroy 4e5eb94ed9 PR#5215: Marshalling of closures now supported if the closures come from dynamically-loaded code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12229 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-13 14:50:41 +00:00
Damien Doligez 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Xavier Leroy 2eecf2d4c0 PR#5487: addition of CFI directives and a few filename/linenumber info to generated amd64 and i386 assembly files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:41:02 +00:00
Xavier Leroy b07b3032c0 - PR#5509: misclassification of statically-allocated empty array that
falls exactly at beginning of an otherwise unused data page.
- i386/emit_nt.mlp: add zero word at end of data segment, like in other ports.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 16:56:29 +00:00
Xavier Leroy 5ad47ce4e6 Backtrack previous changes for PowerPC/Linux, which turns out to lack what we need for turning stack overflows into exceptions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-17 10:43:50 +00:00
Xavier Leroy 339bcbb2c6 PR#5064, PR#5485: try to ensure that 4K words of stack are available
before calling into C functions, raising a Stack_overflow exception
otherwise.  This reduces (but does not eliminate) the risk of
segmentation faults due to stack overflow in C code.
Implemented for i386, amd64 and power, under Linux and MacOSX.
Plus: remove some more stuff related to obsoleted platforms (IA64, SunOS 4).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-17 10:12:09 +00:00
Damien Doligez e7f5b858c2 More renaming to OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-10 16:15:24 +00:00
Benedikt Meurer b5eec7890b Fix various compiler warnings in asmrun.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12128 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-05 09:56:23 +00:00
Benedikt Meurer e76218f17d [arm] Update copyright notices as suggested by Xavier.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-05 08:47:16 +00:00
Benedikt Meurer 05627e0de4 Merge the new ARM backend into trunk (PR#5433).
Initial merge of the new ARM backend (commit ec5b444c7f) from my development
repository at https://github.com/bmeurer/ocaml-arm/tree/ec5b444c7f .

Compared to the old ARM backend, this one does the following:
- Support for both software and hardware floating-point (VFPv3).
- Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C
  code.
- Supports dynamic linking and large memory models (PR#5049).
- Optional support for position-independent code via a command line option
  -fPIC. This is disabled by default and not required for natdynlink.
- Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for
  Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.).
- Supports both AAPCS (armel) as well as extended VFP calling conventions
  (armhf).
- Supports several special ARM instructions to reduce code size and latency.
- Uses standard ARM EABI runtime functions instead of relying on GCC internals.
- Supports exception backtraces.
- Supports profiling using gprof.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 10:15:24 +00:00
Xavier Leroy 38e4e84f7e PR#5179 continued: no extra stack adjustment in caml_c_call
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 08:51:57 +00:00
Xavier Leroy ac0aa0778d PR#5179: giant steps towards a Mingw64 port.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11927 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 16:31:01 +00:00
Xavier Leroy a69f9be8c5 PR#4746: wrong detection of stack overflows in native code under Linux
(quick fix, will have to find something better)
testsuite/tests/runtime-errors: make the test output independent of
  the stack size; add a "ulimit -s" just to make sure stack is limited.
testsuite/tests/asmcomp: updated to compile again.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11898 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 14:38:53 +00:00
Xavier Leroy 4af724cf54 Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
Part 4: cleaning up some more references & specific code for these archs.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-18 09:52:52 +00:00
Xavier Leroy 3e42214295 Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
So long and thanks for all the fish.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11882 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-17 11:12:50 +00:00
Xavier Leroy fc82a408a3 AMD64/MacOSX code generator: make local asm labels really local. (L100 instead of .L100)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11221 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-15 08:55:43 +00:00
Xavier Leroy 958c48049f PR#5336: add .type directives in ARM code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11203 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-18 08:09:34 +00:00
Xavier Clerc cb7818e6de PR#5344: some predifined exceptions need special printing
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-08 08:34:43 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez 90664f4ea1 uniform .ignore system
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 15:37:36 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Damien Doligez 31b0292413 renaming "Objective Caml" to "OCaml" (first pass)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11015 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-26 12:16:50 +00:00
Damien Doligez a53ce2df70 add option -runtime-variant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10982 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-17 16:18:05 +00:00
Damien Doligez fa73e25120 PR#4243: make .c.p.o rule thread-safe
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10921 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-06 14:23:20 +00:00
Damien Doligez 575555eecd merge changes from branching of 3.12 to release/3.12.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-02 14:37:22 +00:00
Damien Doligez dc7affa4b7 fix Windows MSVC build + ignores
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10440 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-19 14:52:34 +00:00
Damien Doligez 44114eda67 ignore windows-specific generated files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10437 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-19 14:37:47 +00:00
Alain Frisch e09a12388f New -help-warnings command-line option.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10369 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-04 18:44:38 +00:00
Xavier Leroy 1def025fde Updated Windows makefiles
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10325 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-28 12:00:27 +00:00
Xavier Leroy 09ba69134f - Refactoring of otherlibs/systhreads
- PR#4702: added C functions to register threads not created by Caml
- PR#5013: wrong implementation of condition variables under Win32
- PR#4979: wrong error code handling under Win32
- Added standard include <caml/threads.h> 
- Added "stack_size" field in GC statistics.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10315 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-27 07:55:08 +00:00