diff --git a/linker/linker.cpp b/linker/linker.cpp
index 36e5b2e..e0fec0f 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -1320,25 +1320,33 @@
          */
 
         switch (type) {
-          case R_GENERIC_JUMP_SLOT:
-          case R_GENERIC_GLOB_DAT:
-          case R_GENERIC_RELATIVE:
-          case R_GENERIC_IRELATIVE:
 #if defined(__aarch64__)
+          case R_AARCH64_JUMP_SLOT:
+          case R_AARCH64_GLOB_DAT:
           case R_AARCH64_ABS64:
           case R_AARCH64_ABS32:
           case R_AARCH64_ABS16:
-#elif defined(__x86_64__)
-          case R_X86_64_32:
-          case R_X86_64_64:
-          case R_X86_64_PC32:
-#endif
+          case R_AARCH64_RELATIVE:
+          case R_AARCH64_IRELATIVE:
             /*
              * The sym_addr was initialized to be zero above, or the relocation
              * code below does not care about value of sym_addr.
              * No need to do anything.
              */
             break;
+#elif defined(__x86_64__)
+          case R_X86_64_JUMP_SLOT:
+          case R_X86_64_GLOB_DAT:
+          case R_X86_64_32:
+          case R_X86_64_64:
+          case R_X86_64_RELATIVE:
+          case R_X86_64_IRELATIVE:
+            // No need to do anything.
+            break;
+          case R_X86_64_PC32:
+            sym_addr = reloc;
+            break;
+#endif
           default:
             DL_ERR("unknown weak reloc type %d @ %p (%zu)", type, rela, idx);
             return -1;
@@ -1505,7 +1513,7 @@
         TRACE_TYPE(RELO, "RELO R_X86_64_PC32 %08zx <- +%08zx (%08zx - %08zx) %s",
                    static_cast<size_t>(reloc), static_cast<size_t>(sym_addr - reloc),
                    static_cast<size_t>(sym_addr), static_cast<size_t>(reloc), sym_name);
-        *reinterpret_cast<ElfW(Addr)*>(reloc) = (sym_addr == 0 ? 0 : sym_addr - reloc) + rela->r_addend;
+        *reinterpret_cast<ElfW(Addr)*>(reloc) = sym_addr + rela->r_addend - reloc;
         break;
 #endif
 
