On Sat, May 30, 2026 at 3:13 PM Richard Henderson <
[email protected]> wrote:

> This interface is only used for user-only.  It's more usefully
> placed within common-user than util.  Temporarily add stub
> implementation for bsd-user.
>
> Signed-off-by: Richard Henderson <[email protected]>
> ---
>  include/{qemu => user}/selfmap.h | 0
>  {util => common-user}/selfmap.c  | 6 +++++-
>  linux-user/elfload.c             | 2 +-
>  linux-user/syscall.c             | 2 +-
>  common-user/meson.build          | 1 +
>  util/meson.build                 | 4 ----
>  6 files changed, 8 insertions(+), 7 deletions(-)
>  rename include/{qemu => user}/selfmap.h (100%)
>  rename {util => common-user}/selfmap.c (97%)
>

Reviewed-by: Warner Losh <[email protected]>


> diff --git a/include/qemu/selfmap.h b/include/user/selfmap.h
> similarity index 100%
> rename from include/qemu/selfmap.h
> rename to include/user/selfmap.h
> diff --git a/util/selfmap.c b/common-user/selfmap.c
> similarity index 97%
> rename from util/selfmap.c
> rename to common-user/selfmap.c
> index 483cb617e2..a1b88dee66 100644
> --- a/util/selfmap.c
> +++ b/common-user/selfmap.c
> @@ -8,10 +8,11 @@
>
>  #include "qemu/osdep.h"
>  #include "qemu/cutils.h"
> -#include "qemu/selfmap.h"
> +#include "user/selfmap.h"
>
>  IntervalTreeRoot *read_self_maps(void)
>  {
> +#ifdef __linux__
>      IntervalTreeRoot *root;
>      gchar *maps, **lines;
>      guint i, nlines;
> @@ -80,6 +81,9 @@ IntervalTreeRoot *read_self_maps(void)
>      g_free(maps);
>
>      return root;
> +#else
> +    return NULL;
> +#endif
>  }
>
>  /**
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index 93ab2661e3..0450aa13d8 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -25,7 +25,7 @@
>  #include "qemu/queue.h"
>  #include "qemu/guest-random.h"
>  #include "qemu/units.h"
> -#include "qemu/selfmap.h"
> +#include "user/selfmap.h"
>  #include "qemu/lockable.h"
>  #include "qapi/error.h"
>  #include "qemu/error-report.h"
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 7d7a7b489c..448f80b29b 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -141,7 +141,7 @@
>  #include "user/safe-syscall.h"
>  #include "user/signal.h"
>  #include "qemu/guest-random.h"
> -#include "qemu/selfmap.h"
> +#include "user/selfmap.h"
>  #include "special-errno.h"
>  #include "qapi/error.h"
>  #include "fd-trans.h"
> diff --git a/common-user/meson.build b/common-user/meson.build
> index f9e2e83f9a..831a7273fb 100644
> --- a/common-user/meson.build
> +++ b/common-user/meson.build
> @@ -8,4 +8,5 @@ user_ss.add(files(
>    'mmap-min-addr.c',
>    'safe-syscall.S',
>    'safe-syscall-error.c',
> +  'selfmap.c',
>  ))
> diff --git a/util/meson.build b/util/meson.build
> index e29cbd948a..fa174c07a5 100644
> --- a/util/meson.build
> +++ b/util/meson.build
> @@ -67,10 +67,6 @@ util_ss.add(files('memalign.c'))
>  util_ss.add(files('interval-tree.c'))
>  util_ss.add(files('lockcnt.c'))
>
> -if have_user
> -  util_ss.add(files('selfmap.c'))
> -endif
> -
>  if have_system
>    util_ss.add(files('crc-ccitt.c'))
>    util_ss.add(when: gio, if_true: files('dbus.c'))
> --
> 2.43.0
>
>

Reply via email to