Package: gambas3
Version: 3.20.0-1
Severity: normal
Tags: patch ftbfs
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu plucky ubuntu-patch

Dear Maintainer,

gambas3 fails to build on 32-bit arm systems.

In Ubuntu, the attached patch was applied to achieve the following:

  * d/p/Fix-armhf-misalignment-issue.patch: add a patch to fix
    misalignment issue on armhf


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers oracular-updates
  APT policy: (500, 'oracular-updates'), (500, 'oracular-security'), (500, 
'oracular'), (100, 'oracular-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.11.0-13-generic (SMP w/10 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_CA:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru gambas3-3.20.0/debian/patches/Fix-armhf-misalignment-issue.patch 
gambas3-3.20.0/debian/patches/Fix-armhf-misalignment-issue.patch
--- gambas3-3.20.0/debian/patches/Fix-armhf-misalignment-issue.patch    
1969-12-31 17:00:00.000000000 -0700
+++ gambas3-3.20.0/debian/patches/Fix-armhf-misalignment-issue.patch    
2025-01-17 19:16:40.000000000 -0700
@@ -0,0 +1,19 @@
+Index: gambas3/main/share/gb_arch_temp.h
+===================================================================
+--- gambas3.orig/main/share/gb_arch_temp.h
++++ gambas3/main/share/gb_arch_temp.h
+@@ -120,7 +120,13 @@ static void load_arch(ARCH *arch, const
+       for (i = 0; i < arch->header.n_symbol; i++, sym++)
+       {
+               //arch->symbol[i].sym.sort = sym->sym.sort;
+-              arch->symbol[i].sym.len = sym->sym.len;
++#if __ARM_32BIT_STATE == 1
++              int sym_len = 0;
++              __builtin_memcpy(&sym_len, &sym->sym.len, sizeof(sym->sym.len));
++#else
++              int sym_len = sym->sym.len;
++#endif
++              arch->symbol[i].sym.len = sym_len;
+               arch->symbol[i].sym.name = (char *)(intptr_t)sym->sym.name;
+               arch->symbol[i].pos = sym->pos;
+               arch->symbol[i].len = sym->len;
diff -Nru gambas3-3.20.0/debian/patches/series 
gambas3-3.20.0/debian/patches/series
--- gambas3-3.20.0/debian/patches/series        2025-01-17 00:03:23.000000000 
-0700
+++ gambas3-3.20.0/debian/patches/series        2025-01-17 19:16:40.000000000 
-0700
@@ -3,3 +3,4 @@
 nonverbose_build.patch
 Fix-compilation-with-poppler-version-24.12.patch
 Fix-compilation-with-poppler-version-25.01.patch
+Fix-armhf-misalignment-issue.patch

Reply via email to