[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/5] linux-user: Create a hostdep.h for each hos
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH 5/5] linux-user: Create a hostdep.h for each host architecture |
Date: |
Tue, 14 Jun 2016 11:58:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 |
Le 14/06/2016 à 11:52, Peter Maydell a écrit :
> In commit 4d330cee37a21 a new hostdep.h file was added, with the intent
> that host architectures which needed one could provide it, and the
> build system would automatically fall back to a generic version if
> there was no version for the host architecture. Although this works,
> it has a flaw: if a subsequent commit switches an architecture from
> "uses generic/hostdep.h" to "uses its own hostdep.h" nothing in the
> makefile dependencies notices this and so doing a rebuild without
> a manual 'make clean' will fail.
>
> So we drop the idea of having a 'generic' version in favour of
> every architecture we support having its own hostdep.h, even if
> it doesn't have anything in it. (There are only thirteen of these.)
>
> If the dependency files claim that an object file depends on a
> nonexistent file, our dependency system means that make will
> rebuild the object file, and regenerate the dependencies in
> the process. So moving between trees prior to this commit and
> trees after this commit works without requiring a 'make clean'.
>
> Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
> ---
> Makefile.target | 5 +----
> linux-user/host/aarch64/hostdep.h | 15 +++++++++++++++
> linux-user/host/arm/hostdep.h | 15 +++++++++++++++
> linux-user/host/generic/hostdep.h | 20 --------------------
> linux-user/host/i386/hostdep.h | 15 +++++++++++++++
> linux-user/host/ia64/hostdep.h | 15 +++++++++++++++
> linux-user/host/mips/hostdep.h | 15 +++++++++++++++
> linux-user/host/ppc/hostdep.h | 15 +++++++++++++++
> linux-user/host/ppc64/hostdep.h | 15 +++++++++++++++
> linux-user/host/s390/hostdep.h | 15 +++++++++++++++
> linux-user/host/s390x/hostdep.h | 15 +++++++++++++++
> linux-user/host/sparc/hostdep.h | 15 +++++++++++++++
> linux-user/host/sparc64/hostdep.h | 15 +++++++++++++++
> linux-user/host/x32/hostdep.h | 15 +++++++++++++++
> 14 files changed, 181 insertions(+), 24 deletions(-)
> create mode 100644 linux-user/host/aarch64/hostdep.h
> create mode 100644 linux-user/host/arm/hostdep.h
> delete mode 100644 linux-user/host/generic/hostdep.h
> create mode 100644 linux-user/host/i386/hostdep.h
> create mode 100644 linux-user/host/ia64/hostdep.h
> create mode 100644 linux-user/host/mips/hostdep.h
> create mode 100644 linux-user/host/ppc/hostdep.h
> create mode 100644 linux-user/host/ppc64/hostdep.h
> create mode 100644 linux-user/host/s390/hostdep.h
> create mode 100644 linux-user/host/s390x/hostdep.h
> create mode 100644 linux-user/host/sparc/hostdep.h
> create mode 100644 linux-user/host/sparc64/hostdep.h
> create mode 100644 linux-user/host/x32/hostdep.h
>
> diff --git a/Makefile.target b/Makefile.target
> index 495b474..b156799 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -108,11 +108,8 @@ obj-$(CONFIG_LIBDECNUMBER) +=
> libdecnumber/dpd/decimal128.o
>
> ifdef CONFIG_LINUX_USER
>
> -# Note that we only add linux-user/host/$ARCH if it exists, and
> -# that it must come before linux-user/host/generic in the search path.
> QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \
> - $(patsubst %,-I%,$(wildcard
> $(SRC_PATH)/linux-user/host/$(ARCH))) \
> - -I$(SRC_PATH)/linux-user/host/generic \
> + -I$(SRC_PATH)/linux-user/host/$(ARCH) \
> -I$(SRC_PATH)/linux-user
>
> obj-y += linux-user/
> diff --git a/linux-user/host/aarch64/hostdep.h
> b/linux-user/host/aarch64/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/aarch64/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/arm/hostdep.h b/linux-user/host/arm/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/arm/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/generic/hostdep.h
> b/linux-user/host/generic/hostdep.h
> deleted file mode 100644
> index cfabc35..0000000
> --- a/linux-user/host/generic/hostdep.h
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -/*
> - * hostdep.h : fallback generic version of header for things
> - * which are dependent on the host architecture
> - *
> - * * Written by Peter Maydell <address@hidden>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef QEMU_HOSTDEP_H
> -#define QEMU_HOSTDEP_H
> -
> -/* This is the fallback header which is only used if the host
> - * architecture doesn't provide one in linux-user/host/$ARCH.
> - */
> -
> -#endif
> diff --git a/linux-user/host/i386/hostdep.h b/linux-user/host/i386/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/i386/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/ia64/hostdep.h b/linux-user/host/ia64/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/ia64/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/mips/hostdep.h b/linux-user/host/mips/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/mips/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/ppc/hostdep.h b/linux-user/host/ppc/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/ppc/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/ppc64/hostdep.h b/linux-user/host/ppc64/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/ppc64/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/s390/hostdep.h b/linux-user/host/s390/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/s390/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/s390x/hostdep.h b/linux-user/host/s390x/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/s390x/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/sparc/hostdep.h b/linux-user/host/sparc/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/sparc/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/sparc64/hostdep.h
> b/linux-user/host/sparc64/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/sparc64/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
> diff --git a/linux-user/host/x32/hostdep.h b/linux-user/host/x32/hostdep.h
> new file mode 100644
> index 0000000..7609bf5
> --- /dev/null
> +++ b/linux-user/host/x32/hostdep.h
> @@ -0,0 +1,15 @@
> +/*
> + * hostdep.h : things which are dependent on the host architecture
> + *
> + * * Written by Peter Maydell <address@hidden>
> + *
> + * Copyright (C) 2016 Linaro Limited
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_HOSTDEP_H
> +#define QEMU_HOSTDEP_H
> +
> +#endif
>
- Re: [Qemu-devel] [PATCH 3/5] user-exec: Delete now-unused hppa and m68k cpu_signal_handler() code, (continued)