diff options
Diffstat (limited to 'poky/meta/recipes-devtools/gcc/gcc-common.inc')
-rw-r--r-- | poky/meta/recipes-devtools/gcc/gcc-common.inc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc index 5ac82b1b57..01de93cc3c 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-common.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc @@ -116,3 +116,29 @@ target_prefix ?= "${prefix}" # The real WORKDIR location isn't a dependency for the shared workdir. src_patches[vardepsexclude] = "WORKDIR" should_apply[vardepsexclude] += "PN" + +remove_sysroot_paths_from_configargs () { + replacement=${1} + # Prevent sysroot path from being used in configargs.h header, as it will + # be rewritten when used by other sysroots preventing support for gcc + # plugins. Additionally the path is embeddeded into the output binary, this + # prevents building a reproducible binary. + oe_runmake configure-gcc + sed -i "s@${STAGING_DIR_TARGET}@$replacement@g" ${B}/gcc/configargs.h + sed -i "s@${STAGING_DIR_HOST}@/$replacement@g" ${B}/gcc/configargs.h +} + +remove_sysroot_paths_from_checksum_options () { + stagingdir=${1} + replacement=${2} + # Prevent sysroot/workdir paths from being used in checksum-options. + # checksum-options is used to generate a checksum which is embedded into + # the output binary. + oe_runmake TARGET-gcc=checksum-options all-gcc + sed -i "s@${DEBUG_PREFIX_MAP}@@g" ${B}/gcc/checksum-options + sed -i "s@$stagingdir@$replacement@g" ${B}/gcc/checksum-options +} + +cleanup_installed_include_fixed () { + find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f +} |