From: Blaisorblade <blaisorblade@yahoo.it>
To: Rob Landley <rob@landley.net>
Cc: user-mode-linux-devel@lists.sourceforge.net,
Stian Skjelstad <stian@nixia.no>
Subject: Re: [uml-devel] [Bug 49277] Compile of usermode-sources-2.6.x fails
Date: Fri, 11 Feb 2005 03:33:13 +0100 [thread overview]
Message-ID: <200502110333.14243.blaisorblade@yahoo.it> (raw)
In-Reply-To: <200502101931.19744.rob@landley.net>
Stian, can you please read this and provide some help? The point of interest
for you is ***MARKED***
On Friday 11 February 2005 01:31, Rob Landley wrote:
> On Thursday 10 February 2005 10:44 am, Blaisorblade wrote:
> > > And requiring SKAS mode to use uclibc
> >
> > uclibc doesn't allow static linking? It's strange...
>
> Sorry, meant UML.
> (I have a cold.)
Best wishes for your health... (please, someone translate this to real
English :-) )
> > > Any idea when SKAS0 might be ready for testing?
> >
> > You can already test it I guess, but probably it's not for production
> > yet.
> >
> > I (Wildly) guess a month could be enough, maybe... however for now you
> > can do some testing in SKAS mode (the setup inside UML is not different).
>
> So if I build 2.6.11-rc3-bk? I can fire up SKAS0 mode and run it on an
> unmodified kernel? If so, I'm happy to test this... (I read Jeff Dike's
> blog entry on SKAS0, but it didn't really have any implementation details.)
Well, code already exists. Get the appropriate -mm tree and apply on top of it
the "incrementals" tree at
http://user-mode-linux.sourceforge.net/patches.html.
Give a quick read to the changelogs to get a feeling about what's actually
needed and what won't at all compile. I guess that in this moment skas0-ldt
is a good point to stop at.
> > > is roughly equivalent to requiring a
> > > kernel module in order to work.
> > Ok, are you able to figure out a way to copy the whole binary (+ libs) to
> > the VM file and remap it from the file to arbitrary address spaces?
> Not with this cold and without a lot more study of how UML works,
Yes, obviously... actually, I also have made some confusion (I actually
answered to "why UML in TT mode is built static?", not to the bug in TT
mode).
***MARKED***
The bug in TT mode: actually, it happens when and because UML is statically
linked, against NPTL glibc. It does not happen on normal distros, which
provide a LinuxThreads glibc in /lib and for static linking to be 2.4
compatible; nor in Gentoo with nptl disabled (which was the default when I
installed it).
The problem, currently, is that there are problems (and linker assertion
failures) probably because the linking scripts do not play well with
the /usr/lib/libc.a sections. The error, if I recall it correctly, is posted
in the comment #6.
Linking scripts give instructions about how to merge / order symbols of
various sections inside the final binary; more info is provided in the info
pages for ld. Uml's linking script are a mix of
arch/i386/kernel/vmlinux.lds.S (which contains special kernels definition,
used for instance for initcalls) and of the normal linking scripts used to
build userspace executables (they are visible in the output of "strings ld",
and maybe there is even some special option).
To dissect binary and library sections, objdump is also useful (and also the
elfutils version of it).
Now, I don't understand why that error is born - it guesses wrongly the number
of physical headers, and I could describe in detail the physical headers I
want (each physical header groups a number of sections with similar mapping
requirements).
***MARKED***
Stuff below refers to "Why UML in TT mode is built static?"
> but first
> I want to confirm that you looked at the new 2.6 nonlinear mappings support
> (mm/fremap.c, sys_remap_file_pages() and friends...)
Hmm, I know that feature, only I don't understand how it could help *here*...
basically, I think everything that you can do through remap_file_pages() can
be done through mmap() / munmap() / mremap(), and the advantage is only for
performance... and since the mappings in this case are created
So, when and if there will be a remap_file_pages where you can also change
protections and we'll drop all the mmap() we must create (one mmap for each
page is not very nice... in fact with >=256 M of RAM for single process
inside UML you must increase the max number of mappings a single process can
create). Having 65536 mappings, put together inside a red-black tree, is not
nice at all.
> > This is why in TT mode UML is statically linked, it's done so that we
> > must not understand where libraries are located and remap them, too. I
> > don't think there is a clean way (other than parsing /proc/self/maps, but
> > that is a horrible kludge).
>
> Is there a post somewhere describing the problem in more detail?
No idea, if it exists, (about why UML is statically linked) it is older than
me here (and I follow UML only since 1 year and a half).
--
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2005-02-11 2:34 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-09 15:38 [uml-devel] [Bug 49277] Compile of usermode-sources-2.6.x fails bugzilla-daemon
2005-02-10 3:40 ` Rob Landley
2005-02-10 11:31 ` Blaisorblade
2005-02-10 14:16 ` Rob Landley
2005-02-10 15:44 ` Blaisorblade
2005-02-11 0:31 ` Rob Landley
2005-02-11 2:33 ` Blaisorblade [this message]
2005-02-11 2:42 ` Rob Landley
2005-02-11 3:48 ` Blaisorblade
[not found] <bug-49277@bugs.gentoo.org>
2005-06-07 0:57 ` bugzilla-daemon
2005-06-07 14:31 ` Nix
2005-06-07 14:52 ` Blaisorblade
2005-06-07 15:54 ` Nix
2005-06-07 16:11 ` Blaisorblade
2005-06-07 16:21 ` Nix
2005-06-07 16:44 ` Blaisorblade
2005-06-07 19:47 ` Nix
2005-06-08 0:34 ` Blaisorblade
2005-06-08 17:38 ` Nix
2005-06-08 18:10 ` Blaisorblade
2005-06-09 22:08 ` Blaisorblade
2005-06-07 16:52 ` Blaisorblade
2005-06-07 16:02 ` Nix
2005-07-06 9:57 ` bugzilla-daemon
2005-07-06 16:22 ` bugzilla-daemon
2005-07-09 22:41 ` bugzilla-daemon
2005-07-12 17:13 ` bugzilla-daemon
2005-07-13 15:14 ` bugzilla-daemon
2005-07-14 8:11 ` bugzilla-daemon
2005-07-14 19:57 ` Rob Landley
2005-07-14 20:22 ` Rob Landley
2005-07-14 8:12 ` bugzilla-daemon
2005-07-14 8:39 ` bugzilla-daemon
2005-07-14 8:40 ` bugzilla-daemon
-- strict thread matches above, loose matches on Subject: below --
2005-05-08 11:55 bugzilla-daemon
2005-04-30 0:41 bugzilla-daemon
2005-04-28 16:26 bugzilla-daemon
2005-04-13 15:50 bugzilla-daemon
2005-04-08 18:01 bugzilla-daemon
2005-03-19 20:54 bugzilla-daemon
2005-03-02 23:28 bugzilla-daemon
2005-03-02 15:04 bugzilla-daemon
2005-02-18 13:05 bugzilla-daemon
2005-02-09 21:58 bugzilla-daemon
2005-01-12 1:24 bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200502110333.14243.blaisorblade@yahoo.it \
--to=blaisorblade@yahoo.it \
--cc=rob@landley.net \
--cc=stian@nixia.no \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox