qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 5/5] configure: Add -Wno-psabi


From: Alex Bennée
Subject: Re: [PATCH v2 5/5] configure: Add -Wno-psabi
Date: Fri, 12 Jun 2020 07:42:56 +0100
User-agent: mu4e 1.5.2; emacs 28.0.50

Richard Henderson <richard.henderson@linaro.org> writes:

> On 6/11/20 10:17 AM, Alex Bennée wrote:
>> 
>> Richard Henderson <richard.henderson@linaro.org> writes:
>> 
>>> On 6/11/20 9:44 AM, Alex Bennée wrote:
>>>>
>>>> Richard Henderson <richard.henderson@linaro.org> writes:
>>>>
>>>>> On aarch64, gcc 9.3 is generating
>>>>>
>>>>> qemu/exec.c: In function ‘address_space_translate_iommu’:
>>>>> qemu/exec.c:431:28: note: parameter passing for argument of type \
>>>>>   ‘MemTxAttrs’ {aka ‘struct MemTxAttrs’} changed in GCC 9.1
>>>>>
>>>>> and many other reptitions.  This structure, and the functions
>>>>> amongst which it is passed, are not part of a QEMU public API.
>>>>> Therefore we do not care how the compiler passes the argument,
>>>>> so long as the compiler is self-consistent.
>>>>>
>>>>> Cc: Alex Bennée <alex.bennee@linaro.org>
>>>>> Cc: Peter Maydell <peter.maydell@linaro.org>
>>>>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>>>>> ---
>>>>> TODO: The only portion of QEMU which does have a public api,
>>>>> and so must have a stable abi, is "qemu/plugin.h".  We could
>>>>> test this by forcing -Wpsabi or -Werror=psabi in tests/plugin.
>>>>> I can't seem to make that work -- Alex?
>>>>
>>>> modified   plugins/Makefile.objs
>>>> @@ -5,6 +5,7 @@
>>>>  obj-y += loader.o
>>>>  obj-y += core.o
>>>>  obj-y += api.o
>>>> +api.o-cflags := -Wpsabi
>>>>  
>>>>  # Abuse -libs suffix to only link with 
>>>> --dynamic-list/-exported_symbols_list
>>>>  # when the final binary includes the plugin object.
>>>>
>>>> Seems to work for me.
>>>
>>> Wrong directory -- that's the part that goes into qemu, which also uses 
>>> other
>>> qemu internal headers.  As opposed to the tests/, which only use the one
>>> "qemu/plugins.h" header (plus libc).
>> 
>> It's a sub-make so I just did:
>> 
>> modified   tests/plugin/Makefile
>> @@ -18,7 +18,7 @@ NAMES += hwprofile
>>  
>>  SONAMES := $(addsuffix .so,$(addprefix lib,$(NAMES)))
>>  
>> -QEMU_CFLAGS += -fPIC
>> +QEMU_CFLAGS += -fPIC -Wpsabi
>>  QEMU_CFLAGS += -I$(SRC_PATH)/include/qemu
>
> Did you look at the actual flags passed to the actual cc via V=1?
> Neither of these flags is arriving.

I did:

cc -iquote /home/alex/lsrc/qemu.git/builds/all.plugin/. -iquote . -iquote 
/home/alex/lsrc/qemu.git/tcg/i386 -isystem 
/home/alex/lsrc/qemu.git/linux-headers -isystem 
/home/alex/lsrc/qemu.git/builds/all.plugin/linux-headers -iquote . -iquote 
/home/alex/lsrc/qemu.git -iquote /home/alex/lsrc/qemu.git/accel/tcg -iquote 
/home/alex/lsrc/qemu.git/include -iquote /home/alex/lsrc/qemu.git/disas/libvixl 
-I/usr/include/pixman-1 -I/home/alex/lsrc/qemu.git/dtc/libfdt -Werror  -pthread 
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread 
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIE 
-DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings 
-Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -std=gnu99  -Og 
-ggdb3 -fvar-tracking-assignments -Wexpansion-to-defined -Wendif-labels 
-Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body 
-Wnested-externs -Wformat-security -Wformat-y2k -Winit-self 
-Wignored-qualifiers -Wold-style-declaration -Wold-style-definition 
-Wtype-limits -fstack-protector-strong  -I/usr/include/p11-kit-1  
-DLEGACY_RDMA_REG_MR -DSTRUCT_IOVEC_DEFINED  -I/usr/include/libpng16 
-I/usr/include/libdrm -I/usr/include/spice-server -I/usr/include/spice-1 
-I/usr/include/capstone  -fPIC -Wpsabi -I/home/alex/lsrc/qemu.git/include/qemu 
-MMD -MP -MT hwprofile.o -MF ./hwprofile.d -O2 -U_FORTIFY_SOURCE 
-D_FORTIFY_SOURCE=2 -g   -c -o hwprofile.o 
/home/alex/lsrc/qemu.git/tests/plugin/hwprofile.c

It's nested between the -I's with -fPIC.

>
> I sent you mail about this yesterday...
>
>
> r~


-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]