This fixes the build with --enable-tcg-interpreter:
clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
Signed-off-by: Wataru Ashihara <wataash@wataash.com>
---
tcg/tcg.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 472bf1755b..32df149b12 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -117,8 +117,6 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
TCGReg dst, TCGReg src);
static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
TCGReg dst, TCGReg base, intptr_t offset);
-static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
- TCGReg dst, tcg_target_long arg);
static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
unsigned vece, const TCGArg *args,
const int *const_args);
@@ -133,11 +131,6 @@ static inline bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
{
g_assert_not_reached();
}
-static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type,
- TCGReg dst, tcg_target_long arg)
-{
- g_assert_not_reached();
-}
static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
unsigned vece, const TCGArg *args,
const int *const_args)
--
2.25.1
Cc'ing Stefan.
On 1/10/21 5:10 AM, Wataru Ashihara wrote:
> This fixes the build with --enable-tcg-interpreter:
>
> clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
> ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
>
> Signed-off-by: Wataru Ashihara <wataash@wataash.com>
> ---
> tcg/tcg.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/tcg/tcg.c b/tcg/tcg.c
> index 472bf1755b..32df149b12 100644
> --- a/tcg/tcg.c
> +++ b/tcg/tcg.c
> @@ -117,8 +117,6 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
> TCGReg dst, TCGReg src);
> static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
> TCGReg dst, TCGReg base, intptr_t offset);
> -static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
> - TCGReg dst, tcg_target_long arg);
> static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
> unsigned vece, const TCGArg *args,
> const int *const_args);
> @@ -133,11 +131,6 @@ static inline bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
> {
> g_assert_not_reached();
> }
> -static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type,
> - TCGReg dst, tcg_target_long arg)
> -{
> - g_assert_not_reached();
> -}
> static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
> unsigned vece, const TCGArg *args,
> const int *const_args)
AFAIK TCI does not support vectors, using them would trigger
tcg_debug_assert(type == TCG_TYPE_I64) in tcg_out_movi().
As your approach might break other backends, I'm going to
send an alternate patch using __attribute__((unused)).
Thanks for reporting this,
Phil.
Philippe, Richard, thank you for reviewing.
On 2021/01/11 1:17, Philippe Mathieu-Daudé wrote:
> Cc'ing Stefan.
>
> On 1/10/21 5:10 AM, Wataru Ashihara wrote:
>> This fixes the build with --enable-tcg-interpreter:
>>
>> clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c
>> ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function]
>>
>> Signed-off-by: Wataru Ashihara <wataash@wataash.com>
>> ---
>> tcg/tcg.c | 7 -------
>> 1 file changed, 7 deletions(-)
>>
>> diff --git a/tcg/tcg.c b/tcg/tcg.c
>> index 472bf1755b..32df149b12 100644
>> --- a/tcg/tcg.c
>> +++ b/tcg/tcg.c
>> @@ -117,8 +117,6 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
>> TCGReg dst, TCGReg src);
>> static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
>> TCGReg dst, TCGReg base, intptr_t offset);
>> -static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
>> - TCGReg dst, tcg_target_long arg);
>> static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
>> unsigned vece, const TCGArg *args,
>> const int *const_args);
>> @@ -133,11 +131,6 @@ static inline bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,
>> {
>> g_assert_not_reached();
>> }
>> -static inline void tcg_out_dupi_vec(TCGContext *s, TCGType type,
>> - TCGReg dst, tcg_target_long arg)
>> -{
>> - g_assert_not_reached();
>> -}
>> static inline void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl,
>> unsigned vece, const TCGArg *args,
>> const int *const_args)
>
> AFAIK TCI does not support vectors, using them would trigger
> tcg_debug_assert(type == TCG_TYPE_I64) in tcg_out_movi().
>
> As your approach might break other backends, I'm going to
> send an alternate patch using __attribute__((unused)).
Currently it doesn't. Unlike all the other tcg_out_*(),
tcg_out_dupi_vec() is not used in tcg.c as discussed in [1].
>
> Thanks for reporting this,
>
> Phil.
>
I discard this patch in favor of the unconditionally-using way mentioned
in [1].
Thanks.
[1]: https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01647.html
On 1/9/21 6:10 PM, Wataru Ashihara wrote: > This fixes the build with --enable-tcg-interpreter: > > clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c > ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function] What version of clang? With clang 10, I can't even run configure without --disable-werror. r~
On 1/10/21 7:23 PM, Richard Henderson wrote: > On 1/9/21 6:10 PM, Wataru Ashihara wrote: >> This fixes the build with --enable-tcg-interpreter: >> >> clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c >> ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function] > > > What version of clang? > With clang 10, I can't even run configure without --disable-werror. clang version 10.0.1 (Fedora 10.0.1-3.fc32) I tested using: ../configure '--cc=clang' '--cxx=clang++' \ '--extra-cflags=-Wunused-function' '--enable-tcg-interpreter' \ '--disable-tools' '--target-list=arm-softmmu'
On 2021/01/11 6:32, Philippe Mathieu-Daudé wrote: > On 1/10/21 7:23 PM, Richard Henderson wrote: >> On 1/9/21 6:10 PM, Wataru Ashihara wrote: >>> This fixes the build with --enable-tcg-interpreter: >>> >>> clang -Ilibqemu-arm-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -I../dtc/libfdt -I../capstone/include/capstone -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -isystem /home/wsh/qc/qemu/linux-headers -isystem linux-headers -iquote /home/wsh/qc/qemu/tcg/tci -iquote . -iquote /home/wsh/qc/qemu -iquote /home/wsh/qc/qemu/accel/tcg -iquote /home/wsh/qc/qemu/include -iquote /home/wsh/qc/qemu/disas/libvixl -pthread -fPIC -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARGET="arm-softmmu-config-target.h"' '-DCONFIG_DEVICES="arm-softmmu-config-devices.h"' -MD -MQ libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -MF libqemu-arm-softmmu.fa.p/tcg_tcg.c.o.d -o libqemu-arm-softmmu.fa.p/tcg_tcg.c.o -c ../tcg/tcg.c >>> ../tcg/tcg.c:136:20: error: unused function 'tcg_out_dupi_vec' [-Werror,-Wunused-function] >> >> >> What version of clang? >> With clang 10, I can't even run configure without --disable-werror. > > clang version 10.0.1 (Fedora 10.0.1-3.fc32) > > I tested using: > > ../configure '--cc=clang' '--cxx=clang++' \ > '--extra-cflags=-Wunused-function' '--enable-tcg-interpreter' \ > '--disable-tools' '--target-list=arm-softmmu' > $ clang --version clang version 10.0.0-4ubuntu1 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin And I configured with: ../configure --prefix=$HOME/opt/qemu-tci --cc=clang --host-cc=clang --cxx=clang++ --enable-debug --enable-tcg-interpreter --enable-debug-tcg --enable-debug-info --enable-debug-mutex
© 2016 - 2026 Red Hat, Inc.