Control: severity -1 minor
Control: retitle -1 dpkg-gensymbols: Add error for invalid symver entries

On Thu, 2021-09-09 at 14:34:21 +0200, Matthias Klose wrote:
> Package: src:dpkg
> Version: 1.20.9
> Severity: important

> seen with the gcc-11 builds on alpha:
> 
> https://buildd.debian.org/status/fetch.php?pkg=gcc-11&arch=alpha&ver=11.2.0-4&stamp=1630683098&raw=0

> --- debian/libgcc-s1.symbols (libgcc-s1_11.2.0-4_alpha)
> +++ dpkg-gensymbolsQxYQ2t       2021-09-03 14:39:28.376544513 +0000
> @@ -18,6 +18,10 @@
>   (symver|arch=any-amd64 any-i386 x32)GCC_4.8.0 4.8
>   (symver)GCC_7.0.0 7
>   (symver|arch=sparc)GCC_LDBL_3.0@GCC_LDBL_3.0 3.0
> - (symver|arch=alpha sparc)GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 4.0
> + GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 11.2.0-4
> +#MISSING: 11.2.0-4# (symver|arch=alpha sparc)GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 
> 4.0
>   (symver|arch=!any-amd64 !x32 !sparc64 !s390x !sh4)GLIBC_2.0 4.2
>   (symver|arch=s390x sh4 sparc64)GLIBC_2.2 4.2
> + __divtc3@GCC_LDBL_4.0.0 11.2.0-4
> + __multc3@GCC_LDBL_4.0.0 11.2.0-4
> + __powitf2@GCC_LDBL_4.0.0 11.2.0-4
> dh_makeshlibs: error: failing due to earlier errors
> 
> The symbols file looks correct, I don't know why dpkg-gensymbols doesn't
> recognize this symver. There are no trailing spaces in this symbols file.

The symver entries are not correct. They need to include only the
version part of the pattern not the symbol name, so:

 (symver|arch=sparc)GCC_LDBL_3.0 3.0
 (symver|arch=alpha sparc)GCC_LDBL_4.0.0 4.0

I've now added an explicit check for this kind of error, which will
print something like:

 dpkg-gensymbols: error: you cannot use symver tag with fully qualified symbol 
pattern:  (symver|arch=sparc)GCC_LDBL_3.0@GCC_LDBL_3.0 3.0

Thanks,
Guillem

Reply via email to