This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] caml stubdom crashes

To: "George S. Coker, II" <gscoker@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] caml stubdom crashes
From: Alex Zeffertt <alex.zeffertt@xxxxxxxxxxxxx>
Date: Fri, 03 Apr 2009 09:53:12 +0100
Cc: Patrick Colp <pjcolp@xxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
Delivery-date: Fri, 03 Apr 2009 01:53:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C5FA6BCE.2C57B%gscoker@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C5FA6BCE.2C57B%gscoker@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20090105)
George S. Coker, II wrote:

On 4/2/09 12:22 PM, "Patrick Colp" <pjcolp@xxxxxxxxx> wrote:

Alex Zeffertt wrote:
Hello ocaml minios stubdomain experts (that's narrowed down the list

I've been playing with the caml version of the "hello world" example
stubdomain that can be found in xen-unstable.hg/stubdom/caml/.

If I make the following trivial modification to stubdom/caml/hello.ml
the stub domain page faults.  According to addr2line the page fault is
in ungetc.c:0.

--- a/stubdom/caml/hello.ml    Mon Mar 30 11:42:16 2009 +0100
+++ b/stubdom/caml/hello.ml    Thu Apr 02 15:15:45 2009 +0100
@@ -1,4 +1,6 @@
+let yr = 2009
 let main arg =
-  Printf.printf "Hello, world!\n%!."
+  Printf.printf "Hello, world %d!\n%!." yr

 let _ = Callback.register "main" main

Without the above change the stub domain runs as expected, i.e. it does
not page fault.

I suspect the problem is that the caml-stubdom target in
stubdom/caml/Makefile compiles stubdom/caml/hello.ml and links it with
$(CAMLLIB)/libasmrun.a.  But this is a library compiled for the
development machine platform (linux-i386-glibc) not for the stubdomain
platform (minios-i386-newlib).

I don't think this is a linux-i386-glibc vs minios-i386-newlib issue but
rather the FORTIFY compiler options that introduce the
__fprintf_chk/__sprintf_chk funcs.  There is still something about the
behavior of the FORTIFY options that I am still not accounting for.  As
Patrick points out, special ports of ocaml should not be (and have not been)

Hi George, thanks for replying.

Is this an option that was used when the ubuntu package managers built ocaml, but was not used by Debian. Or have I misunderstood.

I'm using your "_chk and _fail canaries" patch (actually I've had to extend it as I got even more undefined syms when I tried to compile xen-ocaml-tools/xenstored.) Are you saying that there is a problem with this patch?



Xen-devel mailing list