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

Re: Status of dpkg-shlibdeps tracking ARM object linkage ABI mismatches



Hi,

On 2023-06-27 03:16, Emanuele Rocca wrote:
> On 2023-06-15 11:21, Guillem Jover wrote:
> > AFAIR there was also the case of objects being annotated with
> > Tag_ABI_VFP_args but not with either of the ABI hard or soft float
> > flags.
> 
> Indeed, there are 1 armel and 91 armhf binary packages shipping ELF
> files without float flags (hard or soft) but with TAG_ABI_VFP_ARGS.
> 
> Examples:
> 
>  gcc-arm-none-eabi_12.2.rel1-1_armel.deb ./usr/lib/gcc/arm-none-eabi/12.2.1/arm/v5te/hard/crtbegin.o 0x5000000: Version5 EABI TAG_ABI_VFP_ARGS
> 
>  clisp-module-fastcgi_2.49.20210628.gitde01f0f-3_armhf.deb ./usr/lib/clisp-2.49.93+/fastcgi/fastcgi.o 0x5000000: Version5 EABI TAG_ABI_VFP_ARGS

It turns out that the above is correct. The hard/soft flag is set by the
linker only on executables or shared libraries, not on relocatable
objects (such as the ones above generated by gcc -c).

Different relocatable objects, when linked together, may have different
build attributes. They could even be conflicting (eg: hard-float with
soft-float) and lead to linker errors such as:

 ld: error: b.o uses VFP register arguments, a.out does not

Bottom-line, I should exclude relocatable objects from my analysis and
only consider final, linked images.


Reply to: