Damien Doligez
ee8f71101b
clean up whitespace and cut long lines
2016-02-17 13:36:27 +01:00
Bart Jacobs
237daf3457
Add missing unwind info for 'caml_start_program'
...
This enables correct stack unwinding, and helps prevent random crashes on OS X
due to Cocoa or other Objective-C (or C++) external functions walking
our stack.
2016-01-18 09:11:13 +01:00
Bart Jacobs
75ae60ccca
Enabled full stack trace in platform debuggers
...
Platform debuggers such as `gdb` and `lldb` can now show a full stack trace for
call stacks that include ocamlopt-generated code. Specifically, this commit adds
base pointer information to the stack unwinding metadata of runtime function
`caml_start_program`.
2016-01-09 03:32:22 -08:00
Bart Jacobs
edb83d153f
Fixed some bugs in stack unwinding metadata of runtime routines
...
It's easy to forget that the assembler ignores the program's
control flow when computing the resulting CFA offset of the
various CFI_ADJUST directives. Note that unbalanced
CFI_ADJUST directives in one assembly routine cause all offsets
in all subsequent routines to be shifted by the corresponding
amount.
2016-01-09 02:41:34 -08:00
Gabriel Scherer
d1c017c7cb
PR#6693 libasmrun: fix -pic code generation
...
(Peter Zotov)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-05-02 20:24:46 +00:00
Damien Doligez
aa58e55958
port to cygwin-64
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14337 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-03 14:43:02 +00:00
Alain Frisch
7335d5f68f
caml_backtrace_pos is a 32-bit integer under amd64.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-19 18:01:05 +00:00
Alain Frisch
a96fb5be45
Fix Out_of_memory/Stack_overflow.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14237 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-18 15:14:20 +00:00
Alain Frisch
164c307ae3
Support for raise variants in ocamlopt. Only amd64 for now.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14226 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14 14:33:27 +00:00
Damien Doligez
7844495624
Merge branch 4.01 from branching point to 4.01.0+rc1
...
Command line used:
svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 .
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04 15:12:37 +00:00
Fabrice Le Fessant
a04798140b
Fix PR#6031 : problem with -with-frame-pointers in caml_allocN
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-11 11:20:03 +00:00
Xavier Leroy
3b46f10a7c
PR#5976: crash after recovering from two stack overflows (ocamlopt on MacOS X)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-09 08:52:08 +00:00
Fabrice Le Fessant
9b53f8b10d
Re-add configure option -with-frame-pointers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:03:59 +00:00
Fabrice Le Fessant
97bc1fa9e2
Reverting -with-frame-pointers
...
Fails to compile alt-ergo without frame-pointers. No time to debug
before tonight, so I revert and will merge again after fixing the
problem.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13732 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 06:29:33 +00:00
Fabrice Le Fessant
e6c8fdd2a8
Fix compilation issue with amd64.S
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13731 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 04:57:42 +00:00
Fabrice Le Fessant
1b2667b9f2
Add -with-frame-pointers to ./configure
...
This option can be used to tell the native compiler that it should
update frame pointers, so that debuggers and profiling tools
(especially Linux perf) can use them. For now, it is only supported
by the Unix/amd64 port.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13730 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 04:42:42 +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
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
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
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
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
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
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
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
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
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
Xavier Leroy
36fa028ecd
PR#4795: PIC version of amd64.S
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-19 08:47:10 +00:00
Xavier Leroy
bed77edf06
PR#4795: support for PIC code in asmrun/amd64.S
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10218 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-03-29 12:14:07 +00:00
Damien Doligez
04b1656222
clean up spaces and tabs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez
1f95b17570
merge changes from 3.10.2merged to 3.11.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-12-03 18:09:09 +00:00
Xavier Leroy
1f93465a0e
PR#4564 (partial): mark stack as non-executable on Linux/ELF
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-01 08:04:57 +00:00
Xavier Leroy
4b5512c74c
Stack backtraces on uncaught exceptions in native code (merge of the opt_backtrace branch)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-29 12:11:18 +00:00
Damien Doligez
125ea40d4c
fusion 3.09.0 -> 3.09.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Xavier Leroy
237006931a
Fusion des modifs faites sur la branche release jusqu'a la release 3.08.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6552 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-07-13 12:19:15 +00:00
Xavier Leroy
ffe6271308
young_ptr et bottom_of_stack doivent etre sauvegardes par caml_alloc* (PR#2518)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6301 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-18 08:04:40 +00:00
Damien Doligez
258688a333
depollution suite (PR#1914 et PR#1956)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6050 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-03 12:51:20 +00:00
Damien Doligez
0c7aecb88d
depollution suite (et fin?) (PR#1914 et PR#1956)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-02 19:23:29 +00:00
Damien Doligez
5a678d29f5
depollution suite (PR#1914 et PR#1956)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-01 16:42:43 +00:00
Damien Doligez
331b2d89c3
depollution suite (PR#1914, PR#1956)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-31 14:20:40 +00:00
Xavier Leroy
661a890b17
Typo dans la precedente correction
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-20 11:05:51 +00:00
Xavier Leroy
37e20a0e93
Bug dans raise_caml_exception (r14, r15 not correctly reinitialized)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6029 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-20 10:54:52 +00:00
Xavier Leroy
bc33391898
Portage AMD64
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5634 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-30 08:28:48 +00:00