diff options
Diffstat (limited to 'app-emulation/xen-tools')
5 files changed, 71 insertions, 3 deletions
diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index 5885609caa72..75d0309f7afb 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -1,6 +1,8 @@ AUX README.gentoo 572 BLAKE2B 1284e49ac0bde0e1c1ad32b7dc200848c0837378224daed628036b5835998c9649574e2b91b4891a610188f01900922d3b2bb23fd6381682c3486bc83be9a9ef SHA512 d7312c11154b3446a66af5e11a9d8e1a30c29e42867b51a073f4460078c9a1b7acb94cea6d38bcd7fdafbb4384856cd11093f41eee1941ca43303a5e21765b03 +AUX edk2-202202-binutils-2.41-textrels.patch 2600 BLAKE2B e3ddfcf36190762cf2589faa777f19f04bc7d3363a226885fa96a17cfbd29f9dd6d6b6501f85080c789b09c34a9174154e2b9dca7f1d1cd274841cf20e8835d2 SHA512 17c01bfc9eb2d2f356e16c08ef5c3def635fd502a9e50692bd5aa3e3a11f999997d0783c8a3b828ede96b34a1e23d4a6d9398607f4a9d0ddc597de3fa2e9a8cf AUX stubs-32.h 537 BLAKE2B 456f57c4a4ba574c737f1b84b62a085d0290ebc8981a5f96fdebc16b6c86c801c5ca8dde135e803f46c5ec875fdd74770f6ed754880bc7af930b8ce1ce972fb7 SHA512 55308dbedaa91909a2213940f7a7b574cabe6b5a3104761a2a6f28d6aed00164544488c00cbf9d66a9a370a14c6b6d3a00434efd3ff0228cc8e4d81af19c0e68 AUX xen-consoles.logrotate 63 BLAKE2B 4ae650876035d2815dbcacc6ed618c58cc61d9cfd9cde1b6c2f792cbf51898c577ef979443ad827fc82ced4d21ae24836883160b20d697965ef5377d50c2973c SHA512 ab2105c75cfe01768aecd5bcbb56269d63666e8a44e42b6a83aee87df6c84ee2f9ab249171c21b2e09f8fec2cae8318f6e87d160989398a3e7dd68db8d52c426 +AUX xen-tools-4.19.1-gnu17.patch 314 BLAKE2B 250f194fba156545b04fa251c10083df70b2f39133ee6b9d8827ffd3f90d54015375fdd5222d6e6b66b34f4b7ae8bd68ab27b50d314b9eb33547cb408349c7d1 SHA512 208af691fdcfaa06a300163e80866b728395dec71908a32e4d1effba396916a6ea7edefd38be7b9f970ee18bd368de3ee6825820796953af5262010f5be60a69 AUX xen-watchdog.initd 181 BLAKE2B b8529db36016b6f71520c1e4119a2ea5c4d3f52f2c77ccb5603efb67bcdd88b8273a359f6ae0df61763ea31a50bd8a0be775df5aabbd17c90e7928c8ed5b7c0e SHA512 5f6da91c0067b93f1b9f1a2f181caf34034896944ab26f5820e860336e3b3159a65e8a7f39ea273927d64d58a2fe4d918d2c3234f2b03ab0770e0c15d6dfe84b AUX xencommons.confd 109 BLAKE2B 6a2023a95cd1e411abe57c321e1c5f13096b51299817ce547e8ff042cbdbf859a5c1f50135e946fe650e0ec9221db3389ff50bc23f6d88d0c0fd1805b64786be SHA512 f0bbc9647cecc6cf806e3059960fbe39b23304d9ca0955fb261e1d320b9b9ce59e5b28cc4b5a9922295b31221f0cd8f0cccb405520e097a7b12dc6ddb3294c17 AUX xencommons.initd 1451 BLAKE2B ef0cfa4fc7c4071b7a5822f4ad8983b9f7c386505e8b6967139c8921b002ff03a0a2be235060160d00d3890cffd15300b588c2b06a67a839df110c3737bbaee5 SHA512 1d25ae65ff073a5fc00aed2011af9e38f53d179dfadd06f791a4599c070a5ddbbf75d80b37e219b6de5d09e3466510c241311cbb018ef22cd3c97ce3b7c15b3c @@ -23,6 +25,6 @@ DIST xen-4.18.3.tar.gz 51911584 BLAKE2B 01bc915ea88c6a80608bb4f9c37ec75cd4abcc78 DIST xen-4.19.1.tar.gz 51991715 BLAKE2B 1e16c15c98b0e02ee55129cde3f41b314a4eaaff9956f5fa6cea7d9391c51e103b7d62f647e628634ed63bc3ac41bb93a65ec4e26aa39fb2f174f9aef161cd90 SHA512 6971d07d4eafd40186f35cf6de235badbdf0e1640974693b8fbd415876c46634094178a6157e6dfdc16af885c70ff3b7a72be35a88dcc63daf36e6eb08f9b17b DIST xen-gentoo-patches-4.17.0-gentoo-patchset-2.tar.bz2 4001 BLAKE2B 7afce426759952e202a1dd819fe0a23108072bf9552ba14a0bd787a96ffe5e7a36f37e03dad8db9c46f5731acbc122c258eef6d517816aad9c8db1ca64700d19 SHA512 bcb1479f9ff5e194a4e452da9d0479febc2bcd465b4be69bb8f30e2e6b858fb77a71216dcb3e74dfb65e7ca6513742c294cd6b5eaa5ce82d0b122a00f1cbc450 DIST xen-upstream-patches-4.18.4-pre-patchset-1.tar.bz2 55216 BLAKE2B 9cc25750cc48db6efbc349278a89cfc3880326ad4556d5dad28a016bbf270435acff606d545420d44a3143ab1f540156c6997ad676d36b3ec3d5e85a63fb495c SHA512 3752998f804c7e1e5dc327a1a84dafbdac6c06eefa404766fc94089521d836a5fecd2f760e229200d4b6267af88f55b119505336be4d57e9fd74457b122f896f -EBUILD xen-tools-4.18.4_pre1.ebuild 16080 BLAKE2B d7f99bad8a6314272190a7352bb4071326cc8447d6dd7dc283e742de35933c37a1d642c62a2642ac28f35560c16eb94ff6be3f000abc4e364f6ebab9122bc1ec SHA512 67e13dd0ec19c34175118c9fd05662678ef5720cb212db71e1427c907254f7667607ad36f0097f08a040e14fe729c5f14ef3cb37e918efafe5eea9ce73923b9a -EBUILD xen-tools-4.19.1.ebuild 16074 BLAKE2B 228a4f76a5b0db5df49b510757e6fca4410abad0700b7725817768b6d3384559212c9560364e97ab23933e679f6dcda15d41958378a07e2f812fa6dcd6a38f4a SHA512 ab7d5ff51da11f9754e408a3355b0c6734111bc579043d206bd6ba0143b5cd299c3bf1e0393caecbbac0b1f20b61e7376926a51e05a8f6e3c41607487e1909e0 +EBUILD xen-tools-4.18.4_pre1.ebuild 16701 BLAKE2B 2228717e021ce6f247a5725c7b9008a30e0838dece2de748389796924fdb4cd238bce1244ea93792fcb1066df42b9a06d757316c3df9f9d507d8b6823b86b7ef SHA512 bcf49e78032ce902bd87e3abf09df88d6c885c29c9974aa38aaed449c23968689cf6b2e24b69214847cdb156246c15ba12ecc735bc3db89ff98dc1996a813d1f +EBUILD xen-tools-4.19.1.ebuild 16549 BLAKE2B f4d9f4375b8fa0c138e7929f126ef9ff4ecc93f7bda13eb7e39bf7d9586dc0fd42b29646b137e3509cdb86d0ded9febea1a3e1f5ba4d49f06a2339087743d165 SHA512 9916946b467f45d064c470681916e211f27bb19f124a751951bc7a1834f4c152196d16f33a9a92e075edb43df2daa8642ee7128a81a77e0e40457e7364d43c13 MISC metadata.xml 1562 BLAKE2B a619e34e6fec4c6ffc00fd098dc040c5bb464ed7f2032db2e933fada0614e82c21269175f37720a123404551474e2aeeb2728b405ff93f9b4d9d092d027e0839 SHA512 f45c793a4b4819f0e50501ddc85acdaf99e4d675530712f8dccfb5166d071ae8ed07917a61d56037d6ba3a54123f72f4512d8c11643ea8c6e507feb9d29594e7 diff --git a/app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch b/app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch new file mode 100644 index 000000000000..22d33c9097aa --- /dev/null +++ b/app-emulation/xen-tools/files/edk2-202202-binutils-2.41-textrels.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/913110 +--- a/BaseTools/Conf/tools_def.template ++++ b/BaseTools/Conf/tools_def.template +@@ -1906,7 +1906,7 @@ DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z comm + DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
+ DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
+@@ -1929,7 +1929,7 @@ DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pi + DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)
+ DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
+ DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
+ DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+ DEFINE GCC49_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
diff --git a/app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch b/app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch new file mode 100644 index 000000000000..82f0068f02bc --- /dev/null +++ b/app-emulation/xen-tools/files/xen-tools-4.19.1-gnu17.patch @@ -0,0 +1,10 @@ +ipxe relies on () not being (void), so just force gnu17 for now for compat +w/ compilers that default to gnu23. +--- a/tools/firmware/etherboot/Config ++++ b/tools/firmware/etherboot/Config +@@ -7,3 +7,5 @@ CFLAGS += -DNO_POST_PROMPT + + CFLAGS += -UCONSOLE_SERIAL + CFLAGS += -DCONSOLE_SERIAL=1 ++ ++CFLAGS += -std=gnu17 diff --git a/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild b/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild index 81da2098293f..8292b81c6320 100644 --- a/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.18.4_pre1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -208,6 +208,10 @@ QA_PREBUILT=" RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${PN}-4.19.1-gnu17.patch +) + pkg_setup() { python_setup export "CONFIG_LOMOUNT=y" @@ -390,10 +394,26 @@ src_prepare() { -e 's/, "-Werror"//' \ {} + || die + if use ovmf ; then + # textrels cause failures w/ hardened binutils + pushd tools/firmware/ovmf-dir-remote > /dev/null || die + eapply "${FILESDIR}"/edk2-202202-binutils-2.41-textrels.patch + popd > /dev/null || die + fi + + # Use gnu17 because incompatible w/ C23 + sed -i -e "s:-DZZLEXBUFSIZE=65536:-DZZLEXBUFSIZE=65536 -std=gnu17:" \ + tools/firmware/ovmf-dir-remote/BaseTools/Source/C/VfrCompile/Pccts/*/makefile || die + default } src_configure() { + # Workaround from sys-firmware/edk2 (bug #913110) + export LDFLAGS="-z notext" + export EXTRA_LDFLAGS="-z notext" + export DLINK_FLAGS="-z notext" + local myconf=( --libdir="${EPREFIX}/usr/$(get_libdir)" --libexecdir="${EPREFIX}/usr/libexec" diff --git a/app-emulation/xen-tools/xen-tools-4.19.1.ebuild b/app-emulation/xen-tools/xen-tools-4.19.1.ebuild index a7d7cfdd27de..06afb06cbb4d 100644 --- a/app-emulation/xen-tools/xen-tools-4.19.1.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.19.1.ebuild @@ -208,6 +208,10 @@ QA_PREBUILT=" RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${PN}-4.19.1-gnu17.patch +) + pkg_setup() { python_setup export "CONFIG_LOMOUNT=y" @@ -390,6 +394,17 @@ src_prepare() { -e 's/, "-Werror"//' \ {} + || die + if use ovmf ; then + # textrels cause failures w/ hardened binutils + pushd tools/firmware/ovmf-dir-remote > /dev/null || die + eapply "${FILESDIR}"/edk2-202202-binutils-2.41-textrels.patch + popd > /dev/null || die + fi + + # Use gnu17 because incompatible w/ C23 + sed -i -e "s:-DZZLEXBUFSIZE=65536:-DZZLEXBUFSIZE=65536 -std=gnu17:" \ + tools/firmware/ovmf-dir-remote/BaseTools/Source/C/VfrCompile/Pccts/*/makefile || die + default } |