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

Re: Problems with linker on Alpha

On 04/30/2011 07:25 PM, Michael Cree wrote:
> First off is bug 12608 [1] which I believe I have identified the
> problem and have posted a patch to the bug tracker.  I am hoping that
> if it is acceptable that you can commit it.

I'll have a look.

> Secondly, I noted a number of test suite failures in the ld component
> while building binutils.  Some of them are with plugins which might
> explain why bugs/crashes seem to randomly appear and disappear with
> larger software packages using plugins. I would like to investigate
> the test suite failures but am yet to understand the automated system
> using expect and isolate each test so that I can run them manually.
> Are you able to give me a bit of guidance on that?

"Large number"?  I get

                === binutils Summary ===

# of expected passes            81
# of unsupported tests          2
Host   is x86_64-unknown-linux-gnu

                === gas Summary ===

# of expected passes            132
# of expected failures          1
# of unsupported tests          1
Host   is x86_64-unknown-linux-gnu

                === ld tests ===

Running target alpha-qemu
FAIL: plugin claimfile lost symbol
FAIL: plugin claimfile replace symbol
FAIL: plugin claimfile resolve symbol
XPASS: Preserve default . = 0
XPASS: Preserve explicit . = 0

                === ld Summary ===

# of expected passes            278
# of unexpected failures        3
# of unexpected successes       2
# of expected failures          7

That plugin test, as far as I know, isn't system specific and fails
for all targets.

> Thirdly, a number of large C++ programs (such as firefox/xulrunner,
> webkit, libreoffice) bomb out with GPREL16 relocation truncation
> errors when using the -relax option but link successfully when using
> --no-relax.  I have reopened bug 5276 [2] which describes this
> problem.  It would be nice to get this problem fixed!

Yeah.  Uros just reported this same problem with gcc itself.

Also, I'm aware of an ld -relax bug that causes the Linux kernel
to be mis-compiled.  Thankfully at the moment the default is to
not apply relaxation during the kernel link.

> Fourthly, the Debian supplied gcc-4.6 fails to build on Debian
> because of a boostrap comparison failure, so I attempted to build
> upstream gcc-4.6 branch source which got past the bootstrap
> comparison but failed later on with the following error:
> /usr/bin/ld: BFD (GNU Binutils for Debian) internal error, aborting at ../../bfd/elf64-alpha.c line 2064 in elf64_alpha_gc_sweep_hook
> when linking libstdc++.  This is using the Debian supplied bintuils
> version, also with my patch to fix the TLS issue.
> Maybe I should make a bug entry for it.

Yes, please to enter a bug for it.  I hadn't seen this one before,
possibly because I've been cheating and only building C.

I've been working on getting QEMU working for alpha-softmmu recently,
hoping to be able to debug some of the alpha problems that have been
creeping in "natively".


Reply to: