[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