Package: libgcc1 Version: 1:10-20200202-1 Severity: serious Upgrading libgcc1 to version >= 10 on a system breaks gcc-7, gcc-8 and gcc-9 when using the gold linker, as gcc passes the wrong path to the libgcc_s.so.1 library. All architectures are affected, example on amd64, starting from a bullseye chroot:
| $ gcc -fuse-ld=gold -o hello hello.c | $ sudo apt-get install libgcc1 | Reading package lists... Done | Building dependency tree | Reading state information... Done | The following additional packages will be installed: | gcc-10-base libgcc-s1 | The following NEW packages will be installed: | gcc-10-base libgcc-s1 | The following packages will be upgraded: | libgcc1 | 1 upgraded, 2 newly installed, 0 to remove and 87 not upgraded. | Need to get 278 kB of archives. | After this operation, 381 kB of additional disk space will be used. | Do you want to continue? [Y/n] | Get:1 http://localhost:3142/debian sid/main amd64 gcc-10-base amd64 10-20200202-1 [195 kB] | Get:2 http://localhost:3142/debian sid/main amd64 libgcc-s1 amd64 10-20200202-1 [41.6 kB] | Get:3 http://localhost:3142/debian sid/main amd64 libgcc1 amd64 1:10-20200202-1 [41.6 kB] | Fetched 278 kB in 0s (25.7 MB/s) | debconf: delaying package configuration, since apt-utils is not installed | Selecting previously unselected package gcc-10-base:amd64. | (Reading database ... 35349 files and directories currently installed.) | Preparing to unpack .../gcc-10-base_10-20200202-1_amd64.deb ... | Unpacking gcc-10-base:amd64 (10-20200202-1) ... | Setting up gcc-10-base:amd64 (10-20200202-1) ... | Selecting previously unselected package libgcc-s1:amd64. | (Reading database ... 35355 files and directories currently installed.) | Preparing to unpack .../libgcc-s1_10-20200202-1_amd64.deb ... | Unpacking libgcc-s1:amd64 (10-20200202-1) ... | Setting up libgcc-s1:amd64 (10-20200202-1) ... | (Reading database ... 35358 files and directories currently installed.) | Preparing to unpack .../libgcc1_1%3a10-20200202-1_amd64.deb ... | Unpacking libgcc1 (1:10-20200202-1) over (1:9.2.1-25) ... | Setting up libgcc1 (1:10-20200202-1) ... | Processing triggers for ccache (3.7.7-1) ... | Updating symlinks in /usr/lib/ccache ... | Processing triggers for libc-bin (2.29-9) ... | $ gcc -fuse-ld=gold -o hello hello.c | /usr/bin/ld.gold: error: cannot open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so.1: No such file or directory | /usr/bin/ld.gold: error: cannot open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so.1: No such file or directory | collect2: error: ld returned 1 exit status | $ In turns this causes many autopktest failures: https://ci.debian.net/data/autopkgtest/testing/amd64/d/deal.ii/4202144/log.gz https://ci.debian.net/data/autopkgtest/testing/amd64/g/ghc/4202362/log.gz https://ci.debian.net/data/autopkgtest/testing/amd64/h/haskell-hgettext/4202485/log.gz https://ci.debian.net/data/autopkgtest/testing/amd64/h/haskell-hopenpgp/4202487/log.gz libgcc-s1 probably misses a Break: against the older gcc-X versions.