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

Bug#1019166: pd-lib-builder: bogus build-flags on armel and armhf



Package: pd-lib-builder
Version: 0.6.0-2
Severity: important

Dear Maintainer,

pd-lib-builder adds some optimization flags, depending on which target
architecture it detects.
unfortunately there are a couple of flaws:

- armv6 is detected with 'ifeq ($(shell uname), armv6l)' which i think cannot
  work at all (instead if should call $(shell uname -m)
- this obviously fails when cross-compiling, and is not overridable
- the other check for arm ('ifeq ($(target.arch), arm)') is also too generic,
  as it will wrongly match the 'armel' architecture (presumable *also* because
  of the broken uname-check above), which does not like the '-mfloat-abi=hard'
  flag and will fail (when including pthread.h) with 
  > fatal error: gnu/stubs-hard.h: No such file or directory
- it seems that it also breaks on 'armhf', as the resulting binaries throw a
  bus-error...

the full optimization flags injected for "arm" (as found in the GNU-triplet)
are '-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard'


probably we could use the following to narrow down the arm-architecture:
> gcc -march=native -Q --help=target|egrep "^[[:space:]]*-march="

this gives on the armdahl.debian.org:
| Debian architecture | -march     |
|---------------------|------------|
| armel               | armv5te    |
| armhf               | armv7-a+fp |
| arm64               | armv8-a    |

or simply use some combination of DEB_HOST_ARCH, `dpkg-architecture
-qDEB_HOST_ARCH` and `dpkg --print-architecture`.

-- System Information:
Debian Release: bookworm/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.18.0-3-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages pd-lib-builder depends on:
ii  puredata-dev  0.52.2+ds0-1+exp1

pd-lib-builder recommends no packages.

pd-lib-builder suggests no packages.

-- no debconf information


Reply to: