[-]
[+]
|
Changed |
ocaml.changes
|
|
[-]
[+]
|
Changed |
ocaml.spec
^
|
|
[-]
[+]
|
Changed |
ocaml-3.08.3-gcc4.patch
^
|
@@ -1,3 +1,4 @@
++- reduce register pressure in bng_ia32.c (thanks to matz)
--- otherlibs/num/bng_ia32.c
+++ otherlibs/num/bng_ia32.c
@@ -121,7 +121,7 @@
|
[-]
[+]
|
Added |
ocaml-configure-Allow-user-defined-C-compiler-flags.patch
^
|
@@ -0,0 +1,23 @@
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Tue, 29 May 2012 20:44:18 +0100
+Subject: configure: Allow user defined C compiler flags.
+
+---
+ configure | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+Index: ocaml-4.01.0/configure
+===================================================================
+--- ocaml-4.01.0.orig/configure
++++ ocaml-4.01.0/configure
+@@ -1612,6 +1612,10 @@ case "$buggycc" in
+ nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
+ esac
+
++# Allow user defined C Compiler flags
++bytecccompopts="$bytecccompopts $CFLAGS"
++nativecccompopts="$nativecccompopts $CFLAGS"
++
+ # Finish generated files
+
+ cclibs="$cclibs $mathlib"
|
[-]
[+]
|
Added |
ocaml-ppc64.patch
^
|
@@ -0,0 +1,2119 @@
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Tue, 29 May 2012 20:47:07 +0100
+Subject: Add support for ppc64.
+
+Note (1): This patch was rejected upstream because they don't have
+appropriate hardware for testing.
+
+Note (2): Upstream powerpc directory has some support for ppc64, but
+only for Macs, and I couldn't get it to work at all with IBM hardware.
+
+This patch was collaborated on by several people, most notably
+David Woodhouse.
+
+Includes fix for position of stack arguments to external C functions
+when there are more than 8 parameters (RHBZ#829187).
+
+Includes fix for minor heap corruption because of unaligned minor heap
+register (RHBZ#826649).
+
+Includes updates for OCaml 4.01.0.
+---
+ asmcomp/power64/arch.ml | 88 +++
+ asmcomp/power64/emit.mlp | 988 ++++++++++++++++++++++++++++++++++++++++++
+ asmcomp/power64/proc.ml | 240 ++++++++++
+ asmcomp/power64/reload.ml | 18
+ asmcomp/power64/scheduling.ml | 65 ++
+ asmcomp/power64/selection.ml | 101 ++++
+ asmrun/Makefile | 6
+ asmrun/power64-elf.S | 486 ++++++++++++++++++++
+ asmrun/stack.h | 9
+ configure | 3
+ 10 files changed, 2004 insertions(+)
+ create mode 100644 asmcomp/power64/arch.ml
+ create mode 100644 asmcomp/power64/emit.mlp
+ create mode 100644 asmcomp/power64/proc.ml
+ create mode 100644 asmcomp/power64/reload.ml
+ create mode 100644 asmcomp/power64/scheduling.ml
+ create mode 100644 asmcomp/power64/selection.ml
+ create mode 100644 asmrun/power64-elf.S
+
+Index: ocaml-4.01.0/asmcomp/power64/arch.ml
+===================================================================
+--- /dev/null
++++ ocaml-4.01.0/asmcomp/power64/arch.ml
+@@ -0,0 +1,88 @@
++(***********************************************************************)
++(* *)
++(* Objective Caml *)
++(* *)
++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
++(* *)
++(* Copyright 1996 Institut National de Recherche en Informatique et *)
++(* en Automatique. All rights reserved. This file is distributed *)
++(* under the terms of the Q Public License version 1.0. *)
++(* *)
++(***********************************************************************)
++
++(* $Id: arch.ml 9547 2010-01-22 12:48:24Z doligez $ *)
++
++(* Specific operations for the PowerPC processor *)
++
++open Format
++
++(* Machine-specific command-line options *)
++
++let command_line_options = []
++
++(* Specific operations *)
++
++type specific_operation =
++ Imultaddf (* multiply and add *)
++ | Imultsubf (* multiply and subtract *)
++ | Ialloc_far of int (* allocation in large functions *)
++
++(* Addressing modes *)
++
++type addressing_mode =
++ Ibased of string * int (* symbol + displ *)
++ | Iindexed of int (* reg + displ *)
++ | Iindexed2 (* reg + reg *)
++
++(* Sizes, endianness *)
++
++let big_endian = true
++
++let size_addr = 8
++let size_int = size_addr
++let size_float = 8
++
++let allow_unaligned_access = false
++
++(* Behavior of division *)
++
++let division_crashes_on_overflow = false
++
++(* Operations on addressing modes *)
++
++let identity_addressing = Iindexed 0
++
++let offset_addressing addr delta =
++ match addr with
++ Ibased(s, n) -> Ibased(s, n + delta)
++ | Iindexed n -> Iindexed(n + delta)
++ | Iindexed2 -> assert false
++
++let num_args_addressing = function
++ Ibased(s, n) -> 0
++ | Iindexed n -> 1
++ | Iindexed2 -> 2
++
++(* Printing operations and addressing modes *)
++
++let print_addressing printreg addr ppf arg =
++ match addr with
++ | Ibased(s, n) ->
++ let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in
++ fprintf ppf "\"%s\"%s" s idx
++ | Iindexed n ->
++ let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in
++ fprintf ppf "%a%s" printreg arg.(0) idx
++ | Iindexed2 ->
++ fprintf ppf "%a + %a" printreg arg.(0) printreg arg.(1)
++
++let print_specific_operation printreg op ppf arg =
++ match op with
++ | Imultaddf ->
++ fprintf ppf "%a *f %a +f %a"
++ printreg arg.(0) printreg arg.(1) printreg arg.(2)
++ | Imultsubf ->
++ fprintf ppf "%a *f %a -f %a"
++ printreg arg.(0) printreg arg.(1) printreg arg.(2)
++ | Ialloc_far n ->
++ fprintf ppf "alloc_far %d" n
+Index: ocaml-4.01.0/asmcomp/power64/emit.mlp
+===================================================================
+--- /dev/null
++++ ocaml-4.01.0/asmcomp/power64/emit.mlp
+@@ -0,0 +1,988 @@
++(***********************************************************************)
++(* *)
++(* Objective Caml *)
++(* *)
++(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
++(* *)
++(* Copyright 1996 Institut National de Recherche en Informatique et *)
++(* en Automatique. All rights reserved. This file is distributed *)
++(* under the terms of the Q Public License version 1.0. *)
++(* *)
++(***********************************************************************)
++
++(* $Id: emit.mlp 9547 2010-01-22 12:48:24Z doligez $ *)
++
++(* Emission of PowerPC assembly code *)
++
++module StringSet = Set.Make(struct type t = string let compare = compare end)
++
++open Misc
++open Cmm
++open Arch
++open Proc
++open Reg
++open Mach
++open Linearize
++open Emitaux
++
++(* Layout of the stack. The stack is kept 16-aligned. *)
++
++let stack_size_lbl = ref 0
++let stack_slot_lbl = ref 0
++let stack_args_size = ref 0
++let stack_traps_size = ref 0
++
++(* We have a stack frame of our own if we call other functions (including
++ use of exceptions, or if we need more than the red zone *)
++let has_stack_frame () =
++ if !contains_calls || (num_stack_slots.(0) + num_stack_slots.(1)) > (288-16)/8 then
++ true
++ else
++ false
++
++let frame_size_sans_args () =
++ let size = 8 * num_stack_slots.(0) + 8 * num_stack_slots.(1) + 48 in
++ Misc.align size 16
++
++let slot_offset loc cls =
++ match loc with
++ Local n ->
++ if cls = 0
++ then (!stack_slot_lbl, num_stack_slots.(1) * 8 + n * 8)
++ else (!stack_slot_lbl, n * 8)
++ | Incoming n -> ((if has_stack_frame() then !stack_size_lbl else 0), 48 + n)
++ | Outgoing n -> (0, n)
++
++(* Output a symbol *)
++
++let emit_symbol =
++ match Config.system with
++ | "elf" | "bsd" -> (fun s -> Emitaux.emit_symbol '.' s)
++ | "rhapsody" -> (fun s -> emit_char '_'; Emitaux.emit_symbol '$' s)
|
[-]
[+]
|
Changed |
ocaml-rpath.patch
^
|
@@ -1,12 +1,14 @@
---- tools/Makefile.shared
-+++ tools/Makefile.shared
-@@ -107,9 +107,6 @@
+Index: ocaml-4.00.1/tools/Makefile.shared
+===================================================================
+--- ocaml-4.00.1.orig/tools/Makefile.shared
++++ ocaml-4.00.1/tools/Makefile.shared
+@@ -114,9 +114,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/
sed -e "s|%%BINDIR%%|$(BINDIR)|" \
- -e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \
- -e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \
-- -e "s|%%BYTECCRPATH%%|$(BYTECCRPATH)|" \
-- -e "s|%%NATIVECCRPATH%%|$(NATIVECCRPATH)|" \
-- -e "s|%%MKSHAREDLIBRPATH%%|$(MKSHAREDLIBRPATH)|" \
- -e "s|%%RANLIB%%|$(RANLIB)|" \
- ocamlmklib.mlp >> ocamlmklib.ml
+ -e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \
+ -e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \
+- -e "s|%%BYTECCRPATH%%|$(BYTECCRPATH)|" \
+- -e "s|%%NATIVECCRPATH%%|$(NATIVECCRPATH)|" \
+- -e "s|%%MKSHAREDLIBRPATH%%|$(MKSHAREDLIBRPATH)|" \
+ -e "s|%%RANLIB%%|$(RANLIB)|" \
+ ocamlmklib.mlp >> ocamlmklib.ml
|
[-]
[+]
|
Added |
ocaml-yacc-Use-mkstemp-instead-of-mktemp.patch
^
|
@@ -0,0 +1,21 @@
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Fri, 13 Sep 2013 21:29:58 +0100
+Subject: yacc: Use mkstemp instead of mktemp.
+
+---
+ yacc/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: ocaml-4.01.0/yacc/main.c
+===================================================================
+--- ocaml-4.01.0.orig/yacc/main.c
++++ ocaml-4.01.0/yacc/main.c
+@@ -53,7 +53,7 @@ char *text_file_name;
+ char *union_file_name;
+ char *verbose_file_name;
+
+-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__)
++#if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__)
+ #define HAVE_MKSTEMP
+ #endif
+
|
|
Added |
ocaml-4.01-refman-html.tar.xz
^
|
|
Added |
ocaml-4.01-refman.info.tar.xz
^
|
[-]
[+]
|
Added |
ocaml-4.01-refman.ps.xz
^
|
@@ -0,0 +1,80841 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software
+%%Title: texstuff/manual.dvi
+%%CreationDate: Thu Sep 12 13:42:32 2013
+%%Pages: 564
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 612 792
+%%DocumentFonts: CMR17 CMR12 CMR10 SFRM1095 CMBX12 CMBX10 CMTT10 CMSL10
+%%+ CMSLTT10 SFTT1095 SFST1000 CMTI10 CMR8 CMMI8 CMR6 CMR9 CMTT9 CMMI10
+%%+ CMSY10 CMSY8 CMTT12 CMBX8 CMITT10 CMSY7 CMR7 CMMI7 LINEW10
+%%DocumentPaperSizes: Letter
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o
+%+ "!gzip > $HOME/release/${RELEASENAME}refman.ps.gz"
+%+ texstuff/manual.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2013.09.12:1341
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: cm-super-ts1.enc 0 0
+% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt'
+/TS1Encoding [
+% 0x00
+/Grave
+/Acute
+/Circumflex % ?
+/Tilde % ?
+/Dieresis
+/Hungarumlaut
+/Ring % ?
+/Caron
+/Breve % ?
+/Macron
+/Dotaccent % ?
+/cedilla
+/ogonek
+/quotesinglbase.ts1
+/.notdef
+/.notdef
+% 0x10
+/.notdef
+/.notdef
+/quotedblbase.ts1
+/.notdef
+/.notdef
+/twelveudash % ?
+/threequartersemdash
+/afii61664.cap % ?
+/arrowleft
+/arrowright
+/tieaccentlowercase % ?
+/tieaccentcapital % ?
+/tieaccentlowercase.new % ?
+/tieaccentcapital.new % ?
+/.notdef
+/afii61664.asc % ?
+% 0x20
+/uni2422
+/.notdef
+/.notdef
+/.notdef
+/dollar
+/.notdef
+/.notdef
+/quotesingle
+/.notdef
+/.notdef
+/asteriskmath
+/.notdef
+/comma
+/hyphendbl % ?
+/period
+/fraction
+% 0x30
+/zerooldstyle
+/oneoldstyle
+/twooldstyle
+/threeoldstyle
+/fouroldstyle
+/fiveoldstyle
+/sixoldstyle
+/sevenoldstyle
+/eightoldstyle
+/nineoldstyle
+/.notdef
+/.notdef
+/angleleft
+/minus
+/angleright
+/.notdef
+% 0x40
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/uni2127
+/.notdef
+/circle
+% 0x50
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/Omega
+/.notdef
+/.notdef
+/.notdef
+/uni301A
+/.notdef
+/uni301B
+/arrowup
+/arrowdown
+% 0x60
+/grave.ts1
+/.notdef
+/born % ?
+/divorced % ?
+/died % ?
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/leaf % ?
+/married % ?
+/musicalnote
+/.notdef
+% 0x70
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
|
|
Added |
ocaml-4.01.0.tar.xz
^
|