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

Bug#1027750: libass: fix x86 assembly on Hurd



Source: libass
Version: 1:0.17.0-2
Severity: wishlist

Hi!

reenabling assembly for i386 packages with the 0.17.0 upgrade
lead to package build errors on Hurd, because our configuration
logic didn't know how to configure the assembler on GNU Hurd.
This was fixed upstream in
  https://github.com/libass/libass/commit/a943ef542e72e849dc0c1047465e0506781374b5

There are no plans for a new upstream release (yet), but a backport of the
fix applying cleanly on the 0.17.0 tarball (some whitespace changes were
needed) is attached if you want to use it for the meantime.

Cheers

Oneric
From 842e77f9347cd6eba4d40736ea47db635b45a6a7 Mon Sep 17 00:00:00 2001
From: Oneric <oneric@oneric.stub>
Date: Sun, 1 Jan 2023 15:51:36 +0100
Subject: [PATCH] configure: support x86 assembly on GNU Hurd

Hurd too uses ELF and 16-byte stack alignment
just like Linux and many other Unix-likes.

Supposedly its host triplet can include a version number at the end.
Without getting more specific about how a version number is allowed to
look like, checking for *-gnu* overlaps with X32's -gnux32 suffix which
is present on non-Hurd systems.
Linux is the only X32 platform I know about and it uses an identical
configuration to GNU Hurd, so this shouldn't be a problem. Though to be
safe, let's move the case with *-gnu* at the end, to ensure if there's
a "-gnux32"-like suffix on any non-Linux, non-Hurd system it will match
the proper host regex before seeing Hurd's *-gnu* pattern.

Thanks to youpi1 for advice about Hurd and testing.

Backported from upstream a943ef542e72e849dc0c1047465e0506781374b5
---
 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 28dc3b7..77bd7b6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -274,9 +274,6 @@ AS_IF([test "x$enable_asm" != xno], [
                 [*darwin*], [
                     ASFLAGS="$ASFLAGS -f macho$BITTYPE -DPREFIX -DSTACK_ALIGNMENT=16"
                 ],
-                [*linux*|*solaris*|*haiku*], [
-                    ASFLAGS="$ASFLAGS -f elf$BITTYPE -DSTACK_ALIGNMENT=16"
-                ],
                 [*dragonfly*|*bsd*], [
                     ASFLAGS="$ASFLAGS -f elf$BITTYPE"
                 ],
@@ -286,6 +283,9 @@ AS_IF([test "x$enable_asm" != xno], [
                         ASFLAGS="$ASFLAGS -DPREFIX"
                     ])
                 ],
+                [*linux*|*solaris*|*haiku*|*-gnu*], [
+                    ASFLAGS="$ASFLAGS -f elf$BITTYPE -DSTACK_ALIGNMENT=16"
+                ],
                 [ # default
                     AC_MSG_ERROR(m4_text_wrap(m4_normalize([
                             Please contact libass upstream to figure out if ASM
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


Reply to: