]> git.saurik.com Git - apple/ld64.git/blobdiff - src/other/ObjectDump.cpp
ld64-278.4.tar.gz
[apple/ld64.git] / src / other / ObjectDump.cpp
index 77399863b14a82c69e18c0e405a125d4b9c0e933..6763e1a358938083c21e4cf2229e7677e736b015 100644 (file)
@@ -396,11 +396,13 @@ struct AtomSorter
                                        rightString = (char*)cstringAtom->rawContentPointer();
                                }
                        }
-                       assert(leftString != NULL);
-                       assert(rightString != NULL);
-                       diff = strcmp(leftString, rightString);
-                       if ( diff != 0 )
-                               return (diff < 0);
+                       if ( leftString != rightString ) {
+                               assert(leftString != NULL);
+                               assert(rightString != NULL);
+                               diff = strcmp(leftString, rightString);
+                               if ( diff != 0 )
+                                       return (diff < 0);
+                       }
                }
                else if ( left->section().type() == ld::Section::typeLiteral4 ) {
                        // if literal sort by content
@@ -804,6 +806,7 @@ void dumper::dumpFixup(const ld::Fixup* ref)
                case ld::Fixup::kindStoreThumbHigh16:
                        printf(", then store high-16 in Thumb movt");
                        break;
+#if SUPPORT_ARCH_arm64
                case ld::Fixup::kindStoreARM64Branch26:
                        printf(", then store as ARM64 26-bit pcrel branch");
                        break;
@@ -843,9 +846,7 @@ void dumper::dumpFixup(const ld::Fixup* ref)
                case ld::Fixup::kindStoreARM64PCRelToGOT:
                        printf(", then store as 32-bit delta to GOT entry");
                        break;
-               case ld::Fixup::kindStoreARM64PointerToGOT32:
-                       printf(", then store as 32-bit pointer to GOT entry");
-                       break;
+#endif
                case ld::Fixup::kindDtraceExtra:
                        printf("dtrace static probe extra info");
                        break;
@@ -867,12 +868,14 @@ void dumper::dumpFixup(const ld::Fixup* ref)
                case ld::Fixup::kindStoreThumbDtraceIsEnableSiteClear:
                        printf("Thumb dtrace static is-enabled site");
                        break;
+#if SUPPORT_ARCH_arm64
                case ld::Fixup::kindStoreARM64DtraceCallSiteNop:
                        printf("ARM64 dtrace static probe site");
                        break;
                case ld::Fixup::kindStoreARM64DtraceIsEnableSiteClear:
                        printf("ARM64 dtrace static is-enabled site");
                        break;
+#endif
                case ld::Fixup::kindLazyTarget:
                        printf("lazy reference to external symbol %s", referenceTargetAtomName(ref));
                        break;
@@ -990,6 +993,7 @@ void dumper::dumpFixup(const ld::Fixup* ref)
                case ld::Fixup::kindSetTargetTLVTemplateOffsetLittleEndian64:
                        printf("tlv template offset of %s", referenceTargetAtomName(ref));
                        break;
+#if SUPPORT_ARCH_arm64
                case ld::Fixup::kindStoreTargetAddressARM64Branch26:
                        printf("ARM64 store 26-bit pcrel branch to %s", referenceTargetAtomName(ref));
                        break;
@@ -1023,6 +1027,7 @@ void dumper::dumpFixup(const ld::Fixup* ref)
                case ld::Fixup::kindStoreTargetAddressARM64TLVPLoadNowLeaPageOff12:
                        printf("ARM64 store 12-bit page offset of lea for TLV of %s", referenceTargetAtomName(ref));
                        break;
+#endif
                //default:
                //      printf("unknown fixup");
                //      break;