espeak: Add -fPIC to CFLAGS needed on some arches with security flags on

Update the narrowing fix patches from Fedora

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2018-08-23 10:15:59 -07:00
parent 093ab607ca
commit 62489d5a61
5 changed files with 46 additions and 58 deletions
@@ -14,7 +14,7 @@ do_compile() {
sed -i '/^ *CC *=/d' Makefile
sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c
oe_runmake
./espeak-phoneme-data "${S}/espeak-data"
./espeak-phoneme-data "${S}/espeak-data" "." "${S}/espeak-data/phondata-manifest"
cp -f phondata phonindex phontab "${S}/espeak-data"
}
+2 -1
View File
@@ -4,7 +4,8 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
SRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \
file://gcc-narrowing-warning-fix.patch \
file://0001-Fix-build-of-shared-library-on-architectures-needing.patch \
file://espeak-1.48-gcc-6-fix.patch \
"
SRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3"
SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659"
@@ -0,0 +1,31 @@
From 08a464e2b6bd31bb2bf4e258ebfa9b9d65805abf Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Fri, 27 Nov 2015 15:17:02 +0100
Subject: [PATCH] Fix build of shared library on architectures needing -fPIC
Certain architectures, like Sparc and Sparc64 require objects to be
built with -fPIC (and not just -fpic) to be usable in shared
libraries. On other architectures, -fPIC is the same as -fpic so this
patch doesn't affect such architectures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
src/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
index 95fe549..c293611 100755
--- a/src/Makefile
+++ b/src/Makefile
@@ -110,7 +110,7 @@ $(BIN2_NAME): $(OBJS3) $(LIB_NAME)
x_%.o: %.cpp
- $(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -fpic -fvisibility=hidden -pedantic \
+ $(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -fPIC -fvisibility=hidden -pedantic \
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o
$(LIB_NAME): $(OBJS2)
--
2.6.3
@@ -0,0 +1,12 @@
diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp
--- a/src/tr_languages.cpp
+++ b/src/tr_languages.cpp
@@ -198,7 +198,7 @@ static const unsigned short chars_ignore_zwnj_hyphen[] = {
0x200d, 1, // zero width joiner
0, 0 };
-const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
+const char string_ordinal[] = {'\xc2','\xba',0}; // masculine ordinal character, UTF-8
static Translator* NewTranslator(void)
@@ -1,56 +0,0 @@
From f09c83640b9173552fd9277c3a48619b903fa436 Mon Sep 17 00:00:00 2001
From: "Reece H. Dunn" <msclrhd@gmail.com>
Date: Wed, 20 Jan 2016 20:48:29 +0000
Subject: [PATCH] Fix GCC -Wnarrowing warnings.
---
src/tr_languages.cpp | 7 ++++---
src/translate.h | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
Index: espeak-1.48.04-source/src/tr_languages.cpp
===================================================================
--- espeak-1.48.04-source.orig/src/tr_languages.cpp
+++ espeak-1.48.04-source/src/tr_languages.cpp
@@ -198,8 +198,8 @@ static const unsigned short chars_ignore
0x200d, 1, // zero width joiner
0, 0 };
-const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
-
+const unsigned char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
+const unsigned char utf8_null[] = { 0 }; // null string, UTF-8
static Translator* NewTranslator(void)
{//===================================
@@ -296,7 +296,7 @@ static const char transpose_map_latin[]
tr->langopts.replace_chars = NULL;
tr->langopts.ascii_language[0] = 0; // Non-Latin alphabet languages, use this language to speak Latin words, default is English
tr->langopts.alt_alphabet_lang = L('e','n');
- tr->langopts.roman_suffix = "";
+ tr->langopts.roman_suffix = utf8_null;
SetLengthMods(tr,201);
// tr->langopts.length_mods = length_mods_en;
@@ -758,7 +758,7 @@ Translator *SelectTranslator(const char
tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ROMAN | NUM_ROMAN_ORDINAL;
tr->langopts.numbers2 = NUM2_ORDINAL_NO_AND;
- tr->langopts.roman_suffix = string_ordinal;
+ tr->langopts.roman_suffix = utf8_null;
}
else
if(name2 == L_pap)
Index: espeak-1.48.04-source/src/translate.h
===================================================================
--- espeak-1.48.04-source.orig/src/translate.h
+++ espeak-1.48.04-source/src/translate.h
@@ -545,7 +545,7 @@ typedef struct {
int decimal_sep;
int max_digits; // max number of digits which can be spoken as an integer number (rather than individual digits)
const char *ordinal_indicator; // UTF-8 string
- const char *roman_suffix; // add this (ordinal) suffix to Roman numbers (LANG=an)
+ const unsigned char *roman_suffix; // add this (ordinal) suffix to Roman numbers (LANG=an)
// bit 0, accent name before the letter name, bit 1 "capital" after letter name
int accents;