this is not too ugly and should result in significant code size and performance improvements for many programs.
@@ -7,6 +7,9 @@ extern "C" {
#include <bits/errno.h>
+#ifdef __GNUC__
+__attribute__((const))
+#endif
extern int *__errno_location(void);
#define errno (*__errno_location())
@@ -76,6 +76,9 @@ int pthread_detach(pthread_t);
void pthread_exit(void *);
int pthread_join(pthread_t, void **);
pthread_t pthread_self(void);
int pthread_equal(pthread_t, pthread_t);