Your message dated Fri, 18 Dec 2015 14:46:18 +0100
with message-id <20151218134618.gn8...@aurel32.net>
and subject line Re: Bug#808181: libc6: Upgrade can make the linker unusable
has caused the Debian Bug report #808181,
regarding libc6: Unrecognized relocation when compiling
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
808181: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808181
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.21-4
Severity: important
Dear Maintainer,
When attempting to compile a simple C program, the link stage fails with an
unrecognized relocation error.
This problem seems to have appeared in the latest version, 2.21-4 (and is also
present in 2.22-0experimental which I tested before submitting); it was not
present in 2.19-22 which I was using prior to tonight. When using 2.19-22
(pinned to that version after installing the package from a CD), it works
normally. When upgraded, it fails as per below.
The problem manifested in a much more complicated build process, but I can
duplicate it with a program as simple as this:
#include <stdio.h>
int main() {
fprintf(stdout, "Hello, world.\n");
return(0);
}
When compiling, the following error happens:
$ gcc hello.c -o hello
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o:
unrecognized relocation (0x2a) in section `.init'
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
The expected behavior is for the program to compile normally without error.
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.2.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libc6 depends on:
ii libgcc1 1:5.2.1-23
libc6 recommends no packages.
Versions of packages libc6 suggests:
ii debconf [debconf-2.0] 1.5.58
pn glibc-doc <none>
ii libc-l10n 2.22-0experimental1
ii locales 2.21-4
-- debconf information:
glibc/disable-screensaver:
glibc/restart-services:
glibc/kernel-not-supported:
* libraries/restart-without-asking: true
glibc/restart-failed:
glibc/upgrade: true
glibc/kernel-too-old:
--- End Message ---
--- Begin Message ---
On 2015-12-17 11:10, Aurelien Jarno wrote:
> reassign 808181 libc6-dev
> reassign 808205 libc6-dev
> forcemerge 808181 808205
> forcemerge 808181 808206
> severity 808181 serious
> thanks
>
> On 2015-12-16 23:36, Aurelien Jarno wrote:
> > On 2015-12-16 13:15, Dima Kogan wrote:
> > > Package: libc6
> > > Severity: normal
> > >
> > > Hi. I had
> > >
> > > libc6 = 2.19-22
> > > binutils = 2.25-4
> > >
> > > and all was well. Then I upgraded to libc6 = 2.21-4 (currently latest in
> > > sid). As a result, even the most basic build-time linking would fail.
> > > For instance, with a trivial hello-world program:
> > >
> > > $ gcc-5 -o tst tst.c
> > >
> > > /usr/bin/ld:
> > > /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o:
> > > unrecognized relocation (0x2a) in section `.init'
> > > /usr/bin/ld: final link failed: Bad value
> > > collect2: error: ld returned 1 exit status
> > >
> > > This would happen with gcc-5 and with gcc-4.9. Downgrading libc6 would
> > > fix it. After some fiddling I realized that upgrading to binutils =
> > > 2.25.90.20151209-1 (currently latest in sid) fixes it. I.e. with the
> > > latest libc6 and the latest binutils packages things work.
> >
> > The problem is not introduced by the glibc, but just by the fact that
> > it has been built with a recent binutils version which adds new
> > relocation types on i386 and amd64. This means that ALL static libraries
> > are affected by this problem.
> >
> > > Can the broken combination be prevented with some Conflicts: tags?
> > > Currently this is a trap for the unwary.
> >
> > I therefore don't think we need to fix that at the glibc level. Either
> > we just ignore the problem saying we don't support partial upgrades or
> > we try to find a global way to fix the dependencies for all libraries.
>
> We are working to migrate binutils version 2.25.90.20151209-1 into
> testing asap. If everything goes well it should be the case after the
> 13:52 UTC dinstall run, so a few hours after that on the mirrors.
binutils version 2.25.90.20151209-1 is now in testing, I am therefore
closing the bug.
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net
--- End Message ---