xref: /OK3568_Linux_fs/buildroot/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From 1e7435751c055723b7103dd1d5bb68530e1a2678 Mon Sep 17 00:00:00 2001
2From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3Date: Tue, 8 Oct 2019 20:18:18 +0200
4Subject: [PATCH] Add USE_STACK_PROTECTOR option
5
6-fstack-protector-all is not supported on all linux toolchains so add an
7option to disable it (and enable it by default to keep current behavior)
8
9Fixes:
10 - http://autobuild.buildroot.org/results/377818cf8c1f2632cabdccb32bf4e7f06c0fdbbd
11
12Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
13[Upstream status: https://github.com/cisco/openh264/pull/3175]
14---
15 Makefile                  | 1 +
16 build/platform-android.mk | 5 ++++-
17 build/platform-bsd.mk     | 5 ++++-
18 build/platform-darwin.mk  | 5 ++++-
19 build/platform-linux.mk   | 5 ++++-
20 5 files changed, 17 insertions(+), 4 deletions(-)
21
22diff --git a/Makefile b/Makefile
23index 74ff029d..c2061f6a 100644
24--- a/Makefile
25+++ b/Makefile
26@@ -34,6 +34,7 @@ GTEST_VER=release-1.8.1
27 CCASFLAGS=$(CFLAGS)
28 STATIC_LDFLAGS=-lstdc++
29 STRIP ?= strip
30+USE_STACK_PROTECTOR = Yes
31
32 SHAREDLIB_MAJORVERSION=5
33 FULL_VERSION := 2.0.0
34diff --git a/build/platform-android.mk b/build/platform-android.mk
35index 6f6ce347..06534301 100644
36--- a/build/platform-android.mk
37+++ b/build/platform-android.mk
38@@ -44,7 +44,10 @@ SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH)
39 CXX = $(TOOLCHAINPREFIX)g++
40 CC = $(TOOLCHAINPREFIX)gcc
41 AR = $(TOOLCHAINPREFIX)ar
42-CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -fstack-protector-all
43+CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP
44+ifeq ($(USE_STACK_PROTECTOR), Yes)
45+CFLAGS +=-fstack-protector-all
46+endif
47 CFLAGS += -isystem $(NDKROOT)/sysroot/usr/include -isystem $(NDKROOT)/sysroot/usr/include/$(TOOLCHAIN_NAME) -D__ANDROID_API__=$(NDKLEVEL)
48 CXXFLAGS += -fno-rtti -fno-exceptions
49 LDFLAGS += --sysroot=$(SYSROOT)
50diff --git a/build/platform-bsd.mk b/build/platform-bsd.mk
51index e60d2cc0..2e0bf2cc 100644
52--- a/build/platform-bsd.mk
53+++ b/build/platform-bsd.mk
54@@ -3,7 +3,10 @@ SHAREDLIBSUFFIX = so
55 SHAREDLIBSUFFIXFULLVER=$(SHAREDLIBSUFFIX).$(FULL_VERSION)
56 SHAREDLIBSUFFIXMAJORVER=$(SHAREDLIBSUFFIX).$(SHAREDLIB_MAJORVERSION)
57 SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER)
58-CFLAGS += -fPIC -fstack-protector-all
59+CFLAGS += -fPIC
60+ifeq ($(USE_STACK_PROTECTOR), Yes)
61+CFLAGS += -fstack-protector-all
62+endif
63 LDFLAGS += -lpthread
64 STATIC_LDFLAGS += -lpthread -lm
65 ifeq ($(ASM_ARCH), x86)
66diff --git a/build/platform-darwin.mk b/build/platform-darwin.mk
67index 6c7b2443..718c8e2f 100644
68--- a/build/platform-darwin.mk
69+++ b/build/platform-darwin.mk
70@@ -10,7 +10,10 @@ SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \
71 	$(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER)
72 SHARED = -dynamiclib
73 SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION)
74-CFLAGS += -Wall -fPIC -MMD -MP -fstack-protector-all
75+CFLAGS += -Wall -fPIC -MMD -MP
76+ifeq ($(USE_STACK_PROTECTOR), Yes)
77+CFLAGS += -fstack-protector-all
78+endif
79 ifeq ($(ASM_ARCH), x86)
80 ASMFLAGS += -DPREFIX
81 ifeq ($(ARCH), x86_64)
82diff --git a/build/platform-linux.mk b/build/platform-linux.mk
83index 44fe2424..b5c006b2 100644
84--- a/build/platform-linux.mk
85+++ b/build/platform-linux.mk
86@@ -3,7 +3,10 @@ SHAREDLIBSUFFIX = so
87 SHAREDLIBSUFFIXFULLVER=$(SHAREDLIBSUFFIX).$(FULL_VERSION)
88 SHAREDLIBSUFFIXMAJORVER=$(SHAREDLIBSUFFIX).$(SHAREDLIB_MAJORVERSION)
89 SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER)
90-CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP -fstack-protector-all
91+CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP
92+ifeq ($(USE_STACK_PROTECTOR), Yes)
93+CFLAGS += -fstack-protector-all
94+endif
95 LDFLAGS += -lpthread
96 STATIC_LDFLAGS += -lpthread -lm
97 AR_OPTS = crD $@
98--
992.23.0
100
101