WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] caml stubdom crashes

To: Alex Zeffertt <alex.zeffertt@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] caml stubdom crashes
From: "George S. Coker, II" <gscoker@xxxxxxxxxxxxxx>
Date: Fri, 03 Apr 2009 10:53:46 -0400
Cc: Patrick Colp <pjcolp@xxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
Delivery-date: Fri, 03 Apr 2009 07:54:41 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <49D5CE78.30206@xxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acm0a/0+IiqtwLbQLUWtLnfUJeHaJQ==
Thread-topic: [Xen-devel] caml stubdom crashes
User-agent: Microsoft-Entourage/12.15.0.081119


On 4/3/09 4:53 AM, "Alex Zeffertt" <alex.zeffertt@xxxxxxxxxxxxx> wrote:

> 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
>>>> somewhat!)
>>>> 
>>>> 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)
>> necessary.
>>  
> 
> 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?
> 
I think my patch is correct, but as you have found out my patch is also
incomplete.  I was not able to test with the ocaml xenstored when I created
the patch.

The issues that this patch and your other patch address are introduced by
the FORTIFY and -Wstack-protector options that are used to compile the
system ocaml libraries.  Debian is the last hold out to implement these
options (and I *think* the most recent versions of Debian have started to
build system tools with these protections).  So I attempted to sketch out a
patch that would point the way for allowing mini-os to be linked with and
leverage these system libraries without pulling in special builds of system
tools or distro development dependencies.

Thanks for your patch.  I'm going to have a further look into this issue
today.

> Regards,
> 
> Alex

-- 
George S. Coker, II <gscoker@xxxxxxxxxxxxxx>



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>