--- /dev/null
+the meaning of extern inline changed between standards. use static inline
+for these tiny I/O functions everywhere to keep things simple.
+
+--- a/io.h
++++ b/io.h
+@@ -31,6 +31,6 @@
+ */\r
+ \r
+ #define __OUT1(s,x) \\r
+-extern inline void __out##s(unsigned x value, unsigned short port) {\r
++static inline void __out##s(unsigned x value, unsigned short port) {\r
+ \r
+ #define __OUT2(s,s1,s2) \\r
+@@ -43,6 +43,6 @@
+ __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; }\r
+ \r
+ #define __IN1(s) \\r
+-extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;\r
++static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;\r
+ \r
+ #define __IN2(s,s1,s2) \\r
+@@ -55,6 +55,6 @@
+ __IN1(s##c_p) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; return _v; }\r
+ \r
+ #define __OUTS(s) \\r
+-extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \\r
++static inline void outs##s(unsigned short port, const void * addr, unsigned long count) \\r
+ { __asm__ __volatile__ ("cld ; rep ; outs" #s \\r
+ : "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); }\r
--- /dev/null
+don't run the clean target when building all as we run into parallel races:
+ - memtest kicks off building of a bunch of .o files
+ - clean runs in parallel which runs `rm` and deletes some of the new .o
+ - memtest goes to link and fails because objects are missing
+
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,7 @@
+ OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \\r
+ config.o memsize.o error.o smp.o cpuid.o vmem.o random.o\r
+ \r
+-all: clean memtest.bin memtest\r
++all: memtest.bin memtest\r
+ \r
+ # Link it statically once so I know I don't have undefined\r
+ # symbols and then link it dynamically so I have full\r
--- /dev/null
+the reboot func is used elsewhere, so don't mark it inline
+
+--- a/lib.c
++++ b/lib.c
+@@ -33,7 +33,7 @@ struct ascii_map_str {
+ int keycode;\r
+ };\r
+ \r
+-inline void reboot(void)\r
++void reboot(void)\r
+ {\r
+ \r
+ /* tell the BIOS to do a cold start */\r
src_prepare() {
epatch "${FILESDIR}"/${PN}-4.3.3-build-nopie.patch #66630 + #206726
+ epatch "${FILESDIR}"/${PN}-4.3.7-io-extern-inline.patch #548312 #568292
+ epatch "${FILESDIR}"/${PN}-4.3.7-reboot-def.patch #548312 #568292
+ epatch "${FILESDIR}"/${PN}-4.3.7-no-clean.patch #557890
sed -i -e 's,0x10000,0x100000,' memtest.lds || die