summaryrefslogtreecommitdiff
path: root/pcr/pjproject/arm-build.patch
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2019-01-08 16:50:16 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2019-01-08 19:54:05 +0100
commit77b12b7a8bc5e704dacedfd0bc95a78fb7034b79 (patch)
tree2251aafa8435183514109c7dc3e128270965cb6d /pcr/pjproject/arm-build.patch
parentaf6a93922eb42bb02fee64165e4e5ab8d69966b9 (diff)
downloadabslibre-77b12b7a8bc5e704dacedfd0bc95a78fb7034b79.tar.gz
abslibre-77b12b7a8bc5e704dacedfd0bc95a78fb7034b79.tar.bz2
abslibre-77b12b7a8bc5e704dacedfd0bc95a78fb7034b79.zip
pcr/pjproject: update to 2.8 and fix illegal instructions
This is based on the PKGBUILD available on aur here: https://aur.archlinux.org/pjproject.git Before this package was built with -march=native, so if you build it on a machine with a processor that supports avx (Advanced Vector Extensions), libpjsip.so.2 ended up with vpxor instructions that were also executed on machines with a processor that did not have such extension, which resulted in an illegal instruction at asterisk startup. libwebrtc is disabled in order not to require sse2 on i686: - Parabola's minimum system requirements states that: "Parabola GNU/Linux-libre should run on any i686 compatible machine [...]" - Wikipedia states that i686 has MMX and SSE[2] - The Asterisk Changelog has the following: "pjproject_bundled: Add --disable-libwebrtc to configure Without the disable, pjproject tries to build it's internal webrtc implementation which requires sse2. This fails on platforms without sse2." - In package(), a trailing '*' was added to pjsip-apps/bin/pjsua-*gnu in order to catch binaries like pjsip-apps/bin/pjsua-armv7l-unknown-linux-gnueabihf on ARM. The package build was tested on x86_64, i686 and armv7h. On x86_64 I verified that libpjsip.so.2 did not have vpxor instructions anymore with objdump -D libpjsip.so.2 | grep vpxor References: ----------- [1]https://wiki.parabola.nu/Beginners%27_Guide [2]https://en.wikipedia.org/wiki/P6_(microarchitecture) Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'pcr/pjproject/arm-build.patch')
-rw-r--r--pcr/pjproject/arm-build.patch53
1 files changed, 0 insertions, 53 deletions
diff --git a/pcr/pjproject/arm-build.patch b/pcr/pjproject/arm-build.patch
deleted file mode 100644
index 06dde3493..000000000
--- a/pcr/pjproject/arm-build.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -ur pjproject-2.6.orig/aconfigure pjproject-2.6/aconfigure
---- pjproject-2.6.orig/aconfigure 2017-01-25 11:23:08.000000000 +0000
-+++ pjproject-2.6/aconfigure 2017-05-03 21:41:34.657154786 +0000
-@@ -8494,7 +8494,15 @@
- ac_webrtc_cflags="-msse2"
- ;;
- *win32* | *w32* | *darwin* | *linux*)
-- ac_webrtc_instset=sse2
-+ case $target in
-+ armv7l*gnueabihf)
-+ ac_webrtc_instset=neon
-+ ac_webrtc_cflags="-DWEBRTC_ARCH_ARMV7 -mfloat-abi=hard -mfpu=neon"
-+ ;;
-+ *)
-+ ac_webrtc_instset=sse2
-+ ;;
-+ esac
- ;;
- *)
- ;;
-diff -ur pjproject-2.6.orig/aconfigure.ac pjproject-2.6/aconfigure.ac
---- pjproject-2.6.orig/aconfigure.ac 2017-01-25 11:23:08.000000000 +0000
-+++ pjproject-2.6/aconfigure.ac 2017-05-03 21:42:41.686846516 +0000
-@@ -1840,7 +1840,15 @@
- ac_webrtc_cflags="-msse2"
- ;;
- *win32* | *w32* | *darwin* | *linux*)
-- ac_webrtc_instset=sse2
-+ case $target in
-+ armv7l*gnueabihf)
-+ ac_webrtc_instset=neon
-+ ac_webrtc_cflags="-DWEBRTC_ARCH_ARMV7 -mfloat-abi=hard -mfpu=neon"
-+ ;;
-+ *)
-+ ac_webrtc_instset=sse2
-+ ;;
-+ esac
- ;;
- *)
- ;;
-diff -ur pjproject-2.6.orig/third_party/build/os-auto.mak.in pjproject-2.6/third_party/build/os-auto.mak.in
---- pjproject-2.6.orig/third_party/build/os-auto.mak.in 2016-12-22 09:33:55.000000000 +0000
-+++ pjproject-2.6/third_party/build/os-auto.mak.in 2017-05-03 21:25:48.151562278 +0000
-@@ -104,8 +104,7 @@
- else # Generic fixed point
- WEBRTC_SRC = \
- modules/audio_processing/aecm/aecm_core_c.o \
-- modules/audio_processing/ns/nsx_core_c.o \
-- common_audio/signal_processing/complex_fft.o
-+ modules/audio_processing/ns/nsx_core_c.o
- endif
- endif
- endif