ports/73257: xorg relocation type 10 missing from elfloader.c

Ken Stailey kstailey at yahoo.com
Thu Oct 28 23:10:28 UTC 2004


>Number:         73257
>Category:       ports
>Synopsis:       xorg relocation type 10 missing from elfloader.c
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 28 23:10:27 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Ken Stailey
>Release:        FreeBSD 5.3-BETA7 alpha
>Organization:
self
>Environment:
System: FreeBSD loki.trickster.gods 5.3-BETA7 FreeBSD 5.3-BETA7 #3: Sun Oct 20 08:45:06 EDT 2024 kstailey at loki.trickster.gods:/usr/obj/usr/src/sys/LOKI alpha


	
>Description:

When I try to start the Xorg server on my DEC Alpha Server 1000A I get
numerous messages about reloction type 10 not being handled.

	
>How-To-Repeat:

Run xinit on a DEC Alpha Server 1000A.

>Fix:


--- programs/Xserver/hw/xfree86/loader/elfloader.c.orig	Fri Apr  2 12:25:21 2004
+++ programs/Xserver/hw/xfree86/loader/elfloader.c	Wed Oct 27 22:48:02 2004
@@ -1608,6 +1608,20 @@
 	    break;
 	}
 
+ 	case R_ALPHA_SREL32:
+ 	    {
+ 		dest32 = (unsigned int *)(secp + rel->r_offset);
+ 		symval += rel->r_addend;
+ 		symval -= (unsigned long) dest32;
+ 		if ((long)symval >= 0x80000000
+ 		    || (long)symval < -(long)0x80000000)
+ 		    FatalError("R_ALPHA_SREL32 overflow for %s: %lx\n",
+ 			       ElfGetSymbolName(elffile, ELF_R_SYM(rel->r_info)),
+ 			       symval);
+ 		*dest32 = symval;
+ 		break;
+ 	    }
+ 
 #endif /* alpha */
 #if defined(__mc68000__)
     case R_68K_32:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list