@@ -26,6 +26,11 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/* Outside of Xen, the includer must provide stdint.h or equivalent. */
+#ifdef __XEN__
+#include <xen/types.h>
+#endif
+
typedef uint32_t Elf32_Addr; /* Unsigned program address */
typedef uint32_t Elf32_Off; /* Unsigned file offset */
typedef uint16_t Elf32_Half; /* Unsigned medium integer */
@@ -45,7 +50,7 @@ typedef uint64_t Elf64_Xword;
/*
* e_ident[] identification indexes
- * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html
+ * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html
*/
#define EI_MAG0 0 /* file ID */
#define EI_MAG1 1 /* file ID */
@@ -5,7 +5,6 @@
#ifndef __XEN_LIVEPATCH_ELF_H__
#define __XEN_LIVEPATCH_ELF_H__
-#include <xen/types.h>
#include <xen/elfstructs.h>
/* The following describes an Elf file as consumed by Xen Live Patch. */
@@ -1,7 +1,6 @@
#ifndef __XEN_VERSION_H__
#define __XEN_VERSION_H__
-#include <xen/types.h>
#include <xen/elfstructs.h>
const char *xen_compile_date(void);
elfstructs.h needs the stdint.h types. Two headers arrange this manually, but elf.h and livepatch.h do not, which breaks source files whose headers are properly sorted. elfstructs.h is used by tools too, so limit this to Xen only. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Anthony PERARD <anthony.perard@vates.tech> CC: Michal Orzel <michal.orzel@amd.com> CC: Jan Beulich <jbeulich@suse.com> CC: Julien Grall <julien@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> CC: Bertrand Marquis <bertrand.marquis@arm.com> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> CC: Shawn Anastasio <sanastasio@raptorengineering.com> --- xen/include/xen/elfstructs.h | 7 ++++++- xen/include/xen/livepatch_elf.h | 1 - xen/include/xen/version.h | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) base-commit: 8e60d47cf0112c145b6b0e454d102b04c857db8c