* [PATCH] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary
@ 2023-03-29 16:18 Philippe Mathieu-Daudé
2023-03-29 16:39 ` Richard Henderson
2023-03-29 17:03 ` Alex Bennée
0 siblings, 2 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-29 16:18 UTC (permalink / raw)
To: qemu-devel
Cc: Fabiano Rosas, Paolo Bonzini, Alex Bennée,
Philippe Mathieu-Daudé, Marc-André Lureau, Thomas Huth,
Laurent Vivier
It is pointless to build libgdb_user.fa in a system-only build
(or libgdb_softmmu.fa in a user-only build). Besides, in some
restricted build configurations, some APIs might be restricted /
not available. Example in a KVM-only builds where TCG is disabled:
$ ninja qemu-system-x86_64
[99/2187] Compiling C object gdbstub/libgdb_user.fa.p/user.c.o
FAILED: gdbstub/libgdb_user.fa.p/user.c.o
../../gdbstub/user.c: In function ‘gdb_breakpoint_insert’:
../../gdbstub/user.c:438:19: error: implicit declaration of function ‘cpu_breakpoint_insert’; did you mean ‘gdb_breakpoint_insert’? [-Werror=implicit-function-declaration]
438 | err = cpu_breakpoint_insert(cpu, addr, BP_GDB, NULL);
| ^~~~~~~~~~~~~~~~~~~~~
| gdb_breakpoint_insert
../../gdbstub/user.c:438:19: error: nested extern declaration of ‘cpu_breakpoint_insert’ [-Werror=nested-externs]
../../gdbstub/user.c: In function ‘gdb_breakpoint_remove’:
../../gdbstub/user.c:459:19: error: implicit declaration of function ‘cpu_breakpoint_remove’; did you mean ‘gdb_breakpoint_remove’? [-Werror=implicit-function-declaration]
459 | err = cpu_breakpoint_remove(cpu, addr, BP_GDB);
| ^~~~~~~~~~~~~~~~~~~~~
| gdb_breakpoint_remove
../../gdbstub/user.c:459:19: error: nested extern declaration of ‘cpu_breakpoint_remove’ [-Werror=nested-externs]
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.
Fixes: 61b2e136db ("gdbstub: only compile gdbstub twice for whole build")
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
gdbstub/meson.build | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gdbstub/meson.build b/gdbstub/meson.build
index bd5c5cd67d..cdb4d28691 100644
--- a/gdbstub/meson.build
+++ b/gdbstub/meson.build
@@ -20,11 +20,13 @@ gdb_softmmu_ss = gdb_softmmu_ss.apply(config_host, strict: false)
libgdb_user = static_library('gdb_user',
gdb_user_ss.sources() + genh,
name_suffix: 'fa',
- c_args: '-DCONFIG_USER_ONLY')
+ c_args: '-DCONFIG_USER_ONLY',
+ build_by_default: have_user)
libgdb_softmmu = static_library('gdb_softmmu',
gdb_softmmu_ss.sources() + genh,
- name_suffix: 'fa')
+ name_suffix: 'fa',
+ build_by_default: have_system)
gdb_user = declare_dependency(link_whole: libgdb_user)
user_ss.add(gdb_user)
--
2.38.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary
2023-03-29 16:18 [PATCH] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary Philippe Mathieu-Daudé
@ 2023-03-29 16:39 ` Richard Henderson
2023-03-29 17:03 ` Alex Bennée
1 sibling, 0 replies; 3+ messages in thread
From: Richard Henderson @ 2023-03-29 16:39 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Fabiano Rosas, Paolo Bonzini, Alex Bennée,
Marc-André Lureau, Thomas Huth, Laurent Vivier
On 3/29/23 09:18, Philippe Mathieu-Daudé wrote:
> It is pointless to build libgdb_user.fa in a system-only build
> (or libgdb_softmmu.fa in a user-only build). Besides, in some
> restricted build configurations, some APIs might be restricted /
> not available. Example in a KVM-only builds where TCG is disabled:
>
> $ ninja qemu-system-x86_64
> [99/2187] Compiling C object gdbstub/libgdb_user.fa.p/user.c.o
> FAILED: gdbstub/libgdb_user.fa.p/user.c.o
> ../../gdbstub/user.c: In function ‘gdb_breakpoint_insert’:
> ../../gdbstub/user.c:438:19: error: implicit declaration of function ‘cpu_breakpoint_insert’; did you mean ‘gdb_breakpoint_insert’? [-Werror=implicit-function-declaration]
> 438 | err = cpu_breakpoint_insert(cpu, addr, BP_GDB, NULL);
> | ^~~~~~~~~~~~~~~~~~~~~
> | gdb_breakpoint_insert
> ../../gdbstub/user.c:438:19: error: nested extern declaration of ‘cpu_breakpoint_insert’ [-Werror=nested-externs]
> ../../gdbstub/user.c: In function ‘gdb_breakpoint_remove’:
> ../../gdbstub/user.c:459:19: error: implicit declaration of function ‘cpu_breakpoint_remove’; did you mean ‘gdb_breakpoint_remove’? [-Werror=implicit-function-declaration]
> 459 | err = cpu_breakpoint_remove(cpu, addr, BP_GDB);
> | ^~~~~~~~~~~~~~~~~~~~~
> | gdb_breakpoint_remove
> ../../gdbstub/user.c:459:19: error: nested extern declaration of ‘cpu_breakpoint_remove’ [-Werror=nested-externs]
> cc1: all warnings being treated as errors
> ninja: build stopped: subcommand failed.
>
> Fixes: 61b2e136db ("gdbstub: only compile gdbstub twice for whole build")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
> gdbstub/meson.build | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/gdbstub/meson.build b/gdbstub/meson.build
> index bd5c5cd67d..cdb4d28691 100644
> --- a/gdbstub/meson.build
> +++ b/gdbstub/meson.build
> @@ -20,11 +20,13 @@ gdb_softmmu_ss = gdb_softmmu_ss.apply(config_host, strict: false)
> libgdb_user = static_library('gdb_user',
> gdb_user_ss.sources() + genh,
> name_suffix: 'fa',
> - c_args: '-DCONFIG_USER_ONLY')
> + c_args: '-DCONFIG_USER_ONLY',
> + build_by_default: have_user)
>
> libgdb_softmmu = static_library('gdb_softmmu',
> gdb_softmmu_ss.sources() + genh,
> - name_suffix: 'fa')
> + name_suffix: 'fa',
> + build_by_default: have_system)
>
> gdb_user = declare_dependency(link_whole: libgdb_user)
> user_ss.add(gdb_user)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary
2023-03-29 16:18 [PATCH] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary Philippe Mathieu-Daudé
2023-03-29 16:39 ` Richard Henderson
@ 2023-03-29 17:03 ` Alex Bennée
1 sibling, 0 replies; 3+ messages in thread
From: Alex Bennée @ 2023-03-29 17:03 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, Fabiano Rosas, Paolo Bonzini, Marc-André Lureau,
Thomas Huth, Laurent Vivier
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> It is pointless to build libgdb_user.fa in a system-only build
> (or libgdb_softmmu.fa in a user-only build). Besides, in some
> restricted build configurations, some APIs might be restricted /
> not available. Example in a KVM-only builds where TCG is disabled:
>
> $ ninja qemu-system-x86_64
> [99/2187] Compiling C object gdbstub/libgdb_user.fa.p/user.c.o
> FAILED: gdbstub/libgdb_user.fa.p/user.c.o
> ../../gdbstub/user.c: In function ‘gdb_breakpoint_insert’:
> ../../gdbstub/user.c:438:19: error: implicit declaration of function ‘cpu_breakpoint_insert’; did you mean ‘gdb_breakpoint_insert’? [-Werror=implicit-function-declaration]
> 438 | err = cpu_breakpoint_insert(cpu, addr, BP_GDB, NULL);
> | ^~~~~~~~~~~~~~~~~~~~~
> | gdb_breakpoint_insert
> ../../gdbstub/user.c:438:19: error: nested extern declaration of
> ‘cpu_breakpoint_insert’ [-Werror=nested-externs]
> ../../gdbstub/user.c: In function ‘gdb_breakpoint_remove’:
> ../../gdbstub/user.c:459:19: error: implicit declaration of function
> ‘cpu_breakpoint_remove’; did you mean ‘gdb_breakpoint_remove’?
> [-Werror=implicit-function-declaration]
> 459 | err = cpu_breakpoint_remove(cpu, addr, BP_GDB);
> | ^~~~~~~~~~~~~~~~~~~~~
> | gdb_breakpoint_remove
> ../../gdbstub/user.c:459:19: error: nested extern declaration of ‘cpu_breakpoint_remove’ [-Werror=nested-externs]
> cc1: all warnings being treated as errors
> ninja: build stopped: subcommand failed.
>
> Fixes: 61b2e136db ("gdbstub: only compile gdbstub twice for whole build")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Queued to for-8.0/more-misc-fixes, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-03-29 17:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-29 16:18 [PATCH] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary Philippe Mathieu-Daudé
2023-03-29 16:39 ` Richard Henderson
2023-03-29 17:03 ` Alex Bennée
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).