This patch eliminate the global variables in libxenctrl (used for
logging and error reporting).
Instead the information which was in the global variables is now in a
new xc_interface* opaque structure, which xc_interface open returns
instead of the raw file descriptor; furthermore, logging is done via
xentoollog.
There are three new parameters to xc_interface_open to control the
logging, but existing callers can just pass "0" for all three to get
the old behaviour.
All libxc callers have been adjusted accordingly.
Also update QEMU_TAG for corresponding qemu change.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
libelf now permits callers to specify logging callback functions,
rather than a FILE*. libelf's non-Xen callers are all libxc users, so
the stdio dependency and the default logging callback function (which
calls vfprintf) is now in libxc.
Xen's use of libxc is unaffected in this patch.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
It's always an error to try to use sections on an executable; the
segments in the phdr are definitive.
Unfortunately we cannot drop SHT_NOTE support completely due to a
binutils bug which causes kernels to have the offset field of the
PT_NOTE phdr set to zero:
http://sourceware.org/bugzilla/show_bug.cgi?id=594
This bug is present in binutils 2.17 although some distros have
backported the fix.
Therefore we simply prefer a PT_NOTE segment if we find one otherwise
we still use the SHT_NOTE section (and then the old __xen_guest
section).
Based on a patch from Jeremy Fitzhardinge.
Also added XEN_ELFNOTE_HV_START_LOW to readnotes.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>