qemu-devel
[Top][All Lists]
Advanced

[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
> 



reply via email to

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