[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [Unikraft] Static Libraries not being linked properly


  • To: Ajay Garg <ajaygargnsit@xxxxxxxxx>
  • From: Wei Chen <Wei.Chen@xxxxxxx>
  • Date: Fri, 4 May 2018 05:25:00 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Wei.Chen@xxxxxxx;
  • Cc: "minios-devel@xxxxxxxxxxxxxxxxxxxx" <minios-devel@xxxxxxxxxxxxxxxxxxxx>, Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
  • Delivery-date: Fri, 04 May 2018 05:25:13 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99
  • Thread-index: AQHT06QTkh7b+gLJn0aR3f9tdvMCnKQANaYAgAGgVYCAA+fVgIAAC/rAgAACKrCAABQlAIAAAVgwgAAGjACAAAth4IAAAnEAgAoDjoCADbjjAIAAZvwAgAA1TICAAKrZkIAAFs4AgAAS1/A=
  • Thread-topic: [Minios-devel] [Unikraft] Static Libraries not being linked properly

Hi Ajay,

> -----Original Message-----
> From: Ajay Garg <ajaygargnsit@xxxxxxxxx>
> Sent: 2018年5月4日 11:55
> To: Wei Chen <Wei.Chen@xxxxxxx>
> Cc: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>; minios-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: [Minios-devel] [Unikraft] Static Libraries not being linked
> properly
>
> Hi Wei.
>
> Thanks for the reply.
>
> On Fri, May 4, 2018 at 8:21 AM, Wei Chen <Wei.Chen@xxxxxxx> wrote:
> > Hi Ajay,
> >
> > As what I understand, most of the libraries will use the posix
> > APIs that provided by libc to use system functions. For Linux,
> > the libc is a wrap of Linux system calls. For Unikraft, the Libc
> > is a wrap of platform APIs.
>
> Hmm, currently in lib/nolibc, I only see files such as string.c,
> stdlib.c etc, all of which look bare-metal code to me.
> I am sure I am overlooking something, but I will be grateful if you
> could give one example of an API wrapping platform APIs.
>

You can see the code in lib/nolibc/stdio.c:
int vfprintf(FILE *fp, const char *fmt, va_list ap)

This API is a wrap of ukplat_coutk. ukplat_coutk is a platform API
which is provided by platform console library (plat/xen/console.c or
plat/kvm/x86/console.c)

> > Linux has more than 300 system calls,
> > as Unikraft is new, we don’t have so many platform APIs in this
> > stage. This means we haven't implemented all posix APIs in nolibc,
> > if the libraries of filesystem/lwip/other are using some APIs that
> > we are missing, you have to implement them in current stage.
>
> Hmm.. just curious, src-netbsd in rumprun manages to provide all APIs
> for xen (too bad there is no support for xen-on-arm there).


I regret that too : (
But I am not familiar with src-netbsd, I am not very clear about
"provide all APIs" here.

> So, is this trait (wrapping of APIs in libc in unikraft) an
> architectural difference from rumprun?
>

Ahh, I think we have made some mis-understanding. nolibc is just an example,
I think we can implement the network APIs in a library name libnet or etc : )

Those above are all my personal understanding, I think Simon can give you
an official answer ;)


>
> >
> > Regards,
> > Wei Chen
> >
>
> Thanks again for all the information and help.
>

You're welcome, I also benefit much from our open discussion : )

>
> Thanks and Regards,
> Ajay
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.