Xavier Leroy
79eab1a6e2
PR#5513: protect against min_int / -1 crashing on x86
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-24 10:13:02 +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
Benedikt Meurer
fb327a7c2b
Also pass Cmm.memory_chunk to select_addressing.
...
The rational behind this change is that for the ARM instruction sets, the
valid range for address offsets depends on the type of data being loaded
or stored.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 09:43:33 +00:00
Xavier Leroy
ca0c236919
PR#4869: rare collisions between assembly labels for code and data
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-18 10:00:56 +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
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
Xavier Leroy
207b0ec0b5
PR#5029: typo in names of lib functions for float32<->float64 conversion.
...
PT#5027: method! to avoid warning.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10295 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-22 12:39:40 +00:00
Xavier Leroy
26b9064703
PR#5030: start data labels higher. Also, use emit_floatNN_directive.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10293 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-22 09:33:18 +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
bdc0fadee2
merge changes from release/3.11.1 to release/3.11.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-20 16:26:46 +00:00
Xavier Leroy
4e50c497a8
Updating the ARM port, continued:
...
- Reserve register r9 and treat r10 as callee-save, as per the EABI.
- Treatment of alloc_limit register.
- Fixed bug in inlined allocation sequence.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-04 13:46:46 +00:00
Xavier Leroy
5732a03e65
Updated ARM port to new ABI (EABI), with software floating-point.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-03-31 09:45:55 +00:00
Damien Doligez
9ea5edac9a
merge changes 3.10.0 -> 3.10.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Xavier Leroy
9ccb911666
Can select which assembler to use at configuration time (PR#4171)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8462 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-30 12:37:16 +00:00
Xavier Leroy
0b9f496f6f
Constantes flottantes +0.0 / -0.0 (PR#2480)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6277 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-03 12:46:51 +00:00
Damien Doligez
258c929f64
PR#1914,PR#1956, suppression du portage Mac OS 9
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-05 20:26:19 +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
Xavier Leroy
7abcc8799e
Ajout des litteraux de type int32, nativeint, int64
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-25 12:27:31 +00:00
Xavier Leroy
2413371d18
Prevoir d'avoir des options de ligne de commande specifiques a un processeur
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-29 15:03:37 +00:00
Xavier Leroy
9178881f44
Introduction et utilisation de Cglobal_symbol pour declarer explicitement les symboles de donnees qui doivent etre globaux
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5296 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-24 15:55:26 +00:00
Damien Doligez
851b9cb158
deps
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5020 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-07-22 16:38:07 +00:00
Xavier Leroy
bae1b84692
Faire Filename.quote sur les noms de fichiers passes au compilo C, etc (PR#896)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-03-12 16:17:53 +00:00
Xavier Leroy
71cf31f0e2
Ajout du packaging d'unites de compilation (option -pack)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4367 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-02-08 16:55:44 +00:00
Xavier Leroy
c16439d286
Suite revision immediats entiers (PR#327,#328)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3482 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-04-02 08:14:51 +00:00
Xavier Leroy
0ae4bc9821
Revu gestion des immediats entiers (PR#327,#328) -- non teste
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3480 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-03-30 12:22:32 +00:00
Pierre Weis
9abfff060e
Suppression de Formatmsg, réécriture des messages à l'aide de Format.fprintf
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-21 08:13:22 +00:00
Xavier Leroy
d2d789e8a8
MAJ load/store revus
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-06 14:19:46 +00:00
Xavier Leroy
1cac403368
Ajout des modules Int32, Int64 et Nativeint
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2807 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-11 15:09:27 +00:00
Pierre Weis
39553e9972
Révision de l'impression à l'aide de format: utilisation de printf
...
pour condenser les programmes et aussi préparer une future (éventuelle)
internationalisation d'Objective Caml.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-08 20:00:06 +00:00
Damien Doligez
ddc7d63689
tabs -> spaces
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-29 19:16:30 +00:00
Xavier Leroy
cc0f32b054
Changement de la licence
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Xavier Leroy
a048d42b10
Ajout du module Formatmsg pour rediriger les messages du systeme vers stdout ou stderr suivant le contexte
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-08 17:06:33 +00:00
Xavier Leroy
03f01569a7
Bien traiter Ialloc de plus de 1024 octets
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 15:03:28 +00:00
Xavier Leroy
939d9b30a9
En ocamlopt, les acces hors bornes levent Invalid_argument au lieu de planter le programme. Itou pour les fonctions C qui appellent invalid_argument. Teste sur Intel, a tester sur les autres
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 15:35:48 +00:00
Xavier Leroy
66ae9423a7
Portage ARM
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-15 16:10:53 +00:00
Xavier Leroy
fca1be1fdd
Suite du portage ARM
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2119 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-14 17:08:57 +00:00
Xavier Leroy
57c704d739
Portage ARM -- premier jet
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-09 14:43:30 +00:00