From: Dan Aloni <da-x@gmx.net>
To: User-mode Linux Kernel Development
<user-mode-linux-devel@lists.sourceforge.net>
Subject: [uml-devel] Problem with UML cross compilation
Date: Sat, 18 Oct 2003 20:31:28 +0200 [thread overview]
Message-ID: <20031018183128.GA22119@callisto.yi.org> (raw)
Hi,
Lately I have found a problem with UML and cross compilation. Cross
compilation means that the architecture that the UML kernel will
run on (target) is different than the one that it is compiled on
(host).
I attempted cross compilation and found that some utils are being
built and run during the build process. These utils were compiled
using the target compiler, which obviously didn't work (all which
is run on the host needs to be compiled with HOSTCC instead of CC).
Fixing the Makefiles fixes the build procedure from breaking,
however, the problem is that there is no gaurantee that the UML
kernel that was built would work.
The reason for the problem is that those utils generate code that
depends on things like offsets inside structs, which obviously
change between architectures that have different word size.
It also relies on the target's libc headers, for that purpose.
I've discussed with Jeff about this problem in private E-Mail,
we both thought about solutions but didn't share them yet.
My solution is:
* Let not build and run those utils on the build host, obviously.
* All the required versions of the generated code for each of the
targets will already reside in the tree, the build process will
automatically pick up the right version and symlink to it.
* Create a completely standalone program that embeds those utils
and generates the code. People who port UML to other
architectures will take this program, compile and run it on
the target and put its output(s) in the tree.
The main problem with this method is when and if the target
changes in such a way that requires those outputs to be
regenerated.
I would like your suggestions and opinions about how feasible
this solution with the 2.4 and 2.6 trees, and if you have
other solutions I'd like to know.
Thanks,
--
Dan Aloni
da-x@gmx.net
-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise
Linux in the Boardroom; in the Front Office; & in the Server Room
http://www.enterpriselinuxforum.com
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next reply other threads:[~2003-10-19 11:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-18 18:31 Dan Aloni [this message]
2003-10-19 17:16 ` [uml-devel] Problem with UML cross compilation Jeff Dike
2003-10-19 20:28 ` Dan Aloni
2003-10-25 1:34 ` Jeff Dike
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=20031018183128.GA22119@callisto.yi.org \
--to=da-x@gmx.net \
--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