poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
Bruce Ashfield 7607a984fd mips: Add '-std=gnu11' to vdso CFLAGS
Integrating the following commit(s) to linux-yocto/6.12:

1/1 [
    Author: Khem Raj
    Email: raj.khem@gmail.com
    Subject: mips: Add '-std=gnu11' to vdso CFLAGS
    Date: Wed, 26 Mar 2025 20:24:36 -0700

    GCC 15 changed the default C standard dialect from gnu17 to gnu23,
    which should not have impacted the kernel because it explicitly requests
    the gnu11 standard in the main Makefile. However, mips/vdso code uses
    its own CFLAGS without a '-std=' value, which break with this dialect
    change because of the kernel's own definitions of bool, false, and true
    conflicting with the C23 reserved keywords.

      include/linux/stddef.h:11:9: error: cannot use keyword 'false' as enumeration constant
         11 |         false   = 0,
            |         ^~~~~
      include/linux/stddef.h:11:9: note: 'false' is a keyword with '-std=c23' onwards
      include/linux/types.h:35:33: error: 'bool' cannot be defined via 'typedef'
         35 | typedef _Bool                   bool;
            |                                 ^~~~
      include/linux/types.h:35:33: note: 'bool' is a keyword with '-std=c23' onwards

    Add '-std=gnu11' to the decompressor and purgatory CFLAGS to eliminate
    these errors and make the C standard version of these areas match the
    rest of the kernel.

    Signed-off-by: Khem Raj <raj.khem@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: adf40ca85d4de9257da2667f254b967f391c8a50)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-11 10:41:05 +01:00

34 lines
1.1 KiB
BlitzBasic

KBRANCH ?= "v6.12/standard/tiny/base"
LINUX_KERNEL_TYPE = "tiny"
KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
# CVE exclusions
include recipes-kernel/linux/cve-exclusion_6.12.inc
LINUX_VERSION ?= "6.12.19"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
SRCREV_machine ?= "2ee7ebed771b39a795c227aae81524175abf5d00"
SRCREV_meta ?= "d034c1073cb7f88eaf3ce929ba21ba11503729b2"
PV = "${LINUX_VERSION}+git"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
# Functionality flags
KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc cfg/fs/ext4.scc"
KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"