Blame SOURCES/ksh-20120801-badgcc.patch

1a53a7
diff -up ksh-20120801/src/lib/libast/string/strdup.c.badgcc ksh-20120801/src/lib/libast/string/strdup.c
1a53a7
--- ksh-20120801/src/lib/libast/string/strdup.c.badgcc	2012-05-21 15:04:46.000000000 +0200
1a53a7
+++ ksh-20120801/src/lib/libast/string/strdup.c	2015-06-17 10:12:52.693922581 +0200
1a53a7
@@ -50,11 +50,18 @@ __STDPP__directive pragma pp:nohide strd
1a53a7
 #define extern	__EXPORT__
1a53a7
 #endif
1a53a7
 
1a53a7
+#pragma GCC push_options
1a53a7
+#pragma GCC optimize ("O0")
1a53a7
+
1a53a7
+
1a53a7
 extern char*
1a53a7
 strdup(register const char* s)
1a53a7
 {
1a53a7
 	register char*	t;
1a53a7
 	register int	n;
1a53a7
 
1a53a7
 	return (s && (t = oldof(0, char, n = strlen(s) + 1, 0))) ? (char*)memcpy(t, s, n) : (char*)0;
1a53a7
 }
1a53a7
+
1a53a7
+#pragma GCC pop_options
1a53a7
+