svn commit: r565472 - in head/sysutils/memtest86+: . files

Kyle Evans kevans at FreeBSD.org
Wed Feb 17 01:36:16 UTC 2021


Author: kevans
Date: Wed Feb 17 01:36:14 2021
New Revision: 565472
URL: https://svnweb.freebsd.org/changeset/ports/565472

Log:
  sysutils/memtest86+: remove dependency on gcc48
  
  This is one of three ports still explicitly dependent on lang/gcc48. The
  problems that were preventing the upgrade were as follows:
  
  - The __OUT*/__IN* macros in io.h were declaring the produced functions as
    extern, yielding multiple "definitions." They're inline asm, so just give
    them static linkage.
  
  - reboot was declared inline with non-static linkage, thus leaving it in a
    weird state where it wasn't visible within the same CU or another CU.
    Drop the inline for now; if it really needs to be inlined, it can be
    moved into a header and declared `static inline`.
  
  I made these changes, then discovered there's a 5.31b that's still in
  testing. I checked the archive for that and was delighted to discover these
  changes had already actually been made there, too, so let's consider this a
  backport.
  
  PR:		253303
  Approved by:	avg (maintainer)
  MFH:		2021Q1

Added:
  head/sysutils/memtest86+/files/patch-io.h   (contents, props changed)
  head/sysutils/memtest86+/files/patch-lib.c   (contents, props changed)
Modified:
  head/sysutils/memtest86+/Makefile

Modified: head/sysutils/memtest86+/Makefile
==============================================================================
--- head/sysutils/memtest86+/Makefile	Wed Feb 17 00:52:20 2021	(r565471)
+++ head/sysutils/memtest86+/Makefile	Wed Feb 17 01:36:14 2021	(r565472)
@@ -2,7 +2,7 @@
 
 PORTNAME=	memtest86+
 PORTVERSION=	5.01
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	sysutils
 MASTER_SITES=	http://www.memtest.org/download/${PORTVERSION}/
 
@@ -17,7 +17,7 @@ USES=	gmake
 ALL_TARGET=	all
 PORTDOCS=	*
 
-USE_GCC=	4.8:build
+USE_GCC=	yes:build
 
 # Please provide absolute path below (cannot be root)
 BOOT_DIR?=	/boot/opt

Added: head/sysutils/memtest86+/files/patch-io.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/memtest86+/files/patch-io.h	Wed Feb 17 01:36:14 2021	(r565472)
@@ -0,0 +1,29 @@
+--- io.h.orig	2013-08-10 02:01:58 UTC
++++ io.h
+@@ -31,7 +31,7 @@
+  */
+ 
+ #define __OUT1(s,x) \
+-extern inline void __out##s(unsigned x value, unsigned short port) {
++static inline void __out##s(unsigned x value, unsigned short port) {
+ 
+ #define __OUT2(s,s1,s2) \
+ __asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1"
+@@ -43,7 +43,7 @@ __OUT1(s##_p,x) __OUT2(s,s1,"w") : : "a" (value), "d" 
+ __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; }
+ 
+ #define __IN1(s) \
+-extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
++static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
+ 
+ #define __IN2(s,s1,s2) \
+ __asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0"
+@@ -55,7 +55,7 @@ __IN1(s##_p) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) 
+ __IN1(s##c_p) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; return _v; }
+ 
+ #define __OUTS(s) \
+-extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \
++static inline void outs##s(unsigned short port, const void * addr, unsigned long count) \
+ { __asm__ __volatile__ ("cld ; rep ; outs" #s \
+ : "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); }
+ 

Added: head/sysutils/memtest86+/files/patch-lib.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/memtest86+/files/patch-lib.c	Wed Feb 17 01:36:14 2021	(r565472)
@@ -0,0 +1,18 @@
+--- lib.c.orig	2021-02-06 17:28:48 UTC
++++ lib.c
+@@ -33,7 +33,7 @@ struct ascii_map_str {
+         int keycode;
+ };
+ 
+-inline void reboot(void)
++void reboot(void)
+ {
+ 	
+ 	/* tell the BIOS to do a cold start */
+@@ -1196,4 +1196,4 @@ void get_list(int x, int y, int len, char *buf)
+ 		   return;
+ 		}
+ 	}
+-}
+\ No newline at end of file
++}


More information about the svn-ports-all mailing list