pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/57274: libass package doesn't use optimised assembly



On Sat, Mar 18, 2023 at 19:10:02 +0000, Joerg Sonnenberger wrote:
>  Am Thu, Mar 16, 2023 at 05:15:00PM +0000 schrieb oneric%oneric.de@localhost:
>  > By disabling replacement of libtool pkgsrc builds work as well; see changes below.
>  
>  Sounds worse than not using assembler. How much time is spend in a
>  subtitle renderer anyway?

Potentially a lot of time. ASS supports and is used for complex
typesetting, with many simultaneous events, animations and blur.
That’s why there is assembly in the first place (in git master now
also for aarch64; this doesn't use NASM though).

Good news however, with some more testing I was able to find out what’s
leading to the error: with replaced-libtool pkgsrc builds try to pass
`-pie` to NASM which the latter does not understand and is not converted
by libass’ ltnasm.sh.
In manual builds from git (i.e. using the libtool installed from pkgsrc!)
this does not happen and everything builds fine.

libass patch to workaround this without disabling libtool-override down
below. I should probably also relay this upstream. Do you know why -pie
shows up only when pkgsrc replaces libtool? Is this specific to
pkgsrc-builds or could it also happen elsewhere?


diff --git a/ltnasm.sh b/ltnasm.sh
index 92c3c42..e209363 100755
--- a/ltnasm.sh
+++ b/ltnasm.sh
@@ -19,7 +19,7 @@ while [ "$#" -gt 0 ] ; do
         # C-compiler options will always use the latter.
         -f) cmd="$cmd $1" ;;
         -f*) : ;;
-        -DPIC) cmd="$cmd -DPIC=1" ;;
+        -DPIC|-pie) cmd="$cmd -DPIC=1" ;;
         *) cmd="$cmd $1" ;;
     esac
     shift

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index