|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Compile errors with gcc 4.8
On Thu, 2013-02-07 at 00:55 +0000, Andrew Cooper wrote:
> On 06/02/2013 20:37, M A Young wrote:
> > Fedora rawhide has just moved onto gcc 4.8, and I have had to apply the
> > attached patch to get it to build (I constructed the patch against 4.2.1
> > but I believe it will apply to xen-unstable).
> >
> > There are two types of problem, the first is from
> > xen/common/compat/memory.c where the error is
> >
> > memory.c: In function 'compat_memory_op':
> > /builddir/build/BUILD/xen-4.2.1/xen/include/public/arch-x86/xen.h:35:33:
> > error: typedef '__guest_handle_const_compat_memory_exchange_t' locally
> > defined but not used [-Werror=unused-local-typedefs]
> > typedef struct { type *p; } __guest_handle_ ## name
> > ^
> > /builddir/build/BUILD/xen-4.2.1/xen/include/public/arch-x86/xen.h:43:5:
> > note: in expansion of macro '___DEFINE_XEN_GUEST_HANDLE'
> > ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
> > ^
> > /builddir/build/BUILD/xen-4.2.1/xen/include/public/arch-x86/xen.h:44:41:
> > note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
> > #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name,
> > name)
> > ^
> > memory.c:261:13: note: in expansion of macro 'DEFINE_XEN_GUEST_HANDLE'
> > DEFINE_XEN_GUEST_HANDLE(compat_memory_exchange_t);
> > ^
> >
> > so we are defining something that isn't used.
>
> But it is used, by guest_handle_cast, albeit through several layers of
> macros.
>
> I would tentativly object to the use of "__attribute__((unused));" to
> work around what appears to be a gcc bug. If 4.8 support is desperately
> wanted, then a better solution would be to specify
> -Wno-unused-local-typedefs to disable the buggy feature.
>
A workaround would be to put the defined outside the function. At the
end it's just a typedef.
> ~Andrew
>
> >
> > Secondly gcc 4.8 objects to lines like
> >
> > memset(ctxt, 0, sizeof(ctxt));
> >
> > where I think you are just zeroing a pointer's worth of memory. There are
> > a few cases of this in the xen code fixed in the patch, and I am also
> > suspicious of line 630 of
> > stubdom/grub-upstream/stage2/fsys_reiserfs.c which is
> >
> > memset (INFO->blocks, 0, sizeof (INFO->blocks));
> >
> > which is noted in the build log but not flagged as an error.
> >
> > Michael Young
>
This seems real problems even to me. The md5 code is know and wrong to
me for sure.
Frediano
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |