Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jul 2012 10:52:44 +0000
From:      Eric McCorkle <eric@shadowsun.net>
To:        "Andrey V. Elsukov" <ae@FreeBSD.org>, soc-status@FreeBSD.org
Subject:   Status report
Message-ID:  <4FFC097C.1030704@shadowsun.net>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig704BD332720D85C9D75F7171
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I am back from traveling, and I managed to get quite a bit done in spite
of it.  I was able to identify the source of the remaining issues that
were preventing loader.efi from running, and I was able to get the i386
version to run under the TianoCore EFI image on QEMU.

The issues are as follows:

* clang seems to result in bad jump offsets being generated in the final
PE executable.  GCC, on the other hand, does not.  This means the EFI
loader *must* be compiled with GCC for the time being.  This was causing
loader.efi to fail, as my system's make.conf is set to use clang for
building world.

* _reloc can only handle two kinds of relocations.  More specifically,
if it encounters the kinds of relocations that arise from undefined
symbols, it will fail.  Using a linker script and objcopy to generate PE
executables will silently ignore undefined symbols (which is why the
loader.efi Makefile checks explicitly for them).  This was causing
_reloc to fail in my experimental programs.

However, at this point I am finally able to work directly on loader.efi.
 My current plans are to look at the contiguous memory allocation issue,
and to document what I've learned about loader.efi and how it's created
better.

I am also curious as to why clang generates bad offsets.  This certainly
needs to be addressed at some point.


--------------enig704BD332720D85C9D75F7171
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQIcBAEBAgAGBQJP/Al/AAoJENSCzbQ+koZ7+TsP/01ly9Bay4Zk5DEiGC9UbCMD
YMxNncMkB8cDlBcTxzLzgu35+KkcnOtE7TUU/PPMXtay1sSpoT1XLd2QR0kJBVJ7
Ok8qYIUng3/fcc25FbVs3KarU/WoyplM08QvGr271zzD2HzoMHGGbP6nZJMFVfQH
1WzlqqaXL+T7NbtR4n+ESB1wVBgGyIn2+SvZD+eew1BWg3O7p79jX/hwqUlSH248
JsS0fNm36CPHvrN7bHbF5OAamc9r0BZWuWKME9xdy+QclQihrxOPzcRgrPaYM1TK
0wZ/la9b4WidBjcJyEGjfktazhFh9O5FM5tg6USpwSo+Q/ACkEnkJ2a2Ryv1vB8L
PHQ/LN6Y/TiBMUzpHCxHJpNgcbHiOseZctdQzmJ7jvccocAPZXQP18+RjQdLMAzP
u8J5jCILhfjcIUWgk8Wbt7jZRbtuX0eJN8v4XW+nBym0kRb15pNaTT+IO+cDSer2
8k7HaKwakgk4n/gwbR6QzVHvIsLE0nnCFRmnI0AKxxN2Du8taCteyZrg9I4Ud6u7
YQgnIPHnMjz7XVjUfdBHmCAo3k1nuZhD0VCobP7nyR2sdIryaLFtjKnRt2V4UArW
q1K1uqZIpOTjwqrddJH+8D9cBqEdSWoRI0zkZoTSMYAuipBExEyNjq60mTLo5oEp
9UQ1vRetSnbwFED7l+ap
=YDwB
-----END PGP SIGNATURE-----

--------------enig704BD332720D85C9D75F7171--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FFC097C.1030704>