[Pkg-pascal-devel] Bug#695547: armhf ABI flag problems with fpc-built binaries

peter green plugwash at p10link.net
Tue Jun 14 15:25:14 UTC 2016


On 09/06/16 18:55, Steve McIntyre wrote:
> 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.)
>    
Most likely the place to start in the fpc code is compiler/arm/agarmgas.pas

If someone can tell me what needs to be done at an assembler level I can 
look into making fpc do it. (unfortunately infinity's paste referenced 
in the bug report has expired).



More information about the Pkg-pascal-devel mailing list