diff --git erts/emulator/beam/global.h erts/emulator/beam/global.h
index 62a788c..87e83e3 100644
--- erts/emulator/beam/global.h
+++ erts/emulator/beam/global.h
@@ -1658,7 +1658,7 @@ void erts_bif_trace_init(void);
 /*
 ** Call_trace uses this API for the parameter matching functions
 */
-    struct erl_heap_fragment* saved_program_buf;
+/*    struct erl_heap_fragment* saved_program_buf; */
 
 #define MatchSetRef(MPSP) 			\
 do {						\
diff --git lib/erl_interface/src/misc/ei_internal.h lib/erl_interface/src/misc/ei_internal.h
index 9f51d1f..f7805ef 100644
--- lib/erl_interface/src/misc/ei_internal.h
+++ lib/erl_interface/src/misc/ei_internal.h
@@ -149,7 +149,7 @@
   {if (ei_tracelevel >= 5) ei_trace_printf(NAME,1,FORMAT,ARG1,ARG2,ARG3,ARG4, \
                                                          ARG5,ARG6,ARG7);}
 
-int ei_tracelevel;
+extern int ei_tracelevel;
 
 void ei_trace_printf(const char *name, int level, const char *format, ...);
 
diff --git lib/ssl/c_src/debuglog.h lib/ssl/c_src/debuglog.h
index 5699e6b..e98b3fe 100644
--- lib/ssl/c_src/debuglog.h
+++ lib/ssl/c_src/debuglog.h
@@ -34,17 +34,17 @@
 #define SSLDEBUGF()  if (debug) { esock_ssl_print_errors_fp(stderr); \
     if (ssllogfp) esock_ssl_print_errors_fp(ssllogfp); }
 
-int  debug;
-int  debugmsg;
-FILE *ssllogfp;
-FILE *__locallogfp;
+extern int  debug;
+extern int  debugmsg;
+extern FILE *ssllogfp;
+extern FILE *__locallogfp;
 
-void open_ssllog(char *path);
-void close_ssllog(void);
-FILE *openlog(char *);
-void closelog(FILE *);
-int __debugprintf(const char *, ...);
-int __debugprintclistf(const char *, ...);
-int __debuglogf(const char *, ...);
+extern void open_ssllog(char *path);
+extern void close_ssllog(void);
+extern FILE *openlog(char *);
+extern void closelog(FILE *);
+extern int __debugprintf(const char *, ...);
+extern int __debugprintclistf(const char *, ...);
+extern int __debuglogf(const char *, ...);
 
 #endif
diff --git lib/ssl/c_src/esock_ssl.h lib/ssl/c_src/esock_ssl.h
index 535e9a6..ac2dd09 100644
--- lib/ssl/c_src/esock_ssl.h
+++ lib/ssl/c_src/esock_ssl.h
@@ -34,35 +34,35 @@ typedef struct {
 } esock_version;
 
 /* Variables to be set by certain functions (see below) */
-char *esock_ssl_errstr;
+extern char *esock_ssl_errstr;
 
 /* Ephemeral RSA and DH */
-int ephemeral_rsa, ephemeral_dh;
+extern int ephemeral_rsa, ephemeral_dh;
 
 /* Protocol version (sslv2, sslv3, tlsv1) */
-int protocol_version;
+extern int protocol_version;
 
 /* version info */
-esock_version *esock_ssl_version(void);
+extern esock_version *esock_ssl_version(void);
 
 /* ciphers info */
-char *esock_ssl_ciphers(void);
+extern char *esock_ssl_ciphers(void);
 
 /* seeding */
-void esock_ssl_seed(void *buf, int len);
+extern void esock_ssl_seed(void *buf, int len);
 
 /* Initialization and finalization of SSL */
 
-int esock_ssl_init(void);
-void esock_ssl_finish(void);
+extern int esock_ssl_init(void);
+extern void esock_ssl_finish(void);
 
 /* Freeing of SSL resources for a connection */
 
-void esock_ssl_free(Connection *cp);
+extern void esock_ssl_free(Connection *cp);
 
 /* Print error diagnostics to a file pointer */
 
-void esock_ssl_print_errors_fp(FILE *fp);
+extern void esock_ssl_print_errors_fp(FILE *fp);
 
 /* All functions below have to return >= 0 on success, and < 0 on 
  * failure. 
@@ -76,9 +76,9 @@ void esock_ssl_print_errors_fp(FILE *fp);
  * short diagnostic string describing the error.
  */
 
-int esock_ssl_accept_init(Connection *cp, void *listenssl);
-int esock_ssl_connect_init(Connection *cp);
-int esock_ssl_listen_init(Connection *cp);
+extern int esock_ssl_accept_init(Connection *cp, void *listenssl);
+extern int esock_ssl_connect_init(Connection *cp);
+extern int esock_ssl_listen_init(Connection *cp);
 
 /* All functions below may involve non-blocking I/O with a temporary
  * failure.  Hence they have to have the error context set to
@@ -87,24 +87,24 @@ int esock_ssl_listen_init(Connection *cp);
  * value is 0, cp->eof and cp->bp are set, if appropritate.
  */
 
-int esock_ssl_accept(Connection *cp);
-int esock_ssl_connect(Connection *cp);
+extern int esock_ssl_accept(Connection *cp);
+extern int esock_ssl_connect(Connection *cp);
 
-int esock_ssl_read(Connection *cp, char *buf, int len);
-int esock_ssl_write(Connection *cp, char *buf, int len);
+extern int esock_ssl_read(Connection *cp, char *buf, int len);
+extern int esock_ssl_write(Connection *cp, char *buf, int len);
 
-int esock_ssl_shutdown(Connection *cp);
+extern int esock_ssl_shutdown(Connection *cp);
 
 /* Peer certificate */
 
-int esock_ssl_getpeercert(Connection *cp, unsigned char **buf);
-int esock_ssl_getpeercertchain(Connection *cp, unsigned char **buf);
+extern int esock_ssl_getpeercert(Connection *cp, unsigned char **buf);
+extern int esock_ssl_getpeercertchain(Connection *cp, unsigned char **buf);
 
 /* Sessions */
-int esock_ssl_session_reused(Connection *cp);
+extern int esock_ssl_session_reused(Connection *cp);
 
 /* Protocol version and cipher of established connection */
-int esock_ssl_getprotocol_version(Connection *cp, char **buf);
-int esock_ssl_getcipher(Connection *cp, char **buf);
+extern int esock_ssl_getprotocol_version(Connection *cp, char **buf);
+extern int esock_ssl_getcipher(Connection *cp, char **buf);
 
 #endif

diff -u erts/emulator/hipe/hipe_mode_switch.h erts/emulator/hipe/hipe_mode_switch.h 
--- erts/emulator/hipe/hipe_mode_switch.h
+++ erts/emulator/hipe/hipe_mode_switch.h
@@ -48,7 +48,7 @@
 
 #include "error.h"
 
-int hipe_modeswitch_debug;
+extern int hipe_modeswitch_debug;
 
 void hipe_mode_switch_init(void);
 void hipe_set_call_trap(Uint *bfun, void *nfun, int is_closure);

