https://github.com/dyung updated https://github.com/llvm/llvm-project/pull/209877
>From 88c69e55f3da48bcebdb425f54431f80ce457c8d Mon Sep 17 00:00:00 2001 From: Amy Kwan <[email protected]> Date: Wed, 15 Jul 2026 15:42:46 -0400 Subject: [PATCH] [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) --- llvm/lib/Object/GOFFObjectFile.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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
