initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,105 @@
From 103c00c8d74a1cd87686850212bd93c0e4d59fc9 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Wed, 11 Aug 2021 21:34:59 +0200
Subject: [PATCH] Add MEDIA_BUILD_HARDENING option
Add MEDIA_BUILD_HARDENING option to allow the user to disable hardening
options such as stack-protector-all or FORTIFY SOURCE 2 which are not
always available (e.g. fortify source 2 is only available on glibc >= 6
and not musl/uclibc-ng)
Patch sent upstream: https://github.com/intel/media-driver/pull/1242
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
cmrtlib/linux/CMakeLists.txt | 14 ++++++++++----
.../cmake/linux/media_compile_flags_linux.cmake | 12 ++++++++++--
media_driver/media_top_cmake.cmake | 8 +++++++-
3 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/cmrtlib/linux/CMakeLists.txt b/cmrtlib/linux/CMakeLists.txt
index 65f71ceef..b066138d9 100644
--- a/cmrtlib/linux/CMakeLists.txt
+++ b/cmrtlib/linux/CMakeLists.txt
@@ -32,12 +32,18 @@ else()
endif()
# Set up compile options that will be used for the Linux build
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive -fstack-protector-all")
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0")
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive -fstack-protector-all")
-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive")
+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0")
+if(MEDIA_BUILD_HARDENING)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} -fstack-protector-all")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS} -fstack-protector-all")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2")
+endif()
if(MEDIA_BUILD_FATAL_WARNINGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} -Werror")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS} -Werror")
diff --git a/media_driver/cmake/linux/media_compile_flags_linux.cmake b/media_driver/cmake/linux/media_compile_flags_linux.cmake
index 7a2bd64b6..98896b131 100755
--- a/media_driver/cmake/linux/media_compile_flags_linux.cmake
+++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake
@@ -47,7 +47,6 @@ set(MEDIA_COMPILER_FLAGS_COMMON
# Other common flags
-fmessage-length=0
-fvisibility=hidden
- -fstack-protector
-fdata-sections
-ffunction-sections
-Wl,--gc-sections
@@ -64,6 +63,11 @@ set(MEDIA_COMPILER_FLAGS_COMMON
-g
)
+if(MEDIA_BUILD_HARDENING)
+ set(MEDIA_COMPILER_FLAGS_COMMON
+ ${MEDIA_COMPILER_FLAGS_COMMON}
+ -fstack-protector)
+endif()
if(${UFO_MARCH} STREQUAL "slm")
set(MEDIA_COMPILER_FLAGS_COMMON
@@ -119,9 +123,13 @@ if(${UFO_VARIANT} STREQUAL "default")
set(MEDIA_COMPILER_FLAGS_RELEASE
${MEDIA_COMPILER_FLAGS_RELEASE}
-O2
- -D_FORTIFY_SOURCE=2
-fno-omit-frame-pointer
)
+ if(MEDIA_BUILD_HARDENING)
+ set(MEDIA_COMPILER_FLAGS_RELEASE
+ ${MEDIA_COMPILER_FLAGS_RELEASE}
+ -D_FORTIFY_SOURCE=2)
+ endif()
endif()
if(NOT ${PLATFORM} STREQUAL "android")
diff --git a/media_driver/media_top_cmake.cmake b/media_driver/media_top_cmake.cmake
index f089ea45f..b0b428914 100755
--- a/media_driver/media_top_cmake.cmake
+++ b/media_driver/media_top_cmake.cmake
@@ -111,7 +111,13 @@ if(MEDIA_BUILD_FATAL_WARNINGS)
set_target_properties(${LIB_NAME_OBJ} PROPERTIES COMPILE_FLAGS "-Werror")
endif()
-set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fstack-protector -fPIC")
+set(MEDIA_LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fPIC")
+option(MEDIA_BUILD_HARDENING "Enable hardening (stack-protector, fortify source)" ON)
+if(MEDIA_BUILD_HARDENING)
+ set(MEDIA_LINK_FLAGS "${MEDIA_LINK_FLAGS} -fstack-protector")
+endif()
+set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS ${MEDIA_LINK_FLAGS})
+
set_target_properties(${LIB_NAME} PROPERTIES PREFIX "")
set_target_properties(${LIB_NAME_STATIC} PROPERTIES PREFIX "")
+24
View File
@@ -0,0 +1,24 @@
config BR2_PACKAGE_INTEL_MEDIADRIVER
bool "intel-mediadriver"
depends on BR2_x86_64
depends on !BR2_STATIC_LIBS # mesa3d, libva
depends on BR2_INSTALL_LIBSTDCPP # mesa3d
depends on BR2_TOOLCHAIN_HAS_SYNC_1 # mesa3d
depends on BR2_TOOLCHAIN_HAS_THREADS # libva
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mesa3d
select BR2_PACKAGE_INTEL_GMMLIB
select BR2_PACKAGE_LIBPCIACCESS
select BR2_PACKAGE_LIBVA
select BR2_PACKAGE_MESA3D
help
The Intel(R) Media Driver for VAAPI is a new VA-API (Video
Acceleration API) user mode driver supporting hardware
accelerated decoding, encoding, and video post processing for
GEN based graphics hardware.
https://github.com/intel/media-driver
comment "intel-mediadriver needs a toolchain w/ dynamic library, C++, NPTL"
depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1
depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL
@@ -0,0 +1,3 @@
# Locally computed
sha256 182925ed21c0a9843a63865e34dc35bf713294260d14ceb29e8de0de2e34733f intel-media-21.3.5.tar.gz
sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md
@@ -0,0 +1,35 @@
################################################################################
#
# intel-mediadriver
#
################################################################################
# based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack
INTEL_MEDIADRIVER_VERSION = 21.3.5
INTEL_MEDIADRIVER_SITE = http://github.com/intel/media-driver/archive
INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz
INTEL_MEDIADRIVER_LICENSE = MIT, BSD-3-Clause
INTEL_MEDIADRIVER_LICENSE_FILES = LICENSE.md
INTEL_MEDIADRIVER_DEPENDENCIES = \
intel-gmmlib \
libpciaccess \
libva \
mesa3d
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
INTEL_MEDIADRIVER_DEPENDENCIES += xlib_libX11
endif
INTEL_MEDIADRIVER_SUPPORTS_IN_SOURCE_BUILD = NO
# hardening is disabled here, so that the top-level Buildroot options
# control which hardening features are enabled
INTEL_MEDIADRIVER_CONF_OPTS = \
-DINSTALL_DRIVER_SYSCONF=OFF \
-DMEDIA_BUILD_FATAL_WARNINGS=OFF \
-DMEDIA_RUN_TEST_SUITE=OFF \
-DMEDIA_BUILD_HARDENING=OFF
$(eval $(cmake-package))