diff -rBu -x master -x HEAD simulavr.org/examples/atmega128_timer/main.c simulavr/examples/atmega128_timer/main.c
--- simulavr.org/examples/atmega128_timer/main.c	2012-12-27 21:38:38.620604348 +0100
+++ simulavr/examples/atmega128_timer/main.c	2012-12-27 21:15:22.599613833 +0100
@@ -5,7 +5,7 @@
 volatile int timer2_ticks;
 
 /* Every ~ms */
-ISR(SIG_OUTPUT_COMPARE2)
+ISR(TIMER2_COMP_vect)
 {                               /* Every ~1ms */
    timer2_ticks++;
 }
diff -rBu -x master -x HEAD simulavr.org/examples/atmel_key/kb.c simulavr/examples/atmel_key/kb.c
--- simulavr.org/examples/atmel_key/kb.c	2012-12-27 21:38:38.621604342 +0100
+++ simulavr/examples/atmel_key/kb.c	2012-12-27 21:15:22.654613525 +0100
@@ -36,7 +36,7 @@
     bitcount = 11;
 }
 
-SIGNAL(SIG_INTERRUPT0)
+SIGNAL(INT0_vect)
 {
     static unsigned char data;                // Holds the received scan code
 
diff -rBu -x master -x HEAD simulavr.org/examples/atmel_key/main.c simulavr/examples/atmel_key/main.c
--- simulavr.org/examples/atmel_key/main.c	2012-12-27 21:38:38.622604336 +0100
+++ simulavr/examples/atmel_key/main.c	2012-12-27 21:15:30.592568492 +0100
@@ -5,6 +5,7 @@
 // PS-1 Keyboard interface test program
 
 #include <avr/io.h>
+#include <util/delay.h>
 #include <stdlib.h>
 //include <sig-avr.h>
 #include <avr/interrupt.h>
@@ -31,7 +32,7 @@
     {
         key=getchar();
         putchar(key);
-        msleep(10);
+        _delay_ms(10);
     }
     return 1;
 }
diff -rBu -x master -x HEAD simulavr.org/examples/atmel_key/scancodes.h simulavr/examples/atmel_key/scancodes.h
--- simulavr.org/examples/atmel_key/scancodes.h	2012-12-27 21:38:38.622604336 +0100
+++ simulavr/examples/atmel_key/scancodes.h	2012-12-27 21:21:04.956908028 +0100
@@ -15,7 +15,7 @@
 
 // Unshifted characters
 
-static char unshifted[][2]  __attribute__ ((progmem)) = {
+static const char unshifted[][2]  PROGMEM = {
 0x0d,9,
 0x0e,'`',
 0x15,'q',
@@ -87,7 +87,7 @@
 };
 
 // Shifted characters
-prog_char shifted[][2] = {
+const char shifted[][2] PROGMEM = {
 0x0d,9,
 0x0e,'~',
 0x15,'Q',
diff -rBu -x master -x HEAD simulavr.org/examples/atmel_key/StdDefs.c simulavr/examples/atmel_key/StdDefs.c
--- simulavr.org/examples/atmel_key/StdDefs.c	2012-12-27 21:38:38.621604342 +0100
+++ simulavr/examples/atmel_key/StdDefs.c	2012-12-27 21:46:58.766334835 +0100
@@ -59,7 +59,7 @@
 void msleep(INT16U ms10)
     {
         for( ; ms10; --ms10)
-            _delay_ms(0.1);
+             _delay_ms(0.1);
     }
 
 //------------------------------------------------------------
@@ -115,7 +115,7 @@
 void putstr(CHARU *s)
    {
    int j;
-   for (j = 0; j <= strlen(s); j++)
+   for (j = 0; j <= strlen((char *)s); j++)
        putchar(*(s + j));
    CRLF();
    }
diff -rBu -x master -x HEAD simulavr.org/examples/atmel_key/StdDefs.h simulavr/examples/atmel_key/StdDefs.h
--- simulavr.org/examples/atmel_key/StdDefs.h	2012-12-27 21:38:38.621604342 +0100
+++ simulavr/examples/atmel_key/StdDefs.h	2012-12-27 21:15:22.648613558 +0100
@@ -63,8 +63,8 @@
    #define UART_BAUD_REG_H      UBRR0H
    #define UART_CONTROL_REG     UCSR0B
    #define UART_STATUS_REG      UCSR0A
-   #define UART_RCV_INT_VECTOR  SIG_UART0_RECV
-   #define UART_REG_EMPTY_INT_VECTOR  SIG_UART0_DATA
+   #define UART_RCV_INT_VECTOR  USART0_RX_vect
+   #define UART_REG_EMPTY_INT_VECTOR  USART0_UDRE_vect
    #define UART_DATA_REG        UDR0
 #elif DEVICE_NAME == ATMEGA163
    #define UART_BAUD_REG        UBRR
diff -rBu -x master -x HEAD simulavr.org/examples/feedback/uart.h simulavr/examples/feedback/uart.h
--- simulavr.org/examples/feedback/uart.h	2012-12-27 21:38:38.622604336 +0100
+++ simulavr/examples/feedback/uart.h	2012-12-27 21:15:22.972611737 +0100
@@ -53,7 +53,7 @@
 
 
 #ifndef P
-#define P(s) ({static const char c[] __attribute__ ((progmem)) = s;c;})
+#define P(s) ({static const char c[] PROGMEM = s;c;})
 #endif
 
 
diff -rBu -x master -x HEAD simulavr.org/examples/python/example.c simulavr/examples/python/example.c
--- simulavr.org/examples/python/example.c	2012-12-27 21:38:38.623604330 +0100
+++ simulavr/examples/python/example.c	2012-12-27 21:15:22.635613632 +0100
@@ -4,7 +4,7 @@
 volatile int timer2_ticks;
 
 /* Every ~ms */
-ISR(SIG_OUTPUT_COMPARE2) {
+ISR(TIMER2_COMP_vect) {
    timer2_ticks++;
 }
 
diff -rBu -x master -x HEAD simulavr.org/examples/python/example_io.c simulavr/examples/python/example_io.c
--- simulavr.org/examples/python/example_io.c	2012-12-27 21:38:38.623604330 +0100
+++ simulavr/examples/python/example_io.c	2012-12-27 21:15:22.628613670 +0100
@@ -5,7 +5,7 @@
 volatile int port_val;
 volatile int port_cnt;
 
-ISR(SIG_OUTPUT_COMPARE2) {
+ISR(TIMER2_COMP_vect) {
    timer2_ticks++;
 }
 
diff -rBu -x master -x HEAD simulavr.org/examples/python/ex_pinout.c simulavr/examples/python/ex_pinout.c
--- simulavr.org/examples/python/ex_pinout.c	2012-12-27 21:38:38.623604330 +0100
+++ simulavr/examples/python/ex_pinout.c	2012-12-27 21:15:22.619613720 +0100
@@ -3,7 +3,7 @@
 
 volatile int timer2_ticks;
 
-ISR(SIG_OUTPUT_COMPARE2) {
+ISR(TIMER2_COMP_vect) {
    timer2_ticks++;
 }
 
diff -rBu -x master -x HEAD simulavr.org/examples/python/multicore.c simulavr/examples/python/multicore.c
--- simulavr.org/examples/python/multicore.c	2012-12-27 21:38:38.623604330 +0100
+++ simulavr/examples/python/multicore.c	2012-12-27 21:15:22.641613597 +0100
@@ -11,7 +11,7 @@
 volatile char cnt_irq = 0;         // IRQ counter
 volatile char cnt_res = 0;         // measurement value for time distance between events
 
-ISR(SIG_INTERRUPT0) {
+ISR(INT0_vect) {
   cnt_irq++;                       // increment event counter
   cnt_res = TCNT0;                 // save timer value = time distance to last event
   TCNT0 = 0;                       // reset timer value
diff -rBu -x master -x HEAD simulavr.org/regress/extinttest/ext_int0.c simulavr/regress/extinttest/ext_int0.c
--- simulavr.org/regress/extinttest/ext_int0.c	2012-12-27 21:38:38.649604165 +0100
+++ simulavr/regress/extinttest/ext_int0.c	2012-12-27 21:15:29.994571853 +0100
@@ -89,12 +89,12 @@
 volatile unsigned char dis_mask = 0;
 
 #if defined(TEST_INT1)
-  ISR(SIG_INTERRUPT1) {
+  ISR(INT1_vect) {
 #else
 # if defined(TEST_INT2_16)
-  ISR(SIG_INTERRUPT2) {
+  ISR(INT2_vect) {
 # else
-  ISR(SIG_INTERRUPT0) {
+  ISR(INT0_vect) {
 # endif
 #endif
   cnt_irq++;
diff -rBu -x master -x HEAD simulavr.org/regress/timertest/timer_16bit.c simulavr/regress/timertest/timer_16bit.c
--- simulavr.org/regress/timertest/timer_16bit.c	2012-12-27 21:38:38.655604129 +0100
+++ simulavr/regress/timertest/timer_16bit.c	2012-12-27 21:15:30.100571256 +0100
@@ -7,7 +7,7 @@
 ISR(SIG_OVERFLOW3) {
    timer_ticks++;
 }
-ISR(SIG_OUTPUT_COMPARE3B) {
+ISR(TIMER3_COMPB_vect) {
    timer_ticks++;
 }
 #else
diff -rBu -x master -x HEAD simulavr.org/regress/timertest/timer_8bit_ctc.c simulavr/regress/timertest/timer_8bit_ctc.c
--- simulavr.org/regress/timertest/timer_8bit_ctc.c	2012-12-27 21:38:38.655604129 +0100
+++ simulavr/regress/timertest/timer_8bit_ctc.c	2012-12-27 21:15:30.043571577 +0100
@@ -4,11 +4,11 @@
 volatile int timer_ticks;
 
 #ifdef PROC_atmega48
-ISR(SIG_OUTPUT_COMPARE2A) {
+ISR(TIMER2_COMP_vectA) {
    timer_ticks++;
 }
 #else
-ISR(SIG_OUTPUT_COMPARE2) {
+ISR(TIMER2_COMP_vect) {
    timer_ticks++;
 }
 #endif
diff -rBu -x master -x HEAD simulavr.org/src/avrsignature.cpp simulavr/src/avrsignature.cpp
--- simulavr.org/src/avrsignature.cpp	2012-12-27 21:38:38.660604099 +0100
+++ simulavr/src/avrsignature.cpp	2012-12-27 21:15:24.347604018 +0100
@@ -31,7 +31,7 @@
 class InitMap : public std::map<T_Key, T_Value> {
     public:
         InitMap& operator<< ( const std::pair<T_Key, T_Value>& v ) {
-            insert( v );
+            this->insert( v );
             return *this;
         }
 };
diff -rBu -x master -x HEAD simulavr.org/src/Makefile.am simulavr/src/Makefile.am
--- simulavr.org/src/Makefile.am	2012-12-27 21:38:38.656604123 +0100
+++ simulavr/src/Makefile.am	2012-12-27 21:33:59.554475236 +0100
@@ -106,7 +106,7 @@
 
 simulavr_SOURCES = cmd/main.cpp cmd/dumpargs.cpp
 simulavr_LDADD = $(libsim_la_OBJECTS) $(LIBZ_FLAGS) \
-  -L$(AVR_LIBBFD_LIBPATH) -lbfd -L$(AVR_LIBIBERTY_LIBPATH) -liberty \
+  -L$(AVR_LIBBFD_LIBPATH) -lbfd -L$(AVR_LIBIBERTY_LIBPATH) -liberty -ldl \
   $(EXTRA_LIBS) $(LIBWSOCK_FLAGS)
 
 if USE_VERILOG
diff -rBu -x master -x HEAD simulavr.org/src/systemclock.h simulavr/src/systemclock.h
--- simulavr.org/src/systemclock.h	2012-12-27 21:38:38.693603896 +0100
+++ simulavr/src/systemclock.h	2012-12-27 21:15:29.626573921 +0100
@@ -46,7 +46,7 @@
 	void RemoveMinimum();
 	bool ContainsValue(Value v) const;
 	void Insert(Key k, Value v) {
-		resize(this->size()+1);
+		this->resize(this->size()+1);
 		InsertInternal(k, v, this->size());
 	}
 	void RemoveMinimumAndInsert(Key k, Value v) {
