Message ID | 20170623044120.6296-1-nick.desaulniers@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 23/06/2017 06:41, Nick Desaulniers wrote: > The macro insn_fetch marks the 'type' argument as having a specified > alignment. Type attributes can only be applied to structs, unions, or > enums, but insn_fetch is only ever invoked with integral types, so Clang > produces 19 -Wignored-attributes warnings for this source file. > > Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com> > --- > arch/x86/kvm/emulate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c > index 7611c034bf95..409081977e59 100644 > --- a/arch/x86/kvm/emulate.c > +++ b/arch/x86/kvm/emulate.c > @@ -900,7 +900,7 @@ static __always_inline int do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, > if (rc != X86EMUL_CONTINUE) \ > goto done; \ > ctxt->_eip += sizeof(_type); \ > - _x = *(_type __aligned(1) *) ctxt->fetch.ptr; \ > + _x = *(_type *) ctxt->fetch.ptr; \ > ctxt->fetch.ptr += sizeof(_type); \ > _x; \ > }) > Can you make a patch that uses memcpy instead? Both GCC and clang will compile it to a simple load. Paolo
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 7611c034bf95..409081977e59 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -900,7 +900,7 @@ static __always_inline int do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, if (rc != X86EMUL_CONTINUE) \ goto done; \ ctxt->_eip += sizeof(_type); \ - _x = *(_type __aligned(1) *) ctxt->fetch.ptr; \ + _x = *(_type *) ctxt->fetch.ptr; \ ctxt->fetch.ptr += sizeof(_type); \ _x; \ })
The macro insn_fetch marks the 'type' argument as having a specified alignment. Type attributes can only be applied to structs, unions, or enums, but insn_fetch is only ever invoked with integral types, so Clang produces 19 -Wignored-attributes warnings for this source file. Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com> --- arch/x86/kvm/emulate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)