diff --git a/esp8266/esp8266.ld b/esp8266/esp8266.ld
index 998129156febe5b25735da79e2ff5066ac3aa6cb..25cb4e8bed3cfa1ad6f60fbe29993f2c8f91e523 100644
--- a/esp8266/esp8266.ld
+++ b/esp8266/esp8266.ld
@@ -21,6 +21,11 @@ PHDRS
 }
 
 ENTRY(call_user_start)
+EXTERN(_DebugExceptionVector)
+EXTERN(_DoubleExceptionVector)
+EXTERN(_KernelExceptionVector)
+EXTERN(_NMIExceptionVector)
+EXTERN(_UserExceptionVector)
 
 PROVIDE(_memmap_vecbase_reset = 0x40000000);
 
@@ -101,6 +106,30 @@ SECTIONS
     {
         _stext = .;
         _text_start = ABSOLUTE(.);
+        *(.UserEnter.text)
+        . = ALIGN(16);
+        *(.DebugExceptionVector.text)
+        . = ALIGN(16);
+        *(.NMIExceptionVector.text)
+        . = ALIGN(16);
+        *(.KernelExceptionVector.text)
+        LONG(0)
+        LONG(0)
+        LONG(0)
+        LONG(0)
+        . = ALIGN(16);
+        *(.UserExceptionVector.text)
+        LONG(0)
+        LONG(0)
+        LONG(0)
+        LONG(0)
+        . = ALIGN(16);
+        *(.DoubleExceptionVector.text)
+        LONG(0)
+        LONG(0)
+        LONG(0)
+        LONG(0)
+        . = ALIGN (16);
         *(.entry.text)
         *(.init.literal)
         *(.init)
diff --git a/esp8266/modpybpin.c b/esp8266/modpybpin.c
index 8b09c7f655cccfec7ad91f3eb5d92bd70e8229a2..a2ab9857389fd00f77b83f89b693b01b20efba10 100644
--- a/esp8266/modpybpin.c
+++ b/esp8266/modpybpin.c
@@ -40,7 +40,8 @@
 #define GPIO_MODE_OUTPUT (1)
 #define GPIO_PULL_NONE (0)
 #define GPIO_PULL_UP (1)
-#define GPIO_PULL_DOWN (2)
+// Removed in SDK 1.1.0
+//#define GPIO_PULL_DOWN (2)
 
 typedef struct _pyb_pin_obj_t {
     mp_obj_base_t base;
@@ -91,15 +92,20 @@ STATIC mp_obj_t pyb_pin_obj_init_helper(pyb_pin_obj_t *self, mp_uint_t n_args, c
 
     // configure the GPIO as requested
     PIN_FUNC_SELECT(self->periph, self->func);
+    #if 0
+    // Removed in SDK 1.1.0
     if ((pull & GPIO_PULL_DOWN) == 0) {
         PIN_PULLDWN_DIS(self->periph);
     }
+    #endif
     if ((pull & GPIO_PULL_UP) == 0) {
         PIN_PULLUP_DIS(self->periph);
     }
+    #if 0
     if ((pull & GPIO_PULL_DOWN) != 0) {
         PIN_PULLDWN_EN(self->periph);
     }
+    #endif
     if ((pull & GPIO_PULL_UP) != 0) {
         PIN_PULLUP_EN(self->periph);
     }
@@ -191,7 +197,7 @@ STATIC const mp_map_elem_t pyb_pin_locals_dict_table[] = {
     { MP_OBJ_NEW_QSTR(MP_QSTR_OUT_PP),    MP_OBJ_NEW_SMALL_INT(GPIO_MODE_OUTPUT) },
     { MP_OBJ_NEW_QSTR(MP_QSTR_PULL_NONE), MP_OBJ_NEW_SMALL_INT(GPIO_PULL_NONE) },
     { MP_OBJ_NEW_QSTR(MP_QSTR_PULL_UP),   MP_OBJ_NEW_SMALL_INT(GPIO_PULL_UP) },
-    { MP_OBJ_NEW_QSTR(MP_QSTR_PULL_DOWN), MP_OBJ_NEW_SMALL_INT(GPIO_PULL_DOWN) },
+    //{ MP_OBJ_NEW_QSTR(MP_QSTR_PULL_DOWN), MP_OBJ_NEW_SMALL_INT(GPIO_PULL_DOWN) },
 };
 
 STATIC MP_DEFINE_CONST_DICT(pyb_pin_locals_dict, pyb_pin_locals_dict_table);