bsd
diff --git a/include/libc.h b/include/libc.h
index 1f86742..10000b5 100644
--- a/include/libc.h
+++ b/include/libc.h
@@ -904,17 +904,6 @@
 #	endif
 #endif
 
-/* this really shouldn't be here */
-#if defined(__OpenBSD__) || (defined(__NetBSD__) && !defined(sched_yield))
-#define sched_yield() \
-	do { \
-		struct timespec ts; \
-		ts.tv_sec = 0; \
-		ts.tv_nsec = 10; \
-		nanosleep(&ts, NULL); \
-	} while(0)
-#endif
-
 /* command line */
 extern char	*argv0;
 extern void __fixargv0(void);
diff --git a/include/u.h b/include/u.h
index c3f0081..466f3ea 100644
--- a/include/u.h
+++ b/include/u.h
@@ -154,6 +154,7 @@
  * Gcc is too smart for its own good.
  */
 #if defined(__GNUC__)
+#	undef strcmp	/* causes way too many warnings */
 #	if __GNUC__ >= 4 || (__GNUC__==3 && !defined(__APPLE_CC__))
 #		undef AUTOLIB
 #		define AUTOLIB(x) int __p9l_autolib_ ## x __attribute__ ((weak));