Skip to contentSkip to conversation

espeak: fix build on sparc64

PATCH New Thomas Petazzoni 3 participants 4 messages Nov 27, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 espeak: fix build on sparc64

sparc64 needs object files to be built with -fPIC in order to be usable in shared libraries, otherwise the shared library cannot be created.

Fixes:

http://autobuild.buildroot.org/results/8b8/8b894f0bd42c18e7cda98c15480757f10d743423/

---
 ...f-shared-library-on-architectures-needing.patch | 31 ++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 package/espeak/0001-Fix-build-of-shared-library-on-architectures-needing.patch
package/espeak/0001-Fix-build-of-shared-library-on-architectures-needing.patch new file +31 -0
new file mode 100644
index 0000000..2590e15
@@ -0,0 +1,31 @@
+From 08a464e2b6bd31bb2bf4e258ebfa9b9d65805abf Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <[email protected]>
+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 <[email protected]>
+---
+ 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
+
Signature · 1 line
2.6.3
#1 lore raw

PATCH 1/1 espeak: fix build on sparc64

Quoted 7 lines · Thomas Petazzoni

sparc64 needs object files to be built with -fPIC in order to be usable in shared libraries, otherwise the shared library cannot be created.

Fixes:

   http://autobuild.buildroot.org/results/8b8/8b894f0bd42c18e7cda98c15480757f10d743423/

Hi.
I wonder if all these sparc fixes wouldn't be better suited for the wrapper, after all -fpic in sparc is generally useless, and try to handle these upstream would be a PITA.
Regards.

#2 lore raw

PATCH 1/1 espeak: fix build on sparc64

Gustavo,

Quoted 3 lines · Gustavo Zacarias

I wonder if all these sparc fixes wouldn't be better suited for the wrapper, after all -fpic in sparc is generally useless, and try to handle these upstream would be a PITA.

This is indeed another possibility. Generally speaking, I am not a huge fan of hiding too much magic/sorcery in the wrapper. But it's already a big amount of black magic, so a little bit more or less maybe does not hurt that much.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/1 espeak: fix build on sparc64

In reply to Thomas Petazzoni
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

sparc64 needs object files to be built with -fPIC in order to be usable in shared libraries, otherwise the shared library cannot be created.

Fixes:

http://autobuild.buildroot.org/results/8b8/8b894f0bd42c18e7cda98c15480757f10d743423/

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard