|
This is based on the PKGBUILD available on aur here:
https://aur.archlinux.org/asterisk.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.
Though for some reason, with this patch, building asterisk on a
machine with avx still results in res_pjsip_send_to_voicemail.so
having one vpxor instruction.
Hopefully even with that, asterisk can still start.
Changes from the aur PKGBUILD:
- Parabola's change to always depend on pjproject was kept
- Native builds were disabled by using the ChangeLog documentation:
"Those who need different -march= values, please, go for
./configure
make menuselect.makeopts or make menuselect
./menuselect/menuselect --disable BUILD_NATIVE"
Without that the build machine processor
- 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 package build was tested on x86_64, i686 and armv7h.
On x86_64 I verified that most asterisk ELF files did not
have vpxor instructions anymore with:
$ pacman -Q -l asterisk | \
awk '{print $2}' | xargs file | grep ELF | \
sed 's#:.*##' | xargs objdump -D | grep vpxor
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|