diff --git a/compiler/bindings/c/iree/compiler/loader/loader.cpp b/compiler/bindings/c/iree/compiler/loader/loader.cpp
index 0469b2f..3785bc2 100644
--- a/compiler/bindings/c/iree/compiler/loader/loader.cpp
+++ b/compiler/bindings/c/iree/compiler/loader/loader.cpp
@@ -63,13 +63,6 @@
 } // namespace
 #endif
 
-// Some operating systems have a prefix for cdecl exported symbols.
-#if __APPLE__
-#define IREE_CDECL_SYMBOL_PREFIX "_"
-#else
-#define IREE_CDECL_SYMBOL_PREFIX ""
-#endif
-
 namespace {
 DlHandle libraryHandle = nullptr;
 
@@ -101,7 +94,7 @@
 
   // Resolve the api version separately.
   int (*apiVersionFn)() = (int (*)())lookupLibrarySymbol(
-      localLibraryHandle, IREE_CDECL_SYMBOL_PREFIX "ireeCompilerGetAPIVersion");
+      localLibraryHandle, "ireeCompilerGetAPIVersion");
   if (!apiVersionFn) {
     fprintf(stderr, "IREE COMPILER ERROR: Could not find symbol "
                     "'ireeCompilerGetAPIVersion'\n");
@@ -112,11 +105,11 @@
   int apiMajor = packedApiVersion >> 16;
 
 #define HANDLE_SYMBOL(fn_name)                                                 \
-  __##fn_name = (decltype(__##fn_name))lookupLibrarySymbol(                    \
-      localLibraryHandle, IREE_CDECL_SYMBOL_PREFIX #fn_name);                  \
+  __##fn_name = (decltype(__##fn_name))lookupLibrarySymbol(localLibraryHandle, \
+                                                           #fn_name);          \
   if (!__##fn_name) {                                                          \
     fprintf(stderr, "IREE COMPILER ERROR: Could not find symbol '%s'\n",       \
-            IREE_CDECL_SYMBOL_PREFIX #fn_name);                                \
+            #fn_name);                                                         \
     return false;                                                              \
   }
 #define HANDLE_VERSIONED_SYMBOL(fn_name, availApiMajor, availApiMinor)         \
