Author: Amy Kwan Date: 2026-07-16T16:27:50Z New Revision: 88c69e55f3da48bcebdb425f54431f80ce457c8d
URL: https://github.com/llvm/llvm-project/commit/88c69e55f3da48bcebdb425f54431f80ce457c8d DIFF: https://github.com/llvm/llvm-project/commit/88c69e55f3da48bcebdb425f54431f80ce457c8d.diff LOG: [Object][GOFF] Recognize RLD and LEN records (#207118) This patch adds explicit cases for RT_RLD and RT_LEN records when parsing GOFF objects. These record types are not handled yet, but recognizing them allows us to diagnose them and avoids teating them as unexpected records. (cherry picked from commit c40401dd8d28e88519433531c041b0b7e5ada8a9) Added: Modified: llvm/lib/Object/GOFFObjectFile.cpp Removed: ################################################################################ diff --git a/llvm/lib/Object/GOFFObjectFile.cpp b/llvm/lib/Object/GOFFObjectFile.cpp index 4ee51a61c14fa..057d3fc208c9b 100644 --- a/llvm/lib/Object/GOFFObjectFile.cpp +++ b/llvm/lib/Object/GOFFObjectFile.cpp @@ -170,6 +170,12 @@ GOFFObjectFile::GOFFObjectFile(MemoryBufferRef Object, Error &Err) TextPtrs.emplace_back(I); LLVM_DEBUG(dbgs() << " -- TXT\n"); break; + case GOFF::RT_RLD: + LLVM_DEBUG(dbgs() << " -- RLD (GOFF record type) unhandled\n"); + break; + case GOFF::RT_LEN: + LLVM_DEBUG(dbgs() << " -- LEN (GOFF record type) unhandled\n"); + break; case GOFF::RT_END: LLVM_DEBUG(dbgs() << " -- END (GOFF record type) unhandled\n"); break; @@ -177,7 +183,10 @@ GOFFObjectFile::GOFFObjectFile(MemoryBufferRef Object, Error &Err) LLVM_DEBUG(dbgs() << " -- HDR (GOFF record type) unhandled\n"); break; default: - llvm_unreachable("Unknown record type"); + Err = createStringError(object_error::parse_failed, + "record %zu has unknown record type 0x%02" PRIX8, + RecordNum, RecordType); + return; } PrevRecordType = RecordType; PrevContinuationBits = I[1] & 0x03; _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
