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

Emanuele Rocca <[email protected]>
Newsgroups gmane.linux.debian.devel.dpkg.general,gmane.linux.debian.ports.arm
Message-ID <ZMzx0vpStApkxzlQ@ariel>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.