diff --git a/springbok/CMakeLists.txt b/springbok/CMakeLists.txt
index a3261e4..365e1ac 100644
--- a/springbok/CMakeLists.txt
+++ b/springbok/CMakeLists.txt
@@ -6,7 +6,6 @@
 target_sources(springbok_intrinsic
     PRIVATE
       crt0.S
-      irq_vector.S
       springbok_gloss.cpp
       springbok.cpp
 )
diff --git a/springbok/crt0.S b/springbok/crt0.S
index 68351ce..5adebba 100644
--- a/springbok/crt0.S
+++ b/springbok/crt0.S
@@ -34,6 +34,7 @@
         mv   t5, zero
         mv   t6, zero
 
+#ifndef LIBSPRINGBOK_NO_VECTOR_SUPPORT
         ###############################################
         # Put all vector registers into a known state #
         ###############################################
@@ -56,7 +57,9 @@
         # Set vector extension to "clean"
         xori a0, a0, 0x600
         csrw mstatus, a0
+#endif
 
+#ifndef LIBSPRINGBOK_NO_FLOAT_SUPPORT
         ###############################################################
         # Reset all other CSRs, and perform any other processor setup #
         ###############################################################
@@ -65,8 +68,12 @@
         li a1, 0x2000
         or a0, a0, a1
         csrw mstatus, a0
+#endif
+
+#ifndef LIBSPRINGBOK_NO_EXCEPTION_SUPPORT
         la a0, exception_handler
         csrw mtvec, a0
+#endif
 
         #############################################################
         # Set up stack sentinels                                    #
@@ -157,11 +164,18 @@
         addi sp, sp, 16
 
 _finish:
-        # Store the application's return value onto the stack
+#ifndef LIBSPRINGBOK_NO_EXCEPTION_SUPPORT
+        # Store the application's return value and machine exception program
+        # counter onto the stack
         addi sp, sp, -8
         sw   a0, 0(sp)
         csrr t0, mepc
         sw   t0, 4(sp)
+#else
+        # Store the application's return value onto the stack
+        addi sp, sp, -4
+        sw   a0, 0(sp)
+#endif
 1:
         .word 0x0000307B # finish (encoded as custom3<func3=3>)
         j    1b
@@ -242,6 +256,7 @@
 2:      li   a0, 1
         ret
 
+#ifndef LIBSPRINGBOK_NO_EXCEPTION_SUPPORT
 .weak exception_handler
 exception_handler:
         # Exception occurred
@@ -274,3 +289,4 @@
 .weak print_csrs
 print_csrs:
         mret
+#endif
diff --git a/springbok/irq_vector.S b/springbok/irq_vector.S
deleted file mode 100644
index 1787f67..0000000
--- a/springbok/irq_vector.S
+++ /dev/null
@@ -1,8 +0,0 @@
-  // Exception handler.
-  .section .vectors, "ax"
-  .option norvc
-  .option push
-  .option norelax
-  .org 0x00
-  j _start
-  j exception_handler
diff --git a/springbok/matcha.ld b/springbok/matcha.ld
index ab5d339..639f700 100644
--- a/springbok/matcha.ld
+++ b/springbok/matcha.ld
@@ -13,14 +13,10 @@
 PROVIDE( _stack_start_sentinel = ORIGIN(DTCM) + LENGTH(DTCM) - STACK_SIZE );
 PROVIDE( _stack_end_sentinel = ORIGIN(DTCM) + LENGTH(DTCM) - 64 );
 
-_boot_address = ORIGIN(ITCM);
-ENTRY(_boot_address)
+ENTRY(_start)
 
 SECTIONS
 {
-        .vectors _boot_address : ALIGN(4) {
-                KEEP(*(.vectors))
-        } > ITCM
         .text :
         {
                 _stext = .;
diff --git a/springbok/springbok.cpp b/springbok/springbok.cpp
index 514eda0..d6d659e 100644
--- a/springbok/springbok.cpp
+++ b/springbok/springbok.cpp
@@ -1,6 +1,8 @@
 #include <stdint.h>
 #include "springbok.h"
 
+#ifndef LIBSPRINGBOK_NO_EXCEPTION_SUPPORT
+
 extern "C" void print_csrs(void) {
     uint32_t mcause;
     uint32_t mepc;
@@ -40,6 +42,10 @@
     LOG_ERROR("MIMPID:\t\t0x%08X", static_cast<unsigned int>(mimpid));
  }
 
+#endif
+
+#ifndef LIBSPRINGBOK_NO_FLOAT_SUPPORT
+
 // Helper function for float_to_str. Copies a string into the output buffer.
 static void print_str(char *buffer, const int len, int *l, const char *str) {
   for (int i = 0; str[i] != '\0'; i++) {
@@ -222,3 +228,13 @@
   // Return the number of characters needed for display.
   return l;
 }
+
+#else  // defined(LIBSPRINGBOK_NO_FLOAT_SUPPORT)
+
+extern "C" int float_to_str(const int len, char *buffer, const float value) {
+  // Dummy function since float support is disabled in libspringbok
+  LOG_ERROR("float_to_str is disabled because libspringbok was compiled without float support");
+  return 0;
+}
+
+#endif
