Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.6:Update
xen.24551
gcc12-fixes.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gcc12-fixes.patch of Package xen.24551
References: bsc#1196545 Compiling against gcc12. Many of the failures are -Werror=array-bounds where macros from mm.h are being used. Common Examples are, include/asm/mm.h:528:61: error: array subscript 0 is outside array bounds of 'long unsigned int[0]' [-Werror=array-bounds] include/xen/mm.h:287:21: error: array subscript [0, 288230376151711743] is outside array bounds of 'struct page_info[0]' [-Werror=array-bounds] There are also several other headers that generate array-bounds macro failures. The pragmas to override are mostly in '.c' files with the exception of, xen/arch/x86/mm/shadow/private.h xen/include/asm-x86/paging.h Index: xen-4.16.1-testing/xen/drivers/passthrough/amd/iommu_intr.c =================================================================== --- xen-4.16.1-testing.orig/xen/drivers/passthrough/amd/iommu_intr.c +++ xen-4.16.1-testing/xen/drivers/passthrough/amd/iommu_intr.c @@ -23,6 +23,10 @@ #include "iommu.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + union irte32 { uint32_t raw; struct { Index: xen-4.16.1-testing/xen/drivers/passthrough/x86/hvm.c =================================================================== --- xen-4.16.1-testing.orig/xen/drivers/passthrough/x86/hvm.c +++ xen-4.16.1-testing/xen/drivers/passthrough/x86/hvm.c @@ -901,6 +901,9 @@ static void __hvm_dpci_eoi(struct domain hvm_pirq_eoi(pirq); } +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Waddress" +#endif static void hvm_gsi_eoi(struct domain *d, unsigned int gsi) { struct pirq *pirq = pirq_info(d, gsi); Index: xen-4.16.1-testing/xen/common/domctl.c =================================================================== --- xen-4.16.1-testing.orig/xen/common/domctl.c +++ xen-4.16.1-testing/xen/common/domctl.c @@ -32,6 +32,10 @@ #include <public/domctl.h> #include <xsm/xsm.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + static DEFINE_SPINLOCK(domctl_lock); static int nodemask_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_nodemap, Index: xen-4.16.1-testing/xen/common/efi/boot.c =================================================================== --- xen-4.16.1-testing.orig/xen/common/efi/boot.c +++ xen-4.16.1-testing/xen/common/efi/boot.c @@ -31,6 +31,10 @@ #undef __ASSEMBLY__ #endif +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + #define EFI_REVISION(major, minor) (((major) << 16) | (minor)) #define SMBIOS3_TABLE_GUID \ Index: xen-4.16.1-testing/xen/common/xmalloc_tlsf.c =================================================================== --- xen-4.16.1-testing.orig/xen/common/xmalloc_tlsf.c +++ xen-4.16.1-testing/xen/common/xmalloc_tlsf.c @@ -28,6 +28,10 @@ #include <xen/pfn.h> #include <asm/time.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + #define MAX_POOL_NAME_LEN 16 /* Some IMPORTANT TLSF parameters */ Index: xen-4.16.1-testing/xen/common/memory.c =================================================================== --- xen-4.16.1-testing.orig/xen/common/memory.c +++ xen-4.16.1-testing/xen/common/memory.c @@ -35,6 +35,10 @@ #include <asm/guest.h> #endif +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + struct memop_args { /* INPUT */ struct domain *domain; /* Domain to be affected. */ Index: xen-4.16.1-testing/xen/common/page_alloc.c =================================================================== --- xen-4.16.1-testing.orig/xen/common/page_alloc.c +++ xen-4.16.1-testing/xen/common/page_alloc.c @@ -155,6 +155,10 @@ #define PGC_reserved 0 #endif +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /* * Comma-separated list of hexadecimal page numbers containing bad bytes. * e.g. 'badpage=0x3f45,0x8a321'. @@ -1529,6 +1533,7 @@ static void free_heap_pages( } + /* * Following rules applied for page offline: * Once a page is broken, it can't be assigned anymore Index: xen-4.16.1-testing/xen/common/vmap.c =================================================================== --- xen-4.16.1-testing.orig/xen/common/vmap.c +++ xen-4.16.1-testing/xen/common/vmap.c @@ -9,6 +9,10 @@ #include <xen/vmap.h> #include <asm/page.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + static DEFINE_SPINLOCK(vm_lock); static void *__read_mostly vm_base[VMAP_REGION_NR]; #define vm_bitmap(x) ((unsigned long *)vm_base[x]) Index: xen-4.16.1-testing/xen/include/asm-x86/paging.h =================================================================== --- xen-4.16.1-testing.orig/xen/include/asm-x86/paging.h +++ xen-4.16.1-testing/xen/include/asm-x86/paging.h @@ -32,6 +32,10 @@ #include <asm/flushtlb.h> #include <asm/domain.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /***************************************************************************** * Macros to tell which paging mode a domain is in */ Index: xen-4.16.1-testing/xen/arch/x86/x86_64/traps.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/x86_64/traps.c +++ xen-4.16.1-testing/xen/arch/x86/x86_64/traps.c @@ -25,6 +25,9 @@ #include <asm/hvm/hvm.h> #include <asm/hvm/support.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif static void print_xen_info(void) { Index: xen-4.16.1-testing/xen/arch/x86/cpu/mcheck/mcaction.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/cpu/mcheck/mcaction.c +++ xen-4.16.1-testing/xen/arch/x86/cpu/mcheck/mcaction.c @@ -4,6 +4,10 @@ #include "vmce.h" #include "mce.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + static struct mcinfo_recovery * mci_action_add_pageoffline(int bank, struct mc_info *mi, mfn_t mfn, uint32_t status) Index: xen-4.16.1-testing/xen/arch/x86/cpu/mcheck/mce.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/cpu/mcheck/mce.c +++ xen-4.16.1-testing/xen/arch/x86/cpu/mcheck/mce.c @@ -30,6 +30,10 @@ #include "util.h" #include "vmce.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + bool __read_mostly opt_mce = true; boolean_param("mce", opt_mce); bool __read_mostly mce_broadcast; Index: xen-4.16.1-testing/xen/arch/x86/hvm/hvm.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/hvm/hvm.c +++ xen-4.16.1-testing/xen/arch/x86/hvm/hvm.c @@ -81,6 +81,10 @@ #include <compat/hvm/hvm_op.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + bool_t __read_mostly hvm_enabled; #ifdef DBG_LEVEL_0 Index: xen-4.16.1-testing/xen/arch/x86/pv/dom0_build.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/pv/dom0_build.c +++ xen-4.16.1-testing/xen/arch/x86/pv/dom0_build.c @@ -22,6 +22,10 @@ #include <asm/pv/mm.h> #include <asm/setup.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /* Allow ring-3 access in long mode as guest cannot use ring 1 ... */ #define BASE_PROT (_PAGE_PRESENT|_PAGE_RW|_PAGE_ACCESSED|_PAGE_USER) #define L1_PROT (BASE_PROT|_PAGE_GUEST_KERNEL) Index: xen-4.16.1-testing/xen/arch/x86/pv/ro-page-fault.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/pv/ro-page-fault.c +++ xen-4.16.1-testing/xen/arch/x86/pv/ro-page-fault.c @@ -26,6 +26,10 @@ #include "emulate.h" #include "mm.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /********************* * Writable Pagetables */ Index: xen-4.16.1-testing/xen/arch/x86/pv/emul-priv-op.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/pv/emul-priv-op.c +++ xen-4.16.1-testing/xen/arch/x86/pv/emul-priv-op.c @@ -40,6 +40,10 @@ #include "emulate.h" #include "mm.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + struct priv_op_ctxt { struct x86_emulate_ctxt ctxt; struct { Index: xen-4.16.1-testing/xen/arch/x86/pv/mm.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/pv/mm.c +++ xen-4.16.1-testing/xen/arch/x86/pv/mm.c @@ -26,6 +26,10 @@ #include "mm.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /* * Get a mapping of a PV guest's l1e for this linear address. The return * pointer should be unmapped using unmap_domain_page(). Index: xen-4.16.1-testing/xen/arch/x86/domain_page.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/domain_page.c +++ xen-4.16.1-testing/xen/arch/x86/domain_page.c @@ -18,6 +18,10 @@ #include <asm/hardirq.h> #include <asm/setup.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + static DEFINE_PER_CPU(struct vcpu *, override); static inline struct vcpu *mapcache_current_vcpu(void) Index: xen-4.16.1-testing/xen/arch/x86/mm/shadow/private.h =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/mm/shadow/private.h +++ xen-4.16.1-testing/xen/arch/x86/mm/shadow/private.h @@ -33,6 +33,10 @@ #include "../mm-locks.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /****************************************************************************** * Levels of self-test and paranoia */ Index: xen-4.16.1-testing/xen/arch/x86/mm/hap/hap.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/mm/hap/hap.c +++ xen-4.16.1-testing/xen/arch/x86/mm/hap/hap.c @@ -42,6 +42,10 @@ #include "private.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /************************************************/ /* HAP VRAM TRACKING SUPPORT */ /************************************************/ Index: xen-4.16.1-testing/xen/arch/x86/mm/p2m-pod.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/mm/p2m-pod.c +++ xen-4.16.1-testing/xen/arch/x86/mm/p2m-pod.c @@ -31,6 +31,10 @@ #include "mm-locks.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + #define superpage_aligned(_x) (((_x)&(SUPERPAGE_PAGES-1))==0) /* Enforce lock ordering when grabbing the "external" page_alloc lock */ Index: xen-4.16.1-testing/xen/arch/x86/mm/p2m-ept.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/mm/p2m-ept.c +++ xen-4.16.1-testing/xen/arch/x86/mm/p2m-ept.c @@ -36,6 +36,10 @@ #include "mm-locks.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + #define atomic_read_ept_entry(__pepte) \ ( (ept_entry_t) { .epte = read_atomic(&(__pepte)->epte) } ) Index: xen-4.16.1-testing/xen/arch/x86/mm/p2m.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/mm/p2m.c +++ xen-4.16.1-testing/xen/arch/x86/mm/p2m.c @@ -44,6 +44,10 @@ #include "mm-locks.h" +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /* Override macro from asm/page.h to make work with mfn_t */ #undef virt_to_mfn #define virt_to_mfn(v) _mfn(__virt_to_mfn(v)) Index: xen-4.16.1-testing/xen/arch/x86/tboot.c =================================================================== --- xen-4.16.1-testing.orig/xen/arch/x86/tboot.c +++ xen-4.16.1-testing/xen/arch/x86/tboot.c @@ -16,6 +16,10 @@ #include <asm/setup.h> #include <crypto/vmac.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /* tboot=<physical address of shared page> */ static unsigned long __initdata opt_tboot_pa; integer_param("tboot", opt_tboot_pa); Index: xen-4.16.1-testing/tools/firmware/hvmloader/ovmf.c =================================================================== --- xen-4.16.1-testing.orig/tools/firmware/hvmloader/ovmf.c +++ xen-4.16.1-testing/tools/firmware/hvmloader/ovmf.c @@ -34,6 +34,11 @@ #include <xen/hvm/ioreq.h> #include <xen/memory.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#pragma GCC diagnostic ignored "-Wstringop-overflow" +#endif + #define OVMF_MAXOFFSET 0x000FFFFFULL #define OVMF_END 0x100000000ULL #define LOWCHUNK_BEGIN 0x000F0000 Index: xen-4.16.1-testing/tools/firmware/hvmloader/seabios.c =================================================================== --- xen-4.16.1-testing.orig/tools/firmware/hvmloader/seabios.c +++ xen-4.16.1-testing/tools/firmware/hvmloader/seabios.c @@ -29,6 +29,11 @@ #include <acpi2_0.h> #include <libacpi.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#pragma GCC diagnostic ignored "-Wstringop-overflow" +#endif + struct seabios_info { char signature[14]; /* XenHVMSeaBIOS\0 */ uint8_t length; /* Length of this struct */ Index: xen-4.16.1-testing/tools/firmware/hvmloader/util.c =================================================================== --- xen-4.16.1-testing.orig/tools/firmware/hvmloader/util.c +++ xen-4.16.1-testing/tools/firmware/hvmloader/util.c @@ -31,6 +31,10 @@ #include <xen/hvm/hvm_xs_strings.h> #include <xen/hvm/params.h> +#if __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Warray-bounds" +#endif + /* * Check whether there exists overlap in the specified memory range. * Returns true if exists, else returns false.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor