From 4e15b8b485b5289542b9a22491401bd604f7a57e Mon Sep 17 00:00:00 2001 From: wu-leilei Date: Tue, 6 Jun 2023 16:55:59 +0800 Subject: [PATCH] Add PIE flags (cherry picked from commit be8f735cb41d5730517cd0c4007ec4d0a857565d) --- festival.spec | 7 +++++- fix-add-the-compilation-option-pie.patch | 32 ++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 fix-add-the-compilation-option-pie.patch diff --git a/festival.spec b/festival.spec index 062fa03..3167a4d 100644 --- a/festival.spec +++ b/festival.spec @@ -1,6 +1,6 @@ Name: festival Version: 1.96 -Release: 45 +Release: 46 Summary: Festival Speech Synthesis System License: MIT and GPL+ and TCL URL: http://www.cstr.ed.ac.uk/projects/festival/ @@ -58,6 +58,7 @@ Patch100: Fix-festival-gcc10.patch Patch101: CVE-2010-3996-festival-no-LD_LIBRARY_PATH-extension.patch Patch102: CVE-2010-3996-festival-safe-temp-file.patch Patch103: CVE-2010-3996-speech_tools-no-LD_LIBRARY_PATH-extension.patch +Patch104: fix-add-the-compilation-option-pie.patch BuildRequires: gcc gcc-c++ pulseaudio-libs-devel texi2html ncurses-devel Requires(post): /sbin/ldconfig @@ -173,6 +174,7 @@ done %patch101 -p1 %patch102 -p1 %patch103 -p1 +%patch104 -p1 rm festdoc-%{docversion}/speech_tools/doc/index_html.jade rm festdoc-%{docversion}/speech_tools/doc/tex_stuff.jade @@ -356,6 +358,9 @@ fi %{_mandir}/man1/* %changelog +* Tue Jun 06 2023 wu lei - 1.96-46 +- Add PIE flags + * Tue Mar 15 2022 yaoxin - 1.96-45 - Fix CVE-2010-3996 diff --git a/fix-add-the-compilation-option-pie.patch b/fix-add-the-compilation-option-pie.patch new file mode 100644 index 0000000..7e0e90a --- /dev/null +++ b/fix-add-the-compilation-option-pie.patch @@ -0,0 +1,32 @@ +diff -Nur a/speech_tools/main/Makefile b/speech_tools/main/Makefile +--- a/speech_tools/main/Makefile 2023-06-06 14:34:57.288951580 +0800 ++++ b/speech_tools/main/Makefile 2023-06-06 15:17:39.448951580 +0800 +@@ -94,7 +94,7 @@ + $(CXX_COMMAND) -o $@ -DESTLIBDIR=\"$(EST_HOME)/lib\" $($*_SRC) + + $(ALL_EXECS) : % : $(LIBDEPS) %_main.o +- $(strip $(LINK_COMMAND) -o $@ $@_main.o $(LIBS) $($(@:=_LIBS))) ++ $(strip $(LINK_COMMAND) -fPIE -Wl,-pie -o $@ $@_main.o $(LIBS) $($(@:=_LIBS))) + + .make_execs : $(ALL_EXECS) + +diff -Nur a/src/main/Makefile b/src/main/Makefile +--- a/src/main/Makefile 2023-06-06 14:34:57.216951580 +0800 ++++ b/src/main/Makefile 2023-06-06 15:14:54.948951580 +0800 +@@ -50,13 +50,13 @@ + ETCDIR=$(TOP)/lib/etc/$(SYSTEM_TYPE) + + festival: festival_main.o $(LIBDEPS) +- $(LINK_COMMAND) -o festival festival_main.o $(LIBS) ++ $(LINK_COMMAND) -fPIE -Wl,-pie -o festival festival_main.o $(LIBS) + + festival_client: festival_client.o $(REQUIRED_LIBDEPS) +- $(LINK_COMMAND) -o festival_client festival_client.o $(LIBS) ++ $(LINK_COMMAND) -fPIE -Wl,-pie -o festival_client festival_client.o $(LIBS) + + $(ETCDIR)/audsp: $(ETCDIR)/.made audsp.o $(LIBDEPS) +- $(LINK_COMMAND) -o $(ETCDIR)/audsp audsp.o $(LIBS) ++ $(LINK_COMMAND) -fPIE -Wl,-pie -o $(ETCDIR)/audsp audsp.o $(LIBS) + + # Can't just rely on the dir as it gets updated with new files + # check for the data of a file created in etcdir