[Pkg-pascal-devel] armhf ABI flag problems with fpc-built binaries

Steve McIntyre steve at einval.com
Thu Jun 9 17:55:31 UTC 2016


Hi folks,

I'm one of the ARM porters, and I've recently run a scan of binaries
in the archive to check on the state of the binaries for armel and
armhf. As part of the ARM ABI, binaries (libraries and programs) are
expected to specify ELF flags to specify whether they're using the
hard-float or soft-float ABI (if they care specifically - some
don't). I've found a few fpc-using packages (both under your
maintenance and not) that appear to get this wrong, which suggests
that there might be a toolchain issue here in fpc and friends. My
scanner is telling me that the following armhf packages are broken:

doublecmd-plugins_0.7.1-2_armhf.deb        hf_flags_wrong:6
fp-compiler-3.0.0_3.0.0+dfsg-4_armhf.deb   hf_flags_wrong:4
fp-ide-3.0.0_3.0.0+dfsg-4_armhf.deb        hf_flags_wrong:1
fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb      hf_flags_wrong:28 no_hf_flags:2
gearhead_1.300-1_armhf.deb                 hf_flags_wrong:1
pasdoc_0.14.0-1_armhf.deb                  hf_flags_wrong:1

"hf_flags_wrong" here means that the package is targeting armhf, but
binaries within it claim to use the soft-float ABI. "no_hf_flags" is
the number of binaries that have no ABI float flags attached. To see
for yourself, you can use "readelf --file-header" to inspect the flags
on binaries - look for

  Flags:       0x5000202, has entry point, Version5 EABI, soft-float ABI

etc. armhf binaries should show

  Flags:       0x5000402, has entry point, Version5 EABI, hard-float ABI

instead. I'm not sure exactly where fpc would be setting flags like
this (if anywhere) or if it's calling binutils incorrectly maybe. Can
anybody help me dig into this please?

(See the attached list for details of the broken files.)

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
You raise the blade, you make the change... You re-arrange me 'til I'm sane...
-------------- next part --------------
hf_flags_wrong: doublecmd-plugins_0.7.1-2_armhf.deb/usr/lib/doublecmd/plugins/wdx/rpm_wdx/rpm_wdx.wdx:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: doublecmd-plugins_0.7.1-2_armhf.deb/usr/lib/doublecmd/plugins/wdx/deb_wdx/deb_wdx.wdx:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: doublecmd-plugins_0.7.1-2_armhf.deb/usr/lib/doublecmd/plugins/wcx/cpio/cpio.wcx:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: doublecmd-plugins_0.7.1-2_armhf.deb/usr/lib/doublecmd/plugins/wcx/deb/deb.wcx:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: doublecmd-plugins_0.7.1-2_armhf.deb/usr/lib/doublecmd/plugins/wcx/rpm/rpm.wcx:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: doublecmd-plugins_0.7.1-2_armhf.deb/usr/lib/doublecmd/plugins/dsx/dsxlocate/dsxlocate.dsx:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-compiler-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/grab_vcsa-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-compiler-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fpcres-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-compiler-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fpc-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-compiler-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/lib/fpc/3.0.0/ppcarm:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-ide-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fp-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/pas2ut-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fprcp-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/ppumove-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/ppudump-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/unitdiff-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/ppufiles-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/ppdep-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/ptop-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/chmls-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fd2pascal-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fpclasschart-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/plex-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/bin2obj-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/h2pas-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fpcmake-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/pas2jni-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/delp-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/h2paspp-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/makeskel-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/pyacc-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/ifpc-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/relpath-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/pas2fpm-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/postw32-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fpcjres-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/fpcsubst-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/rmcvsdir-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: fp-utils-3.0.0_3.0.0+dfsg-4_armhf.deb/usr/bin/data2inc-3.0.0:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: gearhead_1.300-1_armhf.deb/usr/games/gearhead:   Flags:                             0x5000200, Version5 EABI, soft-float ABI
hf_flags_wrong: mricron_0.20140804.1~dfsg.1-1_armhf.deb/usr/bin/dcm2nii:   Flags:                             0x5000202, has entry point, Version5 EABI, soft-float ABI
hf_flags_wrong: pasdoc_0.14.0-1_armhf.deb/usr/bin/pasdoc:   Flags:                             0x5000202, has entry point, Version5 EABI, soft-float ABI


More information about the Pkg-pascal-devel mailing list