[kde-freebsd] kde 3.1.1 broken on alpha
Tilman Linneweh
arved at FreeBSD.org
Thu May 8 13:44:45 PDT 2003
[ Added freebsd-alpha to the CC list ]
* Michael Nottebrock [Do, 08 Mai 2003 at 09:42 GMT]:
>>
>> kdegames is still broken. Who is going to fix it for 5.1?
>
> GCC bug. I recommend to not mark it broken though because it would remain=20
> marked broken longer than necessary, given the heavy use of KDE on alpha ;)=
>=2E=20
> Let's wait for gcc 3.3 and keep our fingers crossed.
According to my Google research it looks more like a bug in binutils.
The attached patch from Richard Henderson claims to fix that.
(http://sources.redhat.com/ml/binutils/2003-04/msg00241.html and GCC PR 10326)
"This is caused by a long-standing bug in the GNU Linux-Alpha toolchain.
Certain symbols (such as switch-related jump tables in inline C/C++ functions)
cause gcc to emit object relocations leading to removed ELF sections."
Perhaps someone with an alpha likes to test it..
regards
tilman
-------------- next part --------------
diff -Naur binutils-2.13.2.1/bfd/elf64-alpha.c binutils-2.13.2.1-gprel32/bfd/elf64-alpha.c
--- binutils-2.13.2.1/bfd/elf64-alpha.c 2002-10-28 10:21:44.000000000 -0600
+++ binutils-2.13.2.1-gprel32/bfd/elf64-alpha.c 2003-04-11 18:25:22.000000000 -0500
@@ -4490,8 +4490,20 @@
value -= gp;
goto default_reloc;
- case R_ALPHA_GPREL16:
case R_ALPHA_GPREL32:
+ /* If the target section was a removed linkonce section,
+ r_symndx will be zero. In this case, assume that the
+ switch will not be used, so don't fill it in. If we
+ do nothing here, we'll get relocation truncated messages,
+ due to the placement of the application above 4GB. */
+ if (r_symndx == 0)
+ {
+ r = bfd_reloc_ok;
+ break;
+ }
+ /* FALLTHRU */
+
+ case R_ALPHA_GPREL16:
case R_ALPHA_GPRELLOW:
if (dynamic_symbol_p)
{
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-alpha/attachments/20030508/aa3fbeef/attachment.bin
More information about the freebsd-alpha
mailing list