Commit 4ac8f78d authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

Add option for paranoid unsafe path checking



This commit adds a Config.in option to the "Build options" submenu to
enable paranoid checking of unsafe paths. This mechanism is added as
an option so that when we'll enable it in the autobuilders, people
trying to reproduce the build failures will be able to do so by just
downloading the configuration file. If instead we were leaving this
feature as an environment variable, everyone would have to remember to
pass this environment variable to reproduce build issues. And certain
build issues triggered by paranoid unsafe patch checking may not be
visible in the build output, for example when they happen during the
execution of configure scripts.

Since this option is fairly advanced, a new submenu inside "Build
options" is created, for Advanced options.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: default avatarRomain Naour <romain.naour@openwide.fr>
Tested-by: default avatarRomain Naour <romain.naour@openwide.fr>
parent 2621ff3b
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -569,6 +569,26 @@ config BR2_GLOBAL_PATCH_DIR
	  Otherwise, if the directory <global-patch-dir>/<packagename> exists,
	  then all *.patch files in the directory will be applied.

menu "Advanced"

config BR2_COMPILER_PARANOID_UNSAFE_PATH
	bool "paranoid check of library/header paths"
	help
	  By default, when this option is disabled, when the Buildroot
	  cross-compiler will encounter an unsafe library or header
	  path (such as /usr/include, or /usr/lib), the compiler will
	  display a warning.

	  By enabling this option, this warning is turned into an
	  error, which will completely abort the build when such
	  unsafe paths are encountered.

	  Note that this mechanism is available for both the internal
	  toolchain (through gcc and binutils patches) and external
	  toolchain backends (through the external toolchain wrapper).

endmenu

endmenu

source "toolchain/Config.in"
+4 −0
Original line number Diff line number Diff line
@@ -398,6 +398,10 @@ else
SHARED_STATIC_LIBS_OPTS = --enable-static --enable-shared
endif

ifeq ($(BR2_COMPILER_PARANOID_UNSAFE_PATH),y)
export BR_COMPILER_PARANOID_UNSAFE_PATH=enabled
endif

include package/pkg-download.mk
include package/pkg-autotools.mk
include package/pkg-cmake.mk