qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] linux-user: Add GPL-2.0-or-later SPDX license identifier
@ 2021-11-04  7:15 Philippe Mathieu-Daudé
  2021-11-04  7:15 ` [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line Philippe Mathieu-Daudé
  2021-11-04  7:15 ` [PATCH v2 2/2] linux-user: Add GPL-2.0-or-later SPDX license identifier Philippe Mathieu-Daudé
  0 siblings, 2 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-11-04  7:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Taylor Simpson, Laurent Vivier, Philippe Mathieu-Daudé

In order to help license clearing report tools, add
SPDX license identifier to the linux-user/ files.

Supersedes: <20211103203146.3630550-1-f4bug@amsat.org>

Philippe Mathieu-Daudé (2):
  linux-user: Move the SPDX license identifier to first line
  linux-user: Add GPL-2.0-or-later SPDX license identifier

 linux-user/aarch64/target_elf.h      | 1 +
 linux-user/aarch64/target_fcntl.h    | 1 +
 linux-user/alpha/target_elf.h        | 1 +
 linux-user/alpha/target_fcntl.h      | 1 +
 linux-user/arm/target_elf.h          | 1 +
 linux-user/arm/target_fcntl.h        | 1 +
 linux-user/cpu_loop-common.h         | 1 +
 linux-user/cris/target_elf.h         | 1 +
 linux-user/cris/target_fcntl.h       | 1 +
 linux-user/fd-trans.h                | 1 +
 linux-user/hexagon/sockbits.h        | 1 +
 linux-user/hexagon/target_cpu.h      | 1 +
 linux-user/hexagon/target_elf.h      | 1 +
 linux-user/hexagon/target_fcntl.h    | 1 +
 linux-user/hexagon/target_signal.h   | 1 +
 linux-user/hexagon/target_structs.h  | 1 +
 linux-user/hexagon/target_syscall.h  | 1 +
 linux-user/hexagon/termbits.h        | 1 +
 linux-user/hppa/target_elf.h         | 1 +
 linux-user/hppa/target_fcntl.h       | 1 +
 linux-user/i386/target_elf.h         | 1 +
 linux-user/i386/target_fcntl.h       | 1 +
 linux-user/loader.h                  | 1 +
 linux-user/m68k/target_elf.h         | 1 +
 linux-user/m68k/target_fcntl.h       | 1 +
 linux-user/microblaze/target_elf.h   | 1 +
 linux-user/microblaze/target_fcntl.h | 1 +
 linux-user/mips/target_fcntl.h       | 1 +
 linux-user/mips64/target_elf.h       | 1 +
 linux-user/nios2/target_elf.h        | 1 +
 linux-user/nios2/target_fcntl.h      | 1 +
 linux-user/openrisc/target_elf.h     | 1 +
 linux-user/openrisc/target_fcntl.h   | 1 +
 linux-user/ppc/target_elf.h          | 1 +
 linux-user/ppc/target_fcntl.h        | 1 +
 linux-user/riscv/target_elf.h        | 1 +
 linux-user/riscv/target_fcntl.h      | 1 +
 linux-user/s390x/target_cpu.h        | 1 +
 linux-user/s390x/target_elf.h        | 1 +
 linux-user/s390x/target_fcntl.h      | 1 +
 linux-user/safe-syscall.h            | 1 +
 linux-user/sh4/target_elf.h          | 1 +
 linux-user/sh4/target_fcntl.h        | 1 +
 linux-user/signal-common.h           | 1 +
 linux-user/sparc/target_elf.h        | 1 +
 linux-user/sparc/target_fcntl.h      | 1 +
 linux-user/strace.h                  | 1 +
 linux-user/user-internals.h          | 1 +
 linux-user/user-mmap.h               | 1 +
 linux-user/x86_64/target_elf.h       | 1 +
 linux-user/x86_64/target_fcntl.h     | 1 +
 linux-user/xtensa/target_elf.h       | 1 +
 linux-user/xtensa/target_fcntl.h     | 1 +
 linux-user/aarch64/cpu_loop.c        | 1 +
 linux-user/aarch64/signal.c          | 1 +
 linux-user/alpha/cpu_loop.c          | 1 +
 linux-user/alpha/signal.c            | 1 +
 linux-user/arm/cpu_loop.c            | 1 +
 linux-user/arm/signal.c              | 1 +
 linux-user/cris/cpu_loop.c           | 1 +
 linux-user/cris/signal.c             | 1 +
 linux-user/exit.c                    | 1 +
 linux-user/fd-trans.c                | 1 +
 linux-user/flatload.c                | 1 +
 linux-user/hexagon/cpu_loop.c        | 1 +
 linux-user/hexagon/signal.c          | 1 +
 linux-user/hppa/cpu_loop.c           | 1 +
 linux-user/hppa/signal.c             | 1 +
 linux-user/i386/cpu_loop.c           | 1 +
 linux-user/i386/signal.c             | 1 +
 linux-user/m68k/cpu_loop.c           | 1 +
 linux-user/m68k/signal.c             | 1 +
 linux-user/main.c                    | 1 +
 linux-user/microblaze/cpu_loop.c     | 1 +
 linux-user/microblaze/signal.c       | 1 +
 linux-user/mips/cpu_loop.c           | 1 +
 linux-user/mips/signal.c             | 1 +
 linux-user/mips64/cpu_loop.c         | 1 +
 linux-user/mips64/signal.c           | 1 +
 linux-user/mmap.c                    | 1 +
 linux-user/nios2/cpu_loop.c          | 1 +
 linux-user/nios2/signal.c            | 1 +
 linux-user/openrisc/cpu_loop.c       | 1 +
 linux-user/openrisc/signal.c         | 1 +
 linux-user/ppc/cpu_loop.c            | 1 +
 linux-user/ppc/signal.c              | 1 +
 linux-user/riscv/cpu_loop.c          | 1 +
 linux-user/riscv/signal.c            | 1 +
 linux-user/s390x/cpu_loop.c          | 1 +
 linux-user/s390x/signal.c            | 1 +
 linux-user/semihost.c                | 3 +--
 linux-user/sh4/cpu_loop.c            | 1 +
 linux-user/sh4/signal.c              | 1 +
 linux-user/signal.c                  | 1 +
 linux-user/sparc/cpu_loop.c          | 1 +
 linux-user/sparc/signal.c            | 1 +
 linux-user/syscall.c                 | 1 +
 linux-user/uname.c                   | 1 +
 linux-user/vm86.c                    | 1 +
 linux-user/x86_64/cpu_loop.c         | 1 +
 linux-user/x86_64/signal.c           | 1 +
 linux-user/xtensa/cpu_loop.c         | 1 +
 linux-user/xtensa/signal.c           | 1 +
 linux-user/errnos.c.inc              | 3 +--
 104 files changed, 104 insertions(+), 4 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line
  2021-11-04  7:15 [PATCH v2 0/2] linux-user: Add GPL-2.0-or-later SPDX license identifier Philippe Mathieu-Daudé
@ 2021-11-04  7:15 ` Philippe Mathieu-Daudé
  2021-11-04  9:13   ` Daniel P. Berrangé
  2021-11-04  7:15 ` [PATCH v2 2/2] linux-user: Add GPL-2.0-or-later SPDX license identifier Philippe Mathieu-Daudé
  1 sibling, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-11-04  7:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Taylor Simpson, Laurent Vivier, Philippe Mathieu-Daudé

Tools consuming SPDX license identifiers benefit from having
the SPDX tag in its own comment, not embedded with the license
text. Move the tag to the first line.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 linux-user/semihost.c   | 3 +--
 linux-user/errnos.c.inc | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/linux-user/semihost.c b/linux-user/semihost.c
index 17f074ac565..df1de3131d4 100644
--- a/linux-user/semihost.c
+++ b/linux-user/semihost.c
@@ -1,30 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * ARM Compatible Semihosting Console Support.
  *
  * Copyright (c) 2019 Linaro Ltd
  *
  * Currently ARM and RISC-V are unique in having support for
  * semihosting support in linux-user. So for now we implement the
  * common console API but just for arm and risc-v linux-user.
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
 #include "qemu/osdep.h"
 #include "semihosting/console.h"
 #include "qemu.h"
 #include "user-internals.h"
 #include <termios.h>
 
 int qemu_semihosting_console_outs(CPUArchState *env, target_ulong addr)
 {
     int len = target_strlen(addr);
     void *s;
     if (len < 0){
        qemu_log_mask(LOG_GUEST_ERROR,
                      "%s: passed inaccessible address " TARGET_FMT_lx,
                      __func__, addr);
        return 0;
     }
     s = lock_user(VERIFY_READ, addr, (long)(len + 1), 1);
     g_assert(s);  /* target_strlen has already verified this will work */
diff --git a/linux-user/errnos.c.inc b/linux-user/errnos.c.inc
index 963ba1ce9d1..2fa8b78705b 100644
--- a/linux-user/errnos.c.inc
+++ b/linux-user/errnos.c.inc
@@ -1,42 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This list is the union of errno values overridden in asm-<arch>/errno.h
  * minus the errnos that are not actually generic to all archs.
  *
  * Please keep this list sorted alphabetically.
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
 E(EADDRINUSE)
 E(EADDRNOTAVAIL)
 E(EADV)
 E(EAFNOSUPPORT)
 E(EAGAIN)
 E(EALREADY)
 E(EBADE)
 E(EBADFD)
 E(EBADMSG)
 E(EBADR)
 E(EBADRQC)
 E(EBADSLT)
 E(EBFONT)
 E(ECANCELED)
 E(ECHRNG)
 E(ECOMM)
 E(ECONNABORTED)
 E(ECONNREFUSED)
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] linux-user: Add GPL-2.0-or-later SPDX license identifier
  2021-11-04  7:15 [PATCH v2 0/2] linux-user: Add GPL-2.0-or-later SPDX license identifier Philippe Mathieu-Daudé
  2021-11-04  7:15 ` [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line Philippe Mathieu-Daudé
@ 2021-11-04  7:15 ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-11-04  7:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Taylor Simpson, Laurent Vivier, Philippe Mathieu-Daudé

In order to help license compliance tools (following [1] guidance),
use Qualcomm License Identifier tool [*] to classify linux-user/
files per license type, filtering those matching at least 60% the
"GPLv2 or later" type, and manually add the GPL-2.0-or-later SPDX
comment.

Full, abbreviated, oddly-indented/wrapped license texts are kept
unmodified.

Example of the tool output:

  $ license-identifier --output_format easy_read \
      --threshold 0.6 --input_path linux-user \
    | egrep '(Name of the input file|Matched license type is|The found license text has the score of)'
    | fgrep -1 GPL-2.0+
  Name of the input file: linux-user/cpu_loop-common.h
  Matched license type is GPL-2.0+
  The found license text has the score of 0.69
  --
  Name of the input file: linux-user/exit.c
  Matched license type is GPL-2.0+
  The found license text has the score of 0.685
  --
  Name of the input file: linux-user/fd-trans.c
  Matched license type is GPL-2.0+
  The found license text has the score of 0.715
  --
  Name of the input file: linux-user/fd-trans.h
  Matched license type is GPL-2.0+
  The found license text has the score of 0.715
  --
  Name of the input file: linux-user/flatload.c
  Matched license type is GPL-2.0+
  The found license text has the score of 0.715
  --
  ...

[1] https://www.linuxfoundation.org/blog/solving-license-compliance-at-the-source-adding-spdx-license-ids/
[2] Qualcomm Open Source Technology Group License Identifier tool
    https://www.codeaurora.org/projects/qualcomm-ostg-lid
    https://github.com/quic/lid#usage

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 linux-user/aarch64/target_elf.h      | 1 +
 linux-user/aarch64/target_fcntl.h    | 1 +
 linux-user/alpha/target_elf.h        | 1 +
 linux-user/alpha/target_fcntl.h      | 1 +
 linux-user/arm/target_elf.h          | 1 +
 linux-user/arm/target_fcntl.h        | 1 +
 linux-user/cpu_loop-common.h         | 1 +
 linux-user/cris/target_elf.h         | 1 +
 linux-user/cris/target_fcntl.h       | 1 +
 linux-user/fd-trans.h                | 1 +
 linux-user/hexagon/sockbits.h        | 1 +
 linux-user/hexagon/target_cpu.h      | 1 +
 linux-user/hexagon/target_elf.h      | 1 +
 linux-user/hexagon/target_fcntl.h    | 1 +
 linux-user/hexagon/target_signal.h   | 1 +
 linux-user/hexagon/target_structs.h  | 1 +
 linux-user/hexagon/target_syscall.h  | 1 +
 linux-user/hexagon/termbits.h        | 1 +
 linux-user/hppa/target_elf.h         | 1 +
 linux-user/hppa/target_fcntl.h       | 1 +
 linux-user/i386/target_elf.h         | 1 +
 linux-user/i386/target_fcntl.h       | 1 +
 linux-user/loader.h                  | 1 +
 linux-user/m68k/target_elf.h         | 1 +
 linux-user/m68k/target_fcntl.h       | 1 +
 linux-user/microblaze/target_elf.h   | 1 +
 linux-user/microblaze/target_fcntl.h | 1 +
 linux-user/mips/target_fcntl.h       | 1 +
 linux-user/mips64/target_elf.h       | 1 +
 linux-user/nios2/target_elf.h        | 1 +
 linux-user/nios2/target_fcntl.h      | 1 +
 linux-user/openrisc/target_elf.h     | 1 +
 linux-user/openrisc/target_fcntl.h   | 1 +
 linux-user/ppc/target_elf.h          | 1 +
 linux-user/ppc/target_fcntl.h        | 1 +
 linux-user/riscv/target_elf.h        | 1 +
 linux-user/riscv/target_fcntl.h      | 1 +
 linux-user/s390x/target_cpu.h        | 1 +
 linux-user/s390x/target_elf.h        | 1 +
 linux-user/s390x/target_fcntl.h      | 1 +
 linux-user/safe-syscall.h            | 1 +
 linux-user/sh4/target_elf.h          | 1 +
 linux-user/sh4/target_fcntl.h        | 1 +
 linux-user/signal-common.h           | 1 +
 linux-user/sparc/target_elf.h        | 1 +
 linux-user/sparc/target_fcntl.h      | 1 +
 linux-user/strace.h                  | 1 +
 linux-user/user-internals.h          | 1 +
 linux-user/user-mmap.h               | 1 +
 linux-user/x86_64/target_elf.h       | 1 +
 linux-user/x86_64/target_fcntl.h     | 1 +
 linux-user/xtensa/target_elf.h       | 1 +
 linux-user/xtensa/target_fcntl.h     | 1 +
 linux-user/aarch64/cpu_loop.c        | 1 +
 linux-user/aarch64/signal.c          | 1 +
 linux-user/alpha/cpu_loop.c          | 1 +
 linux-user/alpha/signal.c            | 1 +
 linux-user/arm/cpu_loop.c            | 1 +
 linux-user/arm/signal.c              | 1 +
 linux-user/cris/cpu_loop.c           | 1 +
 linux-user/cris/signal.c             | 1 +
 linux-user/exit.c                    | 1 +
 linux-user/fd-trans.c                | 1 +
 linux-user/flatload.c                | 1 +
 linux-user/hexagon/cpu_loop.c        | 1 +
 linux-user/hexagon/signal.c          | 1 +
 linux-user/hppa/cpu_loop.c           | 1 +
 linux-user/hppa/signal.c             | 1 +
 linux-user/i386/cpu_loop.c           | 1 +
 linux-user/i386/signal.c             | 1 +
 linux-user/m68k/cpu_loop.c           | 1 +
 linux-user/m68k/signal.c             | 1 +
 linux-user/main.c                    | 1 +
 linux-user/microblaze/cpu_loop.c     | 1 +
 linux-user/microblaze/signal.c       | 1 +
 linux-user/mips/cpu_loop.c           | 1 +
 linux-user/mips/signal.c             | 1 +
 linux-user/mips64/cpu_loop.c         | 1 +
 linux-user/mips64/signal.c           | 1 +
 linux-user/mmap.c                    | 1 +
 linux-user/nios2/cpu_loop.c          | 1 +
 linux-user/nios2/signal.c            | 1 +
 linux-user/openrisc/cpu_loop.c       | 1 +
 linux-user/openrisc/signal.c         | 1 +
 linux-user/ppc/cpu_loop.c            | 1 +
 linux-user/ppc/signal.c              | 1 +
 linux-user/riscv/cpu_loop.c          | 1 +
 linux-user/riscv/signal.c            | 1 +
 linux-user/s390x/cpu_loop.c          | 1 +
 linux-user/s390x/signal.c            | 1 +
 linux-user/sh4/cpu_loop.c            | 1 +
 linux-user/sh4/signal.c              | 1 +
 linux-user/signal.c                  | 1 +
 linux-user/sparc/cpu_loop.c          | 1 +
 linux-user/sparc/signal.c            | 1 +
 linux-user/syscall.c                 | 1 +
 linux-user/uname.c                   | 1 +
 linux-user/vm86.c                    | 1 +
 linux-user/x86_64/cpu_loop.c         | 1 +
 linux-user/x86_64/signal.c           | 1 +
 linux-user/xtensa/cpu_loop.c         | 1 +
 linux-user/xtensa/signal.c           | 1 +
 102 files changed, 102 insertions(+)

diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_elf.h
index a7eb962fba7..c04ba43cd94 100644
--- a/linux-user/aarch64/target_elf.h
+++ b/linux-user/aarch64/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef AARCH64_TARGET_ELF_H
 #define AARCH64_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/aarch64/target_fcntl.h b/linux-user/aarch64/target_fcntl.h
index efdf6e5f058..e41ae75c6c5 100644
--- a/linux-user/aarch64/target_fcntl.h
+++ b/linux-user/aarch64/target_fcntl.h
@@ -1,16 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef AARCH64_TARGET_FCNTL_H
 #define AARCH64_TARGET_FCNTL_H
 
 #define TARGET_O_DIRECTORY      040000 /* must be a directory */
 #define TARGET_O_NOFOLLOW      0100000 /* don't follow links */
 #define TARGET_O_DIRECT        0200000 /* direct disk access hint */
 
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/alpha/target_elf.h b/linux-user/alpha/target_elf.h
index 344e9f4d395..52a51e1b23b 100644
--- a/linux-user/alpha/target_elf.h
+++ b/linux-user/alpha/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef ALPHA_TARGET_ELF_H
 #define ALPHA_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/alpha/target_fcntl.h b/linux-user/alpha/target_fcntl.h
index 99774d73172..5510087c8eb 100644
--- a/linux-user/alpha/target_fcntl.h
+++ b/linux-user/alpha/target_fcntl.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef ALPHA_TARGET_FCNTL_H
 #define ALPHA_TARGET_FCNTL_H
 
 #define TARGET_O_NONBLOCK           04
 #define TARGET_O_APPEND            010
 #define TARGET_O_CREAT           01000 /* not fcntl */
 #define TARGET_O_TRUNC           02000 /* not fcntl */
 #define TARGET_O_EXCL            04000 /* not fcntl */
 #define TARGET_O_NOCTTY         010000 /* not fcntl */
 #define TARGET_O_DSYNC          040000
 #define TARGET_O_LARGEFILE           0 /* not necessary, always 64-bit */
 #define TARGET_O_DIRECTORY     0100000 /* must be a directory */
 #define TARGET_O_NOFOLLOW      0200000 /* don't follow links */
diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h
index 58ff6a0986f..529008540be 100644
--- a/linux-user/arm/target_elf.h
+++ b/linux-user/arm/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef ARM_TARGET_ELF_H
 #define ARM_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/arm/target_fcntl.h b/linux-user/arm/target_fcntl.h
index c8ff6b2505a..841fea07d09 100644
--- a/linux-user/arm/target_fcntl.h
+++ b/linux-user/arm/target_fcntl.h
@@ -1,17 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef ARM_TARGET_FCNTL_H
 #define ARM_TARGET_FCNTL_H
 
 #define TARGET_O_DIRECTORY      040000 /* must be a directory */
 #define TARGET_O_NOFOLLOW      0100000 /* don't follow links */
 #define TARGET_O_DIRECT        0200000 /* direct disk access hint */
 #define TARGET_O_LARGEFILE     0400000
 
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/cpu_loop-common.h b/linux-user/cpu_loop-common.h
index 8828af28a4d..acd5360fcd3 100644
--- a/linux-user/cpu_loop-common.h
+++ b/linux-user/cpu_loop-common.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef CPU_LOOP_COMMON_H
diff --git a/linux-user/cris/target_elf.h b/linux-user/cris/target_elf.h
index 99eb4ec7046..aa85eed7d38 100644
--- a/linux-user/cris/target_elf.h
+++ b/linux-user/cris/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef CRIS_TARGET_ELF_H
 #define CRIS_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/cris/target_fcntl.h b/linux-user/cris/target_fcntl.h
index df0aceea344..506f11f1221 100644
--- a/linux-user/cris/target_fcntl.h
+++ b/linux-user/cris/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef CRIS_TARGET_FCNTL_H
 #define CRIS_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/fd-trans.h b/linux-user/fd-trans.h
index 1b9fa2041c0..742a32421a8 100644
--- a/linux-user/fd-trans.h
+++ b/linux-user/fd-trans.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef FD_TRANS_H
 #define FD_TRANS_H
 
 #include "qemu/lockable.h"
 
diff --git a/linux-user/hexagon/sockbits.h b/linux-user/hexagon/sockbits.h
index b7ad5dc60e5..814283369ef 100644
--- a/linux-user/hexagon/sockbits.h
+++ b/linux-user/hexagon/sockbits.h
@@ -1,18 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "../generic/sockbits.h"
diff --git a/linux-user/hexagon/target_cpu.h b/linux-user/hexagon/target_cpu.h
index ecb76e9268e..d5045316912 100644
--- a/linux-user/hexagon/target_cpu.h
+++ b/linux-user/hexagon/target_cpu.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef HEXAGON_TARGET_CPU_H
 #define HEXAGON_TARGET_CPU_H
 
diff --git a/linux-user/hexagon/target_elf.h b/linux-user/hexagon/target_elf.h
index b4e9f405272..012f4f37c48 100644
--- a/linux-user/hexagon/target_elf.h
+++ b/linux-user/hexagon/target_elf.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef HEXAGON_TARGET_ELF_H
 #define HEXAGON_TARGET_ELF_H
 
diff --git a/linux-user/hexagon/target_fcntl.h b/linux-user/hexagon/target_fcntl.h
index 2892db80989..396a525024e 100644
--- a/linux-user/hexagon/target_fcntl.h
+++ b/linux-user/hexagon/target_fcntl.h
@@ -1,18 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "../generic/fcntl.h"
diff --git a/linux-user/hexagon/target_signal.h b/linux-user/hexagon/target_signal.h
index 9e0223d3222..8bb71339662 100644
--- a/linux-user/hexagon/target_signal.h
+++ b/linux-user/hexagon/target_signal.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef HEXAGON_TARGET_SIGNAL_H
 #define HEXAGON_TARGET_SIGNAL_H
 
diff --git a/linux-user/hexagon/target_structs.h b/linux-user/hexagon/target_structs.h
index c217d9442ae..45eb9b2d109 100644
--- a/linux-user/hexagon/target_structs.h
+++ b/linux-user/hexagon/target_structs.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
  * Hexagon specific structures for linux-user
  */
diff --git a/linux-user/hexagon/target_syscall.h b/linux-user/hexagon/target_syscall.h
index 7f91a4abc77..309974bba38 100644
--- a/linux-user/hexagon/target_syscall.h
+++ b/linux-user/hexagon/target_syscall.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef HEXAGON_TARGET_SYSCALL_H
 #define HEXAGON_TARGET_SYSCALL_H
 
diff --git a/linux-user/hexagon/termbits.h b/linux-user/hexagon/termbits.h
index 49f974cdde1..8292675e522 100644
--- a/linux-user/hexagon/termbits.h
+++ b/linux-user/hexagon/termbits.h
@@ -1,18 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "../generic/termbits.h"
diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h
index 82b4e9535e1..961f979c288 100644
--- a/linux-user/hppa/target_elf.h
+++ b/linux-user/hppa/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef HPPA_TARGET_ELF_H
 #define HPPA_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
index 4eb0ec98e25..41d554e7db6 100644
--- a/linux-user/hppa/target_fcntl.h
+++ b/linux-user/hppa/target_fcntl.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef HPPA_TARGET_FCNTL_H
 #define HPPA_TARGET_FCNTL_H
 
 #define TARGET_O_NONBLOCK    000200000
 #define TARGET_O_NONBLOCK_MASK 000200004 /* includes old HP-UX NDELAY flag */
 #define TARGET_O_APPEND      000000010
 #define TARGET_O_CREAT       000000400 /* not fcntl */
 #define TARGET_O_EXCL        000002000 /* not fcntl */
 #define TARGET_O_NOCTTY      000400000 /* not fcntl */
 #define TARGET_O_DSYNC       001000000
 #define TARGET_O_LARGEFILE   000004000
 #define TARGET_O_DIRECTORY   000010000 /* must be a directory */
 #define TARGET_O_NOFOLLOW    000000200 /* don't follow links */
diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h
index 1c6142e7da0..ca7e5ba5d52 100644
--- a/linux-user/i386/target_elf.h
+++ b/linux-user/i386/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef I386_TARGET_ELF_H
 #define I386_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "qemu32";
 }
 #endif
diff --git a/linux-user/i386/target_fcntl.h b/linux-user/i386/target_fcntl.h
index 4819743dae4..e5a77588360 100644
--- a/linux-user/i386/target_fcntl.h
+++ b/linux-user/i386/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef I386_TARGET_FCNTL_H
 #define I386_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/loader.h b/linux-user/loader.h
index f375ee0679b..f3528262b00 100644
--- a/linux-user/loader.h
+++ b/linux-user/loader.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * loader.h: prototypes for linux-user guest binary loader
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef LINUX_USER_LOADER_H
 #define LINUX_USER_LOADER_H
 
diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h
index 998fe0fe2f3..27017e418e0 100644
--- a/linux-user/m68k/target_elf.h
+++ b/linux-user/m68k/target_elf.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef M68K_TARGET_ELF_H
 #define M68K_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     if (eflags == 0 || (eflags & EF_M68K_M68000)) {
         /* 680x0 */
         return "m68040";
     }
 
     /* Coldfire */
     return "any";
 }
 #endif
diff --git a/linux-user/m68k/target_fcntl.h b/linux-user/m68k/target_fcntl.h
index 068bc3243e0..b692250dd20 100644
--- a/linux-user/m68k/target_fcntl.h
+++ b/linux-user/m68k/target_fcntl.h
@@ -1,17 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef M68K_TARGET_FCNTL_H
 #define M68K_TARGET_FCNTL_H
 
 #define TARGET_O_DIRECTORY      040000 /* must be a directory */
 #define TARGET_O_NOFOLLOW      0100000 /* don't follow links */
 #define TARGET_O_DIRECT        0200000 /* direct disk access hint */
 #define TARGET_O_LARGEFILE     0400000
 
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/target_elf.h
index 8a8f1debff9..e30550e3bb7 100644
--- a/linux-user/microblaze/target_elf.h
+++ b/linux-user/microblaze/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef MICROBLAZE_TARGET_ELF_H
 #define MICROBLAZE_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/microblaze/target_fcntl.h b/linux-user/microblaze/target_fcntl.h
index 45402275fff..846bf2c2833 100644
--- a/linux-user/microblaze/target_fcntl.h
+++ b/linux-user/microblaze/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef MICROBLAZE_TARGET_FCNTL_H
 #define MICROBLAZE_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/mips/target_fcntl.h b/linux-user/mips/target_fcntl.h
index 6fc7b8a12bf..298518fd805 100644
--- a/linux-user/mips/target_fcntl.h
+++ b/linux-user/mips/target_fcntl.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef MIPS_TARGET_FCNTL_H
 #define MIPS_TARGET_FCNTL_H
 
 #define TARGET_O_APPEND         0x0008
 #define TARGET_O_DSYNC          0x0010
 #define TARGET_O_NONBLOCK       0x0080
 #define TARGET_O_CREAT          0x0100  /* not fcntl */
 #define TARGET_O_TRUNC          0x0200  /* not fcntl */
 #define TARGET_O_EXCL           0x0400  /* not fcntl */
 #define TARGET_O_NOCTTY         0x0800  /* not fcntl */
 #define TARGET_FASYNC           0x1000  /* fcntl, for BSD compatibility */
 #define TARGET_O_LARGEFILE      0x2000  /* allow large file opens */
 #define TARGET___O_SYNC         0x4000
diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h
index 5f2f2df29f7..b4e2ef8aff5 100644
--- a/linux-user/mips64/target_elf.h
+++ b/linux-user/mips64/target_elf.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef MIPS64_TARGET_ELF_H
 #define MIPS64_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     if ((eflags & EF_MIPS_ARCH) == EF_MIPS_ARCH_64R6) {
         return "I6400";
     }
     if ((eflags & EF_MIPS_MACH) == EF_MIPS_MACH_5900) {
         return "R5900";
     }
     return "5KEf";
 }
 #endif
diff --git a/linux-user/nios2/target_elf.h b/linux-user/nios2/target_elf.h
index 801e20afafa..218bc2694d4 100644
--- a/linux-user/nios2/target_elf.h
+++ b/linux-user/nios2/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef NIOS2_TARGET_ELF_H
 #define NIOS2_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/nios2/target_fcntl.h b/linux-user/nios2/target_fcntl.h
index 714583215df..47c233b29eb 100644
--- a/linux-user/nios2/target_fcntl.h
+++ b/linux-user/nios2/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef NIOS2_TARGET_FCNTL_H
 #define NIOS2_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_elf.h
index 265ecd30794..7d8708c9e3c 100644
--- a/linux-user/openrisc/target_elf.h
+++ b/linux-user/openrisc/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef OPENRISC_TARGET_ELF_H
 #define OPENRISC_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "any";
 }
 #endif
diff --git a/linux-user/openrisc/target_fcntl.h b/linux-user/openrisc/target_fcntl.h
index ea31bf8b701..e8a7b046581 100644
--- a/linux-user/openrisc/target_fcntl.h
+++ b/linux-user/openrisc/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef OPENRISC_TARGET_FCNTL_H
 #define OPENRISC_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h
index 06166188542..d7bfffbafa1 100644
--- a/linux-user/ppc/target_elf.h
+++ b/linux-user/ppc/target_elf.h
@@ -1,18 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef PPC_TARGET_ELF_H
 #define PPC_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
 #ifdef TARGET_PPC64
     return "POWER9";
 #else
     return "750";
 #endif
 }
 #endif
diff --git a/linux-user/ppc/target_fcntl.h b/linux-user/ppc/target_fcntl.h
index d74ab710cf7..66454e1b5f5 100644
--- a/linux-user/ppc/target_fcntl.h
+++ b/linux-user/ppc/target_fcntl.h
@@ -1,17 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef PPC_TARGET_FCNTL_H
 #define PPC_TARGET_FCNTL_H
 
 #define TARGET_O_DIRECTORY      040000 /* must be a directory */
 #define TARGET_O_NOFOLLOW      0100000 /* don't follow links */
 #define TARGET_O_LARGEFILE     0200000
 #define TARGET_O_DIRECT        0400000 /* direct disk access hint */
 
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h
index 9dd65652ee4..0a5e4c72409 100644
--- a/linux-user/riscv/target_elf.h
+++ b/linux-user/riscv/target_elf.h
@@ -1,15 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef RISCV_TARGET_ELF_H
 #define RISCV_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     /* TYPE_RISCV_CPU_ANY */
     return "any";
 }
 #endif
diff --git a/linux-user/riscv/target_fcntl.h b/linux-user/riscv/target_fcntl.h
index 9c3d0fbe2b3..4e159d21500 100644
--- a/linux-user/riscv/target_fcntl.h
+++ b/linux-user/riscv/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef RISCV_TARGET_FCNTL_H
 #define RISCV_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/s390x/target_cpu.h b/linux-user/s390x/target_cpu.h
index 7cd71e2dbab..2cf6b9a7b50 100644
--- a/linux-user/s390x/target_cpu.h
+++ b/linux-user/s390x/target_cpu.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * S/390 specific CPU ABI and functions for linux-user
  *
  * Copyright (c) 2009 Ulrich Hecht
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #ifndef S390X_TARGET_CPU_H
 #define S390X_TARGET_CPU_H
diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h
index 8114b59c1d6..0712b055d5e 100644
--- a/linux-user/s390x/target_elf.h
+++ b/linux-user/s390x/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef S390X_TARGET_ELF_H
 #define S390X_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "qemu";
 }
 #endif
diff --git a/linux-user/s390x/target_fcntl.h b/linux-user/s390x/target_fcntl.h
index 36dc50fba05..0d354cd2058 100644
--- a/linux-user/s390x/target_fcntl.h
+++ b/linux-user/s390x/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef S390X_TARGET_FCNTL_H
 #define S390X_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/safe-syscall.h b/linux-user/safe-syscall.h
index 6bc03902628..2af86a582d7 100644
--- a/linux-user/safe-syscall.h
+++ b/linux-user/safe-syscall.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * safe-syscall.h: prototypes for linux-user signal-race-safe syscalls
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef LINUX_USER_SAFE_SYSCALL_H
 #define LINUX_USER_SAFE_SYSCALL_H
 
diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h
index f485e0cef27..0b59f734158 100644
--- a/linux-user/sh4/target_elf.h
+++ b/linux-user/sh4/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef SH4_TARGET_ELF_H
 #define SH4_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "sh7785";
 }
 #endif
diff --git a/linux-user/sh4/target_fcntl.h b/linux-user/sh4/target_fcntl.h
index 2622d95539d..c9b1845f233 100644
--- a/linux-user/sh4/target_fcntl.h
+++ b/linux-user/sh4/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef SH4_TARGET_FCNTL_H
 #define SH4_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/signal-common.h b/linux-user/signal-common.h
index 7457f8025c4..9202f0edfa5 100644
--- a/linux-user/signal-common.h
+++ b/linux-user/signal-common.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef SIGNAL_COMMON_H
diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h
index a510ceb6129..3232cf6aa5c 100644
--- a/linux-user/sparc/target_elf.h
+++ b/linux-user/sparc/target_elf.h
@@ -1,18 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef SPARC_TARGET_ELF_H
 #define SPARC_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
 #ifdef TARGET_SPARC64
     return "TI UltraSparc II";
 #else
     return "Fujitsu MB86904";
 #endif
 }
 #endif
diff --git a/linux-user/sparc/target_fcntl.h b/linux-user/sparc/target_fcntl.h
index c2532989e59..31649204665 100644
--- a/linux-user/sparc/target_fcntl.h
+++ b/linux-user/sparc/target_fcntl.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef SPARC_TARGET_FCNTL_H
 #define SPARC_TARGET_FCNTL_H
 
 #define TARGET_O_APPEND         0x0008
 #define TARGET_FASYNC           0x0040  /* fcntl, for BSD compatibility */
 #define TARGET_O_CREAT          0x0200  /* not fcntl */
 #define TARGET_O_TRUNC          0x0400  /* not fcntl */
 #define TARGET_O_EXCL           0x0800  /* not fcntl */
 #define TARGET_O_DSYNC          0x2000
 #define TARGET_O_NONBLOCK       0x4000
 # ifdef TARGET_SPARC64
 #  define TARGET_O_NDELAY       0x0004
 # else
diff --git a/linux-user/strace.h b/linux-user/strace.h
index 1e232d07fc8..660696e24dd 100644
--- a/linux-user/strace.h
+++ b/linux-user/strace.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * strace.h: prototypes for linux-user builtin strace handling
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef LINUX_USER_STRACE_H
 #define LINUX_USER_STRACE_H
 
diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h
index 661612a088b..9c0f7c8fea1 100644
--- a/linux-user/user-internals.h
+++ b/linux-user/user-internals.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * user-internals.h: prototypes etc internal to the linux-user implementation
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef LINUX_USER_USER_INTERNALS_H
 #define LINUX_USER_USER_INTERNALS_H
 
diff --git a/linux-user/user-mmap.h b/linux-user/user-mmap.h
index d1dec99c024..3f0461d1374 100644
--- a/linux-user/user-mmap.h
+++ b/linux-user/user-mmap.h
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * user-mmap.h: prototypes for linux-user guest binary loader
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef LINUX_USER_USER_MMAP_H
 #define LINUX_USER_USER_MMAP_H
 
diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h
index 7b76a90de88..a81641da9e3 100644
--- a/linux-user/x86_64/target_elf.h
+++ b/linux-user/x86_64/target_elf.h
@@ -1,14 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef X86_64_TARGET_ELF_H
 #define X86_64_TARGET_ELF_H
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return "qemu64";
 }
 #endif
diff --git a/linux-user/x86_64/target_fcntl.h b/linux-user/x86_64/target_fcntl.h
index 3c7238e56be..f62ee59eca0 100644
--- a/linux-user/x86_64/target_fcntl.h
+++ b/linux-user/x86_64/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef X86_64_TARGET_FCNTL_H
 #define X86_64_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h
index a9a3fabd89b..fa69fd71e90 100644
--- a/linux-user/xtensa/target_elf.h
+++ b/linux-user/xtensa/target_elf.h
@@ -1,16 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef XTENSA_TARGET_ELF_H
 #define XTENSA_TARGET_ELF_H
 
 static inline const char *cpu_get_model(uint32_t eflags)
 {
     return XTENSA_DEFAULT_CPU_MODEL;
 }
 
 #endif
diff --git a/linux-user/xtensa/target_fcntl.h b/linux-user/xtensa/target_fcntl.h
index dc1ca7eaa50..a1133d44f03 100644
--- a/linux-user/xtensa/target_fcntl.h
+++ b/linux-user/xtensa/target_fcntl.h
@@ -1,11 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
 
 #ifndef XTENSA_TARGET_FCNTL_H
 #define XTENSA_TARGET_FCNTL_H
 #include "../generic/fcntl.h"
 #endif
diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c
index 97e0728b679..abb8a0f99ec 100644
--- a/linux-user/aarch64/cpu_loop.c
+++ b/linux-user/aarch64/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/aarch64/signal.c b/linux-user/aarch64/signal.c
index 29c52db3f13..6306ddbdfa0 100644
--- a/linux-user/aarch64/signal.c
+++ b/linux-user/aarch64/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/alpha/cpu_loop.c b/linux-user/alpha/cpu_loop.c
index 4029849d5cd..3b772830fad 100644
--- a/linux-user/alpha/cpu_loop.c
+++ b/linux-user/alpha/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/alpha/signal.c b/linux-user/alpha/signal.c
index bbe3dd175a7..2c96878f824 100644
--- a/linux-user/alpha/signal.c
+++ b/linux-user/alpha/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index 01cb6eb534e..4f96398b824 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c
index df9f8e8eb20..0ac89d6551f 100644
--- a/linux-user/arm/signal.c
+++ b/linux-user/arm/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/cris/cpu_loop.c b/linux-user/cris/cpu_loop.c
index 0d5d268609a..5200835c994 100644
--- a/linux-user/cris/cpu_loop.c
+++ b/linux-user/cris/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/cris/signal.c b/linux-user/cris/signal.c
index 7f6aca934e1..968a4486bea 100644
--- a/linux-user/cris/signal.c
+++ b/linux-user/cris/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/exit.c b/linux-user/exit.c
index fa6ef0b9b44..0a8d88bf664 100644
--- a/linux-user/exit.c
+++ b/linux-user/exit.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  exit support for qemu
  *
  *  Copyright (c) 2018 Alex Bennée <alex.bennee@linaro.org>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "exec/gdbstub.h"
diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c
index 69410899590..ef4c2bdcb0b 100644
--- a/linux-user/fd-trans.c
+++ b/linux-user/fd-trans.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
 
 #include <sys/signalfd.h>
 #include <linux/unistd.h>
 #include <linux/audit.h>
diff --git a/linux-user/flatload.c b/linux-user/flatload.c
index e4c2f89a226..d1b60ac0071 100644
--- a/linux-user/flatload.c
+++ b/linux-user/flatload.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /****************************************************************************/
 /*
  *  QEMU bFLT binary loader.  Based on linux/fs/binfmt_flat.c
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  *
  *      Copyright (C) 2006 CodeSourcery.
  *	Copyright (C) 2000-2003 David McCullough <davidm@snapgear.com>
  *	Copyright (C) 2002 Greg Ungerer <gerg@snapgear.com>
diff --git a/linux-user/hexagon/cpu_loop.c b/linux-user/hexagon/cpu_loop.c
index 6b24cbaba93..1307c199e18 100644
--- a/linux-user/hexagon/cpu_loop.c
+++ b/linux-user/hexagon/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
diff --git a/linux-user/hexagon/signal.c b/linux-user/hexagon/signal.c
index 74e61739a0a..ed24944e44e 100644
--- a/linux-user/hexagon/signal.c
+++ b/linux-user/hexagon/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c
index 375576c8f09..826c8d4971a 100644
--- a/linux-user/hppa/cpu_loop.c
+++ b/linux-user/hppa/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/hppa/signal.c b/linux-user/hppa/signal.c
index c2fbc26ebb6..fc98fd6565f 100644
--- a/linux-user/hppa/signal.c
+++ b/linux-user/hppa/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/i386/cpu_loop.c b/linux-user/i386/cpu_loop.c
index f6a1cc632b1..486943dbe60 100644
--- a/linux-user/i386/cpu_loop.c
+++ b/linux-user/i386/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
index 433efa3d693..5bdbff09310 100644
--- a/linux-user/i386/signal.c
+++ b/linux-user/i386/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c
index 790bd558c3f..5395f1adaec 100644
--- a/linux-user/m68k/cpu_loop.c
+++ b/linux-user/m68k/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/m68k/signal.c b/linux-user/m68k/signal.c
index ec33482e140..f2bf1b88c0a 100644
--- a/linux-user/m68k/signal.c
+++ b/linux-user/m68k/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/main.c b/linux-user/main.c
index 16def5215d9..3cf8ef42fd8 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user main
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/microblaze/cpu_loop.c b/linux-user/microblaze/cpu_loop.c
index a94467dd2da..77a9859ea80 100644
--- a/linux-user/microblaze/cpu_loop.c
+++ b/linux-user/microblaze/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/microblaze/signal.c b/linux-user/microblaze/signal.c
index 8ebb6a1b7df..c046a957acc 100644
--- a/linux-user/microblaze/signal.c
+++ b/linux-user/microblaze/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c
index b735c99a24a..f77adcf7626 100644
--- a/linux-user/mips/cpu_loop.c
+++ b/linux-user/mips/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/mips/signal.c b/linux-user/mips/signal.c
index 8f79e405ecb..bd06bb05936 100644
--- a/linux-user/mips/signal.c
+++ b/linux-user/mips/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/mips64/cpu_loop.c b/linux-user/mips64/cpu_loop.c
index 858bc5be78a..f7463aaee9b 100644
--- a/linux-user/mips64/cpu_loop.c
+++ b/linux-user/mips64/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "../mips/cpu_loop.c"
diff --git a/linux-user/mips64/signal.c b/linux-user/mips64/signal.c
index 4ed0ed90b3c..53e05159a7e 100644
--- a/linux-user/mips64/signal.c
+++ b/linux-user/mips64/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #define MIPS_TARGET_SIGNAL_H /* to only include mips64/target_signal.h */
 #include "../mips/signal.c"
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index c125031b904..6941167126f 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  mmap support for qemu
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "trace.h"
diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
index 34290fb3b51..1ed76ed7a9d 100644
--- a/linux-user/nios2/cpu_loop.c
+++ b/linux-user/nios2/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/nios2/signal.c b/linux-user/nios2/signal.c
index a77e8a40f46..8d1a0213f3f 100644
--- a/linux-user/nios2/signal.c
+++ b/linux-user/nios2/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/openrisc/cpu_loop.c b/linux-user/openrisc/cpu_loop.c
index 3cfdbbf0372..83a8aee0bf6 100644
--- a/linux-user/openrisc/cpu_loop.c
+++ b/linux-user/openrisc/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/openrisc/signal.c b/linux-user/openrisc/signal.c
index be8b68784a2..f2366fac9a7 100644
--- a/linux-user/openrisc/signal.c
+++ b/linux-user/openrisc/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/ppc/cpu_loop.c b/linux-user/ppc/cpu_loop.c
index 483e669300f..3566327217b 100644
--- a/linux-user/ppc/cpu_loop.c
+++ b/linux-user/ppc/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/ppc/signal.c b/linux-user/ppc/signal.c
index 90a0369632f..440f99df941 100644
--- a/linux-user/ppc/signal.c
+++ b/linux-user/ppc/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c
index b301dac802e..fb8c7ad2e66 100644
--- a/linux-user/riscv/cpu_loop.c
+++ b/linux-user/riscv/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c
index a0f9542ce39..c1ca02f17bb 100644
--- a/linux-user/riscv/signal.c
+++ b/linux-user/riscv/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/s390x/cpu_loop.c b/linux-user/s390x/cpu_loop.c
index d089c8417e7..0cee4038fed 100644
--- a/linux-user/s390x/cpu_loop.c
+++ b/linux-user/s390x/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c
index 676b9481476..797030be8c4 100644
--- a/linux-user/s390x/signal.c
+++ b/linux-user/s390x/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/sh4/cpu_loop.c b/linux-user/sh4/cpu_loop.c
index ac9b01840c5..e7116cbf0f7 100644
--- a/linux-user/sh4/cpu_loop.c
+++ b/linux-user/sh4/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/sh4/signal.c b/linux-user/sh4/signal.c
index faa869fb195..cd23668b348 100644
--- a/linux-user/sh4/signal.c
+++ b/linux-user/sh4/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 81c45bfce9c..46a2733f593 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu/bitops.h"
diff --git a/linux-user/sparc/cpu_loop.c b/linux-user/sparc/cpu_loop.c
index 0ba65e431cd..a37c779db47 100644
--- a/linux-user/sparc/cpu_loop.c
+++ b/linux-user/sparc/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 23e1e761de4..f2c1045763e 100644
--- a/linux-user/sparc/signal.c
+++ b/linux-user/sparc/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 544f5b662ff..59b38644bcc 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Linux syscalls
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #define _ATFILE_SOURCE
 #include "qemu/osdep.h"
diff --git a/linux-user/uname.c b/linux-user/uname.c
index 1d82608c100..c78e013b9b5 100644
--- a/linux-user/uname.c
+++ b/linux-user/uname.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  cpu to uname machine name map
  *
  *  Copyright (c) 2009 Loïc Minier
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/vm86.c b/linux-user/vm86.c
index c2facf3fc2d..7d0e66f0af7 100644
--- a/linux-user/vm86.c
+++ b/linux-user/vm86.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  vm86 linux syscall support
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 
diff --git a/linux-user/x86_64/cpu_loop.c b/linux-user/x86_64/cpu_loop.c
index 8b5af8ea1f1..2a265aceb5b 100644
--- a/linux-user/x86_64/cpu_loop.c
+++ b/linux-user/x86_64/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "../i386/cpu_loop.c"
diff --git a/linux-user/x86_64/signal.c b/linux-user/x86_64/signal.c
index a509a38045b..8c5c075a525 100644
--- a/linux-user/x86_64/signal.c
+++ b/linux-user/x86_64/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #define I386_TARGET_SIGNAL_H /* to only include x86_64/target_signal.h */
 #include "../i386/signal.c"
diff --git a/linux-user/xtensa/cpu_loop.c b/linux-user/xtensa/cpu_loop.c
index a83490ab35a..310a5e11d80 100644
--- a/linux-user/xtensa/cpu_loop.c
+++ b/linux-user/xtensa/cpu_loop.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  qemu user cpu loop
  *
  *  Copyright (c) 2003-2008 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "qemu/osdep.h"
diff --git a/linux-user/xtensa/signal.c b/linux-user/xtensa/signal.c
index 81572a5fc7b..dbb0c4997ae 100644
--- a/linux-user/xtensa/signal.c
+++ b/linux-user/xtensa/signal.c
@@ -1,20 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  Emulation of Linux signals
  *
  *  Copyright (c) 2003 Fabrice Bellard
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line
  2021-11-04  7:15 ` [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line Philippe Mathieu-Daudé
@ 2021-11-04  9:13   ` Daniel P. Berrangé
  2021-11-09 17:02     ` Warner Losh
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-11-04  9:13 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: Taylor Simpson, qemu-devel, Laurent Vivier

On Thu, Nov 04, 2021 at 08:15:40AM +0100, Philippe Mathieu-Daudé wrote:
> Tools consuming SPDX license identifiers benefit from having
> the SPDX tag in its own comment, not embedded with the license
> text. Move the tag to the first line.

Do you have an example of such a tool which has problems ?

AFAIK, guidance for adding SPDX tags merely says they should
be in a comment near the top of the file.

I wouldn't expect license scanners to care about the acutal
comment syntax. Proper tools would be designed to scan for
tags in *any* file format, so would be unlikely to be parsing
the C code comments at all. Rather scanners would be just
looking for the magic string "SPDX-License-Identifier" in
the file. Use of comments is merely to stop the C compiler
interpreting the tag.

It makes sense to have the SPDX tag as the first thing in
the file, but I don't see a compelling need to make it into
its own dedicated opened + closed comment, separately from
the license header comment.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line
  2021-11-04  9:13   ` Daniel P. Berrangé
@ 2021-11-09 17:02     ` Warner Losh
  0 siblings, 0 replies; 5+ messages in thread
From: Warner Losh @ 2021-11-09 17:02 UTC (permalink / raw)
  To: "Daniel P. Berrangé"
  Cc: Laurent Vivier, Taylor Simpson, Philippe Mathieu-Daudé, qemu-devel



> On Nov 4, 2021, at 3:13 AM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> On Thu, Nov 04, 2021 at 08:15:40AM +0100, Philippe Mathieu-Daudé wrote:
>> Tools consuming SPDX license identifiers benefit from having
>> the SPDX tag in its own comment, not embedded with the license
>> text. Move the tag to the first line.
> 
> Do you have an example of such a tool which has problems ?
> 
> AFAIK, guidance for adding SPDX tags merely says they should
> be in a comment near the top of the file.
> 
> I wouldn't expect license scanners to care about the acutal
> comment syntax. Proper tools would be designed to scan for
> tags in *any* file format, so would be unlikely to be parsing
> the C code comments at all. Rather scanners would be just
> looking for the magic string "SPDX-License-Identifier" in
> the file. Use of comments is merely to stop the C compiler
> interpreting the tag.
> 
> It makes sense to have the SPDX tag as the first thing in
> the file, but I don't see a compelling need to make it into
> its own dedicated opened + closed comment, separately from
> the license header comment.

The SPDX’s tools don’t require the proposed changes. Nor does
the SPDX standard which says that the lines can be anywhere in the
file. The reuse.software additions to this standard add additional
ways to mark binary files, but otherwise says the same thing.

The FreeBSD project has been marking files with SPDX tags for years
and has never once encountered this issue.

Warner

> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-09 17:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-04  7:15 [PATCH v2 0/2] linux-user: Add GPL-2.0-or-later SPDX license identifier Philippe Mathieu-Daudé
2021-11-04  7:15 ` [PATCH v2 1/2] linux-user: Move the SPDX license identifier to first line Philippe Mathieu-Daudé
2021-11-04  9:13   ` Daniel P. Berrangé
2021-11-09 17:02     ` Warner Losh
2021-11-04  7:15 ` [PATCH v2 2/2] linux-user: Add GPL-2.0-or-later SPDX license identifier Philippe Mathieu-Daudé

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).