diff --git a/linker/arch/x86/begin.c b/linker/arch/x86/begin.c
index 2ca15c4..4f3e0ab 100755
--- a/linker/arch/x86/begin.c
+++ b/linker/arch/x86/begin.c
@@ -26,14 +26,15 @@
  * SUCH DAMAGE.
  */
 
+#include <stdint.h>
+
 extern unsigned __linker_init(unsigned int *elfdata);
 
 __attribute__((visibility("hidden")))
 void _start() {
-  void *elfdata;
   void (*start)(void);
 
-  elfdata = __builtin_frame_address(0) + sizeof(void *);
+  void* elfdata = (void*) ((uintptr_t) __builtin_frame_address(0) + sizeof(void*));
   start = (void(*)(void))__linker_init(elfdata);
 
   /* linker init returns (%eax) the _entry address in the main image */
diff --git a/linker/linker_format.cpp b/linker/linker_format.cpp
index 65c6264..c56d8a1 100644
--- a/linker/linker_format.cpp
+++ b/linker/linker_format.cpp
@@ -371,14 +371,14 @@
     while (value) {
         unsigned d = value % base;
         value /= base;
-        if (pos < end) {
+        if (pos != end) {
             *pos++ = digits[d];
         }
     }
 
     /* special case for 0 */
     if (pos == buffer) {
-        if (pos < end) {
+        if (pos != end) {
             *pos++ = '0';
         }
     }
@@ -387,7 +387,7 @@
     /* now reverse digit string in-place */
     end = pos - 1;
     pos = buffer;
-    while (pos < end) {
+    while (pos != end) {
         int ch = pos[0];
         pos[0] = end[0];
         end[0] = (char) ch;
