diff --git a/src/fsort.c b/src/fsort.c
index 2b3eba5e419b26bfdf040f251adbab4a5e75372c..dc1eb6fb116bf710eba06070107991936c6b8c88 100644
--- a/src/fsort.c
+++ b/src/fsort.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: fsort.c,v 1.24 2004/12/30 13:41:08 grubba Exp $
+|| $Id: fsort.c,v 1.25 2006/07/05 19:28:09 mast Exp $
 */
 
 /* fsort- a smarter quicksort /Hubbe */
@@ -81,10 +81,10 @@
 #undef EXTRA_ARGS
 #undef XARGS
 
-void fsort(void *base,
-	   long elms,
-	   long elmSize,
-	   fsortfun cmpfunc)
+PMOD_EXPORT void fsort(void *base,
+		       long elms,
+		       long elmSize,
+		       fsortfun cmpfunc)
 {
 
   if(elms<=0) return;
diff --git a/src/fsort.h b/src/fsort.h
index 6d31ae65fad65621fb7bd698a4f4b2a1e80c488c..06acaa2d857309aa29236cd75df0808e2f82f1ff 100644
--- a/src/fsort.h
+++ b/src/fsort.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: fsort.h,v 1.6 2002/10/11 01:39:31 nilsson Exp $
+|| $Id: fsort.h,v 1.7 2006/07/05 19:28:09 mast Exp $
 */
 
 #ifndef FSORT_H
@@ -11,10 +11,10 @@
 typedef int (*fsortfun)(const void *,const void *);
 
 /* Prototypes begin here */
-void fsort(void *base,
-	   long elms,
-	   long elmSize,
-	   fsortfun cmpfunc);
+PMOD_EXPORT void fsort(void *base,
+		       long elms,
+		       long elmSize,
+		       fsortfun cmpfunc);
 /* Prototypes end here */
 
 
diff --git a/src/interpret.c b/src/interpret.c
index 25566d6cc9026168431fbc55021662643780c997..bd7dedead904fb42efb00e3057cabc24dc7c292f 100644
--- a/src/interpret.c
+++ b/src/interpret.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: interpret.c,v 1.377 2006/03/17 18:01:48 grubba Exp $
+|| $Id: interpret.c,v 1.378 2006/07/05 19:28:10 mast Exp $
 */
 
 #include "global.h"
@@ -2159,7 +2159,7 @@ static void restore_catching_eval_jmpbuf (LOW_JMP_BUF *p)
   Pike_interpreter.catching_eval_jmpbuf = p;
 }
 
-void mega_apply(enum apply_type type, INT32 args, void *arg1, void *arg2)
+PMOD_EXPORT void mega_apply(enum apply_type type, INT32 args, void *arg1, void *arg2)
 {
   /* The C stack margin is normally 8 kb, but if we get here during a
    * lowered margin then don't fail just because of that, unless it's
diff --git a/src/interpret.h b/src/interpret.h
index f3aac66733393bbdb0debb7226507852c25f7473..2b1b34367eb79269646a73d3b3d10edec040fe65 100644
--- a/src/interpret.h
+++ b/src/interpret.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: interpret.h,v 1.168 2006/03/25 16:31:59 grubba Exp $
+|| $Id: interpret.h,v 1.169 2006/07/05 19:28:10 mast Exp $
 */
 
 #ifndef INTERPRET_H
@@ -729,7 +729,7 @@ int low_mega_apply(enum apply_type type, INT32 args, void *arg1, void *arg2);
 void low_return(void);
 void low_return_pop(void);
 void unlink_previous_frame(void);
-void mega_apply(enum apply_type type, INT32 args, void *arg1, void *arg2);
+PMOD_EXPORT void mega_apply(enum apply_type type, INT32 args, void *arg1, void *arg2);
 PMOD_EXPORT void f_call_function(INT32 args);
 PMOD_EXPORT void call_handle_error(void);
 PMOD_EXPORT int apply_low_safe_and_stupid(struct object *o, INT32 offset);
diff --git a/src/language.yacc b/src/language.yacc
index af6e474bcd41fd251a957c672734e893a947c77a..279147c2b7f09128742c8b99451d73244fa8acfd 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: language.yacc,v 1.369 2006/04/02 16:40:03 grubba Exp $
+|| $Id: language.yacc,v 1.370 2006/07/05 19:28:10 mast Exp $
 */
 
 %pure_parser
@@ -4076,7 +4076,7 @@ void low_yyerror(struct pike_string *str)
   STACK_LEVEL_DONE(0);
 }
 
-void yyerror(char *str)
+PMOD_EXPORT void yyerror(char *str)
 {
   push_text(str);
   low_yyerror(Pike_sp[-1].u.string);
diff --git a/src/las.h b/src/las.h
index 6f35e64e69ee1f486b055dc64e3ba11d397a0d34..2ed46d75b4f15c08e8c7c10c040f746989caafb5 100644
--- a/src/las.h
+++ b/src/las.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: las.h,v 1.72 2006/01/21 14:32:03 grubba Exp $
+|| $Id: las.h,v 1.73 2006/07/05 19:28:10 mast Exp $
 */
 
 #ifndef LAS_H
@@ -23,7 +23,7 @@ typedef void (*c_fun)(INT32);
 void yytype_error(char *msg, struct pike_type *expected_t,
 		  struct pike_type *got_t, unsigned int flags);
 void low_yyerror(struct pike_string *str);
-void yyerror(char *s);
+PMOD_EXPORT void yyerror(char *s);
 static void yyerror_reserved(char *keyword);
 int islocal(struct pike_string *str);
 int verify_declared(struct pike_string *str);
diff --git a/src/operators.c b/src/operators.c
index 1fce0ae33cd6edf985592e81b4d8062bb4c866fa..497ba448ff0144878b1a540c7c0bf87d12768f7e 100644
--- a/src/operators.c
+++ b/src/operators.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: operators.c,v 1.210 2006/04/25 18:29:49 neotron Exp $
+|| $Id: operators.c,v 1.211 2006/07/05 19:28:10 mast Exp $
 */
 
 #include "global.h"
@@ -336,7 +336,7 @@ void o_cast_to_int(void)
 }
 
 /* Special case for casting to string. */
-void o_cast_to_string(void)
+PMOD_EXPORT void o_cast_to_string(void)
 {
   char buf[200];
   switch(sp[-1].type)
diff --git a/src/operators.h b/src/operators.h
index 835df2a88c17056be5254b31650359b12761b745..b309e410209bac175a7677d46139214d2c7f5d3b 100644
--- a/src/operators.h
+++ b/src/operators.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: operators.h,v 1.18 2005/09/15 11:57:42 grubba Exp $
+|| $Id: operators.h,v 1.19 2006/07/05 19:28:10 mast Exp $
 */
 
 #ifndef OPERATORS_H
@@ -37,7 +37,7 @@ struct string_assignment_storage
 void index_no_free(struct svalue *to,struct svalue *what,struct svalue *ind);
 void o_index(void);
 void o_cast_to_int(void);
-void o_cast_to_string(void);
+PMOD_EXPORT void o_cast_to_string(void);
 void o_cast(struct pike_type *type, INT32 run_time_type);
 PMOD_EXPORT void f_cast(void);
 
diff --git a/src/pike_memory.c b/src/pike_memory.c
index d0ccd9babf0d7f045574cca70f9339988c5eab5f..34c43778cd53dd3b7beaecc4455410775267532b 100644
--- a/src/pike_memory.c
+++ b/src/pike_memory.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: pike_memory.c,v 1.178 2006/07/04 16:14:25 mast Exp $
+|| $Id: pike_memory.c,v 1.179 2006/07/05 19:28:10 mast Exp $
 */
 
 #include "global.h"
@@ -545,7 +545,7 @@ static struct mexec_block *low_mexec_alloc(struct mexec_hdr *hdr, size_t sz)
   return res;
 }
 
-void mexec_free(void *ptr)
+PMOD_EXPORT void mexec_free(void *ptr)
 {
   struct mexec_free_block *prev_prev = NULL;
   struct mexec_free_block *prev = NULL;
@@ -620,7 +620,7 @@ void mexec_free(void *ptr)
   verify_mexec_hdr(hdr);
 }
 
-void *mexec_alloc(size_t sz)
+PMOD_EXPORT void *mexec_alloc(size_t sz)
 {
   struct mexec_hdr *hdr;
   struct mexec_block *res;
@@ -663,7 +663,7 @@ void *mexec_alloc(size_t sz)
   return res + 1;
 }
 
-void *mexec_realloc(void *ptr, size_t sz)
+PMOD_EXPORT void *mexec_realloc(void *ptr, size_t sz)
 {
   struct mexec_hdr *hdr;
   struct mexec_hdr *old_hdr = NULL;
@@ -779,7 +779,7 @@ void *mexec_realloc(void *ptr, size_t sz)
 
 #elif defined (VALGRIND_DISCARD_TRANSLATIONS)
 
-void *mexec_alloc (size_t sz)
+PMOD_EXPORT void *mexec_alloc (size_t sz)
 {
   size_t *blk = malloc (sz + sizeof (size_t));
   if (!blk) return NULL;
@@ -787,7 +787,7 @@ void *mexec_alloc (size_t sz)
   return blk + 1;
 }
 
-void *mexec_realloc (void *ptr, size_t sz)
+PMOD_EXPORT void *mexec_realloc (void *ptr, size_t sz)
 {
   if (ptr) {
     size_t *oldblk = ptr;
@@ -804,7 +804,7 @@ void *mexec_realloc (void *ptr, size_t sz)
   return mexec_malloc (sz);
 }
 
-void mexec_free (void *ptr)
+PMOD_EXPORT void mexec_free (void *ptr)
 {
   size_t *blk = ptr;
   VALGRIND_DISCARD_TRANSLATIONS (blk, blk[-1]);
@@ -813,16 +813,16 @@ void mexec_free (void *ptr)
 
 #else  /* !(HAVE_MMAP && MEXEC_USES_MMAP) && !VALGRIND_DISCARD_TRANSLATIONS */
 
-void *mexec_alloc(size_t sz)
+PMOD_EXPORT void *mexec_alloc(size_t sz)
 {
   return malloc(sz);
 }
-void *mexec_realloc(void *ptr, size_t sz)
+PMOD_EXPORT void *mexec_realloc(void *ptr, size_t sz)
 {
   if (ptr) return realloc(ptr, sz);
   return malloc(sz);
 }
-void mexec_free(void *ptr)
+PMOD_EXPORT void mexec_free(void *ptr)
 {
   free(ptr);
 }
diff --git a/src/pike_memory.h b/src/pike_memory.h
index 30fd1baae35d61d8fe268a5ce2400cc71b3236de..4e0dc3538ac396150e3a05b3b8f4ee6545d31170 100644
--- a/src/pike_memory.h
+++ b/src/pike_memory.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: pike_memory.h,v 1.52 2006/07/02 00:05:45 mast Exp $
+|| $Id: pike_memory.h,v 1.53 2006/07/05 19:28:10 mast Exp $
 */
 
 #ifndef MEMORY_H
@@ -138,9 +138,9 @@ PMOD_EXPORT void debug_xfree(void *mem);
 PMOD_EXPORT void *debug_xrealloc(void *m, size_t s);
 PMOD_EXPORT void *debug_xcalloc(size_t n, size_t s);
 
-void *mexec_alloc(size_t sz);
-void *mexec_realloc(void *ptr, size_t sz);
-void mexec_free(void *ptr);
+PMOD_EXPORT void *mexec_alloc(size_t sz);
+PMOD_EXPORT void *mexec_realloc(void *ptr, size_t sz);
+PMOD_EXPORT void mexec_free(void *ptr);
 
 #undef BLOCK_ALLOC
 
diff --git a/src/pike_types.c b/src/pike_types.c
index 9279aaaf6140511645cbdcc17603879cfd5af6ae..fc553c34f4ba089784a210a0ded805fb0680e9ad 100644
--- a/src/pike_types.c
+++ b/src/pike_types.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: pike_types.c,v 1.254 2006/07/05 19:26:26 mast Exp $
+|| $Id: pike_types.c,v 1.255 2006/07/05 19:28:10 mast Exp $
 */
 
 #include "global.h"
@@ -143,7 +143,7 @@ struct pike_type *debug_compiler_pop_type(void)
   }
 }
 
-char *get_name_of_type(TYPE_T t)
+PMOD_EXPORT char *get_name_of_type(TYPE_T t)
 {
   switch(t)
   {
diff --git a/src/pike_types.h b/src/pike_types.h
index 75f3d73774fa8729d33cb1c73a37671d5427204f..dbcb6f826e85d28acb17ab31b58994ff24fe82a7 100644
--- a/src/pike_types.h
+++ b/src/pike_types.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: pike_types.h,v 1.94 2005/04/08 16:57:11 grubba Exp $
+|| $Id: pike_types.h,v 1.95 2006/07/05 19:28:10 mast Exp $
 */
 
 #ifndef PIKE_TYPES_H
@@ -203,7 +203,7 @@ struct pike_type *check_call(struct pike_type *args,
 struct pike_type *zzap_function_return(struct pike_type *t, INT32 id);
 struct pike_type *get_type_of_svalue(struct svalue *s);
 struct pike_type *object_type_to_program_type(struct pike_type *obj_t);
-char *get_name_of_type(TYPE_T t);
+PMOD_EXPORT char *get_name_of_type(TYPE_T t);
 void cleanup_pike_types(void);
 void cleanup_pike_type_table(void);
 int type_may_overload(struct pike_type *type, int lfun);
diff --git a/src/program.c b/src/program.c
index 9817d4db0792f69da8ca1d08ad9865554fd8c60d..272878e35158a47f3fd584d0f41d34475c6527e9 100644
--- a/src/program.c
+++ b/src/program.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: program.c,v 1.602 2006/07/05 02:21:51 mast Exp $
+|| $Id: program.c,v 1.603 2006/07/05 19:28:11 mast Exp $
 */
 
 #include "global.h"
@@ -6073,7 +6073,7 @@ PMOD_EXPORT struct pike_string *low_get_function_line (struct object *o,
   return NULL;
 }
 
-void va_yyerror(const char *fmt, va_list args)
+PMOD_EXPORT void va_yyerror(const char *fmt, va_list args)
 {
   struct string_builder s;
   struct pike_string *tmp;
@@ -6084,7 +6084,7 @@ void va_yyerror(const char *fmt, va_list args)
   free_string(tmp);
 }
 
-void my_yyerror(const char *fmt,...)
+PMOD_EXPORT void my_yyerror(const char *fmt,...)
 {
   va_list args;
   va_start(args,fmt);
diff --git a/src/program.h b/src/program.h
index 90174b62f7ca47d567093667d99e3f3a6a7a7b8e..7c291c2de95b280144c460ada63dab62ad39db0f 100644
--- a/src/program.h
+++ b/src/program.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: program.h,v 1.223 2006/07/05 02:21:21 mast Exp $
+|| $Id: program.h,v 1.224 2006/07/05 19:28:11 mast Exp $
 */
 
 #ifndef PROGRAM_H
@@ -820,8 +820,8 @@ PMOD_EXPORT struct pike_string *get_line(PIKE_OPCODE_T *pc,
 					 struct program *prog, INT32 *linep);
 PMOD_EXPORT struct pike_string *low_get_function_line (struct object *o,
 						       int fun, INT32 *linep);
-void va_yyerror(const char *fmt, va_list args);
-void my_yyerror(const char *fmt,...);
+PMOD_EXPORT void va_yyerror(const char *fmt, va_list args);
+PMOD_EXPORT void my_yyerror(const char *fmt,...);
 struct pike_string *format_exception_for_error_msg (struct svalue *thrown);
 void handle_compile_exception (const char *yyerror_fmt, ...);
 struct supporter_marker;
diff --git a/src/stralloc.h b/src/stralloc.h
index 68a112f4b37865332f431f86bc648030d4a3b1d0..bd233946458bb46cddd4d7904aec69b512cb299a 100644
--- a/src/stralloc.h
+++ b/src/stralloc.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: stralloc.h,v 1.99 2006/07/05 02:22:43 mast Exp $
+|| $Id: stralloc.h,v 1.100 2006/07/05 19:28:11 mast Exp $
 */
 
 #ifndef STRALLOC_H
@@ -468,6 +468,6 @@ static INLINE void string_builder_binary_strcat(struct string_builder *s,
 
 #undef CONVERT
 
-PMOD_PROTO extern void f_sprintf(INT32 num_arg);
+PMOD_EXPORT void f_sprintf(INT32 num_arg);
 
 #endif /* STRALLOC_H */