sparc64/124960: net/linphone-base does not compile on sparc64 platform.

Daniel Austin MBCS freebsd-sparc64 at dan.me.uk
Tue Jun 24 21:30:01 UTC 2008


>Number:         124960
>Category:       sparc64
>Synopsis:       net/linphone-base does not compile on sparc64 platform.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-sparc64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 24 21:30:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Austin MBCS
>Release:        FreeBSD 7.0-STABLE sparc64
>Organization:
>Environment:
System: FreeBSD ultra60.dan.me.uk 7.0-STABLE FreeBSD 7.0-STABLE #0: Tue Jun 24 04:02:44 BST 2008 dan at ultra60.dan.me.uk:/usr/obj/usr/src/sys/DAN sparc64


	
>Description:
	This port fails to compile due to no method of obtaining a random source on sparc64 platforms.
	On 32-bit platforms, some direct assembler is used.
	On sparc64, we take 32-bits of data from /dev/random instead (see patch)
>How-To-Repeat:
	Attempt to compile on sparc64 platform.
>Fix:
	Add the attached file (patch-oRTP__src__stun.c) into the 'files' folder.
	The patch is automatically applied when building the port.

--- patch-oRTP__src__stun.c begins here ---
--- oRTP/src/stun.c.orig	2007-11-16 14:37:30.000000000 +0000
+++ oRTP/src/stun.c	2008-06-24 21:54:58.000000000 +0100
@@ -768,6 +768,12 @@
       asm("rdtsc" : "=A" (tick));
 #elif defined(__GNUC__) && defined(__amd64__)
       asm("rdtsc" : "=A" (tick));
+#elif defined(__GNUC__) && defined(__sparc64__)
+      {
+        FILE *fp = fopen("/dev/random","r+");
+        fread(&tick,sizeof(tick),1,fp);
+        fclose(fp);
+      }
 #elif defined (__SUNPRO_CC) && defined( __sparc__ )	
       tick = gethrtime();
 #elif defined(__MACH__) 
--- patch-oRTP__src__stun.c ends here ---


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


More information about the freebsd-sparc64 mailing list