MFH: r565472
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)
This commit is contained in:
parent
997727b760
commit
e9b428a70b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/branches/2021Q1/; revision=565473
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
PORTNAME= memtest86+
|
PORTNAME= memtest86+
|
||||||
PORTVERSION= 5.01
|
PORTVERSION= 5.01
|
||||||
PORTREVISION= 3
|
PORTREVISION= 4
|
||||||
CATEGORIES= sysutils
|
CATEGORIES= sysutils
|
||||||
MASTER_SITES= http://www.memtest.org/download/${PORTVERSION}/
|
MASTER_SITES= http://www.memtest.org/download/${PORTVERSION}/
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ USES= gmake
|
|||||||
ALL_TARGET= all
|
ALL_TARGET= all
|
||||||
PORTDOCS= *
|
PORTDOCS= *
|
||||||
|
|
||||||
USE_GCC= 4.8
|
USE_GCC= yes
|
||||||
|
|
||||||
# Please provide absolute path below (cannot be root)
|
# Please provide absolute path below (cannot be root)
|
||||||
BOOT_DIR?= /boot/opt
|
BOOT_DIR?= /boot/opt
|
||||||
|
29
sysutils/memtest86+/files/patch-io.h
Normal file
29
sysutils/memtest86+/files/patch-io.h
Normal file
@ -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)); }
|
||||||
|
|
18
sysutils/memtest86+/files/patch-lib.c
Normal file
18
sysutils/memtest86+/files/patch-lib.c
Normal file
@ -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
|
||||||
|
+}
|
Loading…
Reference in New Issue
Block a user