Package: ocaml / 4.02.3-9

Metadata

Package Version Patches format
ocaml 4.02.3-9 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Pass no relax to ld on alpha.patch | (download)

configure | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 pass --no-relax to ld on alpha

Pass the --no-relax option to ld to fix a segfault in initialization
code (bug#338437)

0002 Call ld with proper flags.patch | (download)

configure | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 call ld with proper flags

Filter linkflags passed to ld by ocamlopt -pack and -output-obj
to remove the "-Wl," parts, which are only used when ocamlopt calls
gcc.

0003 Don t use rpath.patch | (download)

tools/ocamlmklib.ml | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 don't use rpath


0004 Put manpages in section 3o instead of 3.patch | (download)

ocamldoc/Makefile | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 put manpages in section 3o instead of 3


0005 Avoid multiple declarations in generated .c files in.patch | (download)

bytecomp/bytelink.ml | 18 16 + 2 - 0 !
bytecomp/symtable.ml | 8 5 + 3 - 0 !
bytecomp/symtable.mli | 2 1 + 1 - 0 !
3 files changed, 22 insertions(+), 6 deletions(-)

 avoid multiple declarations in generated .c files in -output-obj

In -output-obj mode, <caml/mlvalues.h> (which contains some
primitives) is included in the generated .c file, leading to errors
when compiling with g++ (multiple declarations).

There are probably better implementations (in particular, in this one,
care must be taken when changing the list of primitives available in
mlvalues.h), but this is a small and (not too) intrusive patch.

Bug: http://caml.inria.fr/mantis/view.php?id=5254
Signed-off-by: Stephane Glondu <steph@glondu.net>

0006 Embed bytecode in C object when using custom.patch | (download)

bytecomp/bytelink.ml | 42 38 + 4 - 0 !
testsuite/tests/basic-manyargs/Makefile | 3 3 + 0 - 0 !
testsuite/tests/callback/Makefile | 3 3 + 0 - 0 !
testsuite/tests/embedded/Makefile | 4 4 + 0 - 0 !
testsuite/tests/gc-roots/Makefile | 3 3 + 0 - 0 !
testsuite/tests/lib-dynlink-bytecode/Makefile | 3 3 + 0 - 0 !
testsuite/tests/lib-marshal/Makefile | 3 3 + 0 - 0 !
7 files changed, 57 insertions(+), 4 deletions(-)

 embed bytecode in c object when using -custom

This patch fixes non-strippability of bytecode executables linked with
custom runtime. The new behaviour is enabled when OCAML_CUSTOM_EMBED
is set to "y", or when DEB_HOST_ARCH is non-empty.

0007 Tune resource usage of some tests.patch | (download)

testsuite/tests/lib-threads/sieve.ml | 2 1 + 1 - 0 !
testsuite/tests/lib-threads/sieve.reference | 80 0 + 80 - 0 !
testsuite/tests/lib-threads/testsieve.ml | 2 1 + 1 - 0 !
testsuite/tests/lib-threads/testsieve.reference | 70 0 + 70 - 0 !
testsuite/tests/lib-threads/token1.ml | 2 1 + 1 - 0 !
testsuite/tests/lib-threads/token2.ml | 2 1 + 1 - 0 !
6 files changed, 4 insertions(+), 154 deletions(-)

 tune resource usage of some tests

The original tests trigger some limits and fail on kfreebsd-i386 with
uncaught exception Sys_error("Thread.create: Resource temporarily
unavailable").

0008 Native backtraces don t work on powerpc and sparc.patch | (download)

testsuite/tests/backtrace/Makefile | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 native backtraces don't work on powerpc and sparc


0010 Enable ocamldoc to build reproducible manpages.patch | (download)

ocamldoc/odoc_man.ml | 15 5 + 10 - 0 !
ocamldoc/odoc_misc.ml | 12 10 + 2 - 0 !
ocamldoc/odoc_misc.mli | 7 6 + 1 - 0 !
3 files changed, 21 insertions(+), 13 deletions(-)

 enable ocamldoc to build reproducible manpages

Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794586
Signed-off-by: Stephane Glondu <steph@glondu.net>

0010 Add a .file directive to generated .s files.patch | (download)

asmcomp/amd64/emit.mlp | 1 1 + 0 - 0 !
asmcomp/arm/emit.mlp | 1 1 + 0 - 0 !
asmcomp/arm64/emit.mlp | 1 1 + 0 - 0 !
asmcomp/i386/emit.mlp | 1 1 + 0 - 0 !
asmcomp/power/emit.mlp | 1 1 + 0 - 0 !
asmcomp/sparc/emit.mlp | 1 1 + 0 - 0 !
6 files changed, 6 insertions(+)

 add a .file directive to generated .s files

When no .file directive is given, the toolchain records the filename
of the .o file, which is sometimes random, making generated objects
non-deterministic.

We use Location.input_name for adding .file directives to assembly
files. Note: when the file is preprocessed, this reference holds the
name of the temporary file. Hence, files compiled with -pp are still
not deterministic.

Bug-Debian: https://bugs.debian.org/795784
Bug-Debian: https://bugs.debian.org/796336

0011 Compatibility with x32 architecture.patch | (download)

byterun/caml/signals_machdep.h | 2 1 + 1 - 0 !
configure | 11 5 + 6 - 0 !
2 files changed, 6 insertions(+), 7 deletions(-)

 compatibility with x32 architecture

0012 arm default PIC.patch | (download)

asmcomp/arm/arch.ml | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 default to pic on arm

Otherwise the armhf build fails now that PIE is enabled by default.

Bug-Debian: https://bugs.debian.org/837359
0013 Use CCLINKFLAGS for linking all executables and shar.patch | (download)

configure | 2 2 + 0 - 0 !
tools/Makefile.shared | 2 1 + 1 - 0 !
2 files changed, 3 insertions(+), 1 deletion(-)

 use cclinkflags for linking all executables and shared libraries

This allows packagers to set additional linker flags for executables and shared
libraries created by OCaml, and for the OCaml tools themselves.
OCaml code can be linked with various C stubs and C libraries that would
benefit from using hardening link flags, such as -Wl,-z,relro.

0014 Compute a stable name for preprocessed files.patch | (download)

driver/pparse.ml | 11 10 + 1 - 0 !
1 file changed, 10 insertions(+), 1 deletion(-)

 compute a stable name for preprocessed files


0015 CVE 2015 8869.patch | (download)

byterun/alloc.c | 4 2 + 2 - 0 !
byterun/intern.c | 2 1 + 1 - 0 !
byterun/str.c | 4 2 + 2 - 0 !
3 files changed, 5 insertions(+), 5 deletions(-)

 cve-2015-8869