From: Hongxu Jia Date: Mon, 22 Dec 2025 14:53:59 +0000 (+0800) Subject: debug-optimize.inc: collect debug optimization tuning configuration X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b6837a1d6ab2a776eb50192f8daf510459df442;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git debug-optimize.inc: collect debug optimization tuning configuration The modern compilers and code seem to require extra steps to avoid DEBUG errors, Move debug tuning configuration from recipes to an include file to address these errors. Drop `:remove' operation on variable, override variables directly Suggested-by: Peter Kjellerstedt Signed-off-by: Hongxu Jia Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/conf/distro/include/debug-optimize.inc b/meta/conf/distro/include/debug-optimize.inc index b5fb3bbf78..c11d792094 100644 --- a/meta/conf/distro/include/debug-optimize.inc +++ b/meta/conf/distro/include/debug-optimize.inc @@ -3,3 +3,40 @@ DEBUG_OPTIMIZATION ?= "-Og ${DEBUG_LEVELFLAG}" SELECTED_OPTIMIZATION ?= "${DEBUG_OPTIMIZATION}" # compiler flags for native/nativesdk BUILD_OPTIMIZATION ?= "-Og -g" + +# The modern compilers and code seem to require extra steps to avoid DEBUG errors, +# this file collects debug tuning configuration to address DEBUG errors. + +DEBUG_OPTIMIZATION:append:pn-perf = " -Wno-error=maybe-uninitialized" +DEBUG_OPTIMIZATION:append:armv4:pn-libjpeg-turbo = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:armv5:pn-libjpeg-turbo = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:armv4:pn-bash = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:armv5:pn-bash = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:pn-mdadm = " -Wno-error" +DEBUG_OPTIMIZATION:mips:pn-kea = "-O ${DEBUG_LEVELFLAG}" +DEBUG_OPTIMIZATION:mipsel:pn-kea = "-O ${DEBUG_LEVELFLAG}" +# {standard input}: Assembler messages: +# {standard input}:1488805: Error: branch out of range +DEBUG_OPTIMIZATION:mips:pn-python3-lxml = "-O ${DEBUG_LEVELFLAG}" +DEBUG_OPTIMIZATION:mipsel:pn-python3-lxml = "-O ${DEBUG_LEVELFLAG}" +# used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized] +DEBUG_OPTIMIZATION:append:pn-gcc-sanitizers = " -Wno-error" + +BUILD_OPTIMIZATION:mips:pn-kea = "-O -g" +BUILD_OPTIMIZATION:mipsel:pn-kea = "-O -g" +# {standard input}: Assembler messages: +# {standard input}:1488805: Error: branch out of range +BUILD_OPTIMIZATION:mips:pn-python3-lxml = "-O -g" +BUILD_OPTIMIZATION:mipsel:pn-python3-lxml = "-O -g" + +CPPFLAGS:append:arm:pn-lttng-ust = " -DUATOMIC_NO_LINK_ERROR" + +OECMAKE_WEBKIT_NO_INLINE_HINTS:pn-webkitgtk = "-DWEBKIT_NO_INLINE_HINTS=ON" + +EXTRA_OECONF:append:pn-debugedit = " --disable-inlined-xxhash" +EXTRA_OECONF:append:pn-debugedit-native = " --disable-inlined-xxhash" +EXTRA_OECONF:append:pn-nativesdk-debugedit = " --disable-inlined-xxhash" + +lcl_maybe_fortify:pn-vim = "" + +CXXFLAGS:append:pn-vulkan-validation-layers = " -DXXH_NO_INLINE_HINTS=1" diff --git a/meta/recipes-connectivity/kea/kea_3.0.2.bb b/meta/recipes-connectivity/kea/kea_3.0.2.bb index f46cb1bf80..d67de94227 100644 --- a/meta/recipes-connectivity/kea/kea_3.0.2.bb +++ b/meta/recipes-connectivity/kea/kea_3.0.2.bb @@ -35,16 +35,6 @@ INITSCRIPT_PARAMS = "defaults 30" SYSTEMD_SERVICE:${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" SYSTEMD_AUTO_ENABLE = "disable" -DEBUG_OPTIMIZATION:remove:mips = " -Og" -DEBUG_OPTIMIZATION:append:mips = " -O" -BUILD_OPTIMIZATION:remove:mips = " -Og" -BUILD_OPTIMIZATION:append:mips = " -O" - -DEBUG_OPTIMIZATION:remove:mipsel = " -Og" -DEBUG_OPTIMIZATION:append:mipsel = " -O" -BUILD_OPTIMIZATION:remove:mipsel = " -Og" -BUILD_OPTIMIZATION:append:mipsel = " -O" - CXXFLAGS:remove = "-fvisibility-inlines-hidden" do_configure:prepend() { diff --git a/meta/recipes-devtools/debugedit/debugedit_5.2.bb b/meta/recipes-devtools/debugedit/debugedit_5.2.bb index 76c54ba63d..4ac6cab559 100644 --- a/meta/recipes-devtools/debugedit/debugedit_5.2.bb +++ b/meta/recipes-devtools/debugedit/debugedit_5.2.bb @@ -22,8 +22,6 @@ inherit pkgconfig autotools multilib_script RDEPENDS:${PN} += "bash elfutils-binutils" -EXTRA_OECONF = "${@oe.utils.vartrue('DEBUG_BUILD', '--disable-inlined-xxhash', '', d)}" - BBCLASSEXTEND = "native nativesdk" MULTILIB_SCRIPTS = "${PN}:${bindir}/find-debuginfo" diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/meta/recipes-devtools/gcc/gcc-sanitizers.inc index 6c81d30243..f4727ee6db 100644 --- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc +++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc @@ -54,9 +54,6 @@ INHIBIT_DEFAULT_DEPS = "1" ALLOW_EMPTY:${PN} = "1" DEPENDS = "virtual/crypt gcc-runtime virtual/cross-cc" -# used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized] -DEBUG_OPTIMIZATION:append = " -Wno-error" - BBCLASSEXTEND = "nativesdk" PACKAGES = "${PN} ${PN}-dbg" diff --git a/meta/recipes-devtools/python/python3-lxml_6.0.2.bb b/meta/recipes-devtools/python/python3-lxml_6.0.2.bb index 876fda93b6..178908e3b2 100644 --- a/meta/recipes-devtools/python/python3-lxml_6.0.2.bb +++ b/meta/recipes-devtools/python/python3-lxml_6.0.2.bb @@ -23,18 +23,6 @@ SRC_URI[sha256sum] = "cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96 SRC_URI += "${PYPI_SRC_URI}" inherit pkgconfig pypi setuptools3 -# {standard input}: Assembler messages: -# {standard input}:1488805: Error: branch out of range -DEBUG_OPTIMIZATION:remove:mips = " -Og" -DEBUG_OPTIMIZATION:append:mips = " -O" -BUILD_OPTIMIZATION:remove:mips = " -Og" -BUILD_OPTIMIZATION:append:mips = " -O" - -DEBUG_OPTIMIZATION:remove:mipsel = " -Og" -DEBUG_OPTIMIZATION:append:mipsel = " -O" -BUILD_OPTIMIZATION:remove:mipsel = " -Og" -BUILD_OPTIMIZATION:append:mipsel = " -O" - BBCLASSEXTEND = "native nativesdk" RDEPENDS:${PN} += "libxml2 libxslt python3-compression" diff --git a/meta/recipes-extended/bash/bash_5.3.bb b/meta/recipes-extended/bash/bash_5.3.bb index b50a48d28c..74671f5a56 100644 --- a/meta/recipes-extended/bash/bash_5.3.bb +++ b/meta/recipes-extended/bash/bash_5.3.bb @@ -15,9 +15,6 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ SRC_URI[tarball.sha256sum] = "0d5cd86965f869a26cf64f4b71be7b96f90a3ba8b3d74e27e8e9d9d5550f31ba" -DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" -DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" - CFLAGS += "-std=gnu17" # mkbuiltins.c is built with native toolchain and needs gnu17 as well: # http://errors.yoctoproject.org/Errors/Details/853016/ diff --git a/meta/recipes-extended/mdadm/mdadm_4.4.bb b/meta/recipes-extended/mdadm/mdadm_4.4.bb index 26a60e4c1a..e81b8fdf3c 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.4.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.4.bb @@ -39,8 +39,6 @@ EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CWFLAGS="" CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${sys BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev" LDFLAGS="${LDFLAGS}" \ SYSROOT="${STAGING_DIR_TARGET}" STRIP=' -DEBUG_OPTIMIZATION:append = " -Wno-error" - do_install() { oe_runmake 'DESTDIR=${D}' install install-systemd install -d ${D}/${sysconfdir}/ diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_3.1.3.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_3.1.3.bb index 26e84ca42c..fb5e620ac9 100644 --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_3.1.3.bb +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_3.1.3.bb @@ -44,9 +44,6 @@ EXTRA_OECMAKE:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURE EXTRA_OECMAKE:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" EXTRA_OECMAKE:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" -DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" -DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" - # libjpeg-turbo-2.0.2/simd/mips/jsimd_dspr2.S # :13:5: error: invalid token in expression # .if $17 != 0 diff --git a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.335.0.bb b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.335.0.bb index 2a9501309c..dd394ca9c0 100644 --- a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.335.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.335.0.bb @@ -26,8 +26,6 @@ EXTRA_OECMAKE = "\ -DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \ " -CXXFLAGS:append = " ${@oe.utils.vartrue('DEBUG_BUILD', '-DXXH_NO_INLINE_HINTS=1', '', d)}" - PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb b/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb index 1a15c5b420..0d4c67f0fa 100644 --- a/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb +++ b/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb @@ -16,7 +16,6 @@ inherit autotools lib_package manpages python3native pkgconfig include lttng-platforms.inc EXTRA_OECONF = "--disable-numa" -CPPFLAGS:append:arm = "${@oe.utils.vartrue('DEBUG_BUILD', '-DUATOMIC_NO_LINK_ERROR', '', d)}" DEPENDS = "liburcu util-linux" RDEPENDS:${PN}-bin = "python3-core" diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index b69ba2ac12..3319ed5c78 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -422,8 +422,6 @@ FILES:${PN}-python = " \ " FILES:${PN}-perl = "${libexecdir}/perf-core/scripts/perl" -DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized" - PACKAGESPLITFUNCS =+ "perf_fix_sources" perf_fix_sources () { diff --git a/meta/recipes-sato/webkit/webkitgtk_2.50.4.bb b/meta/recipes-sato/webkit/webkitgtk_2.50.4.bb index a1b0a72612..54ac1463b2 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.50.4.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.50.4.bb @@ -84,11 +84,12 @@ PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" PACKAGECONFIG[sysprof-capture] = "-DUSE_SYSTEM_SYSPROF_CAPTURE=YES,-DUSE_SYSTEM_SYSPROF_CAPTURE=NO,sysprof" PACKAGECONFIG[speech] = "-DENABLE_SPEECH_SYNTHESIS=ON,-DENABLE_SPEECH_SYNTHESIS=OFF,flite" +OECMAKE_WEBKIT_NO_INLINE_HINTS ??= "-DWEBKIT_NO_INLINE_HINTS=OFF" EXTRA_OECMAKE = " \ -DPORT=GTK \ ${@oe.utils.vartrue('GI_DATA_ENABLED', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ ${@oe.utils.vartrue('GIDOCGEN_ENABLED', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ - ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFF', d)} \ + ${OECMAKE_WEBKIT_NO_INLINE_HINTS} \ -DENABLE_MINIBROWSER=ON \ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -DUSE_GTK4=ON \ diff --git a/meta/recipes-support/vim/vim_9.1.bb b/meta/recipes-support/vim/vim_9.1.bb index fee9f055e9..a24a863ba5 100644 --- a/meta/recipes-support/vim/vim_9.1.bb +++ b/meta/recipes-support/vim/vim_9.1.bb @@ -20,4 +20,4 @@ ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" # We override the default in security_flags.inc because vim (not vim-tiny!) will abort # in many places for _FORTIFY_SOURCE=2. Security flags become part of CC. # -lcl_maybe_fortify = "${@oe.utils.conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=1',d)}" +lcl_maybe_fortify = "-D_FORTIFY_SOURCE=1"