Author: Fangrui Song
Date: 2020-12-20T10:39:59-08:00
New Revision: 43327ba98da138d9d87e13f65675a0b600dae018

URL: 
https://github.com/llvm/llvm-project/commit/43327ba98da138d9d87e13f65675a0b600dae018
DIFF: 
https://github.com/llvm/llvm-project/commit/43327ba98da138d9d87e13f65675a0b600dae018.diff

LOG: [Object] Fix LFFile<ELFT>::getEntry on sizeof(size_t)==4 platforms

This should fix:

Failed Tests (2):
  LLVM-Unit :: Object/./ObjectTests/ELFObjectFileTest.InvalidSymbolTest
  LLVM :: tools/llvm-readobj/ELF/relocation-errors.test

Added: 
    

Modified: 
    llvm/include/llvm/Object/ELF.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h
index 25f2df47781b..a5233bd3ac10 100644
--- a/llvm/include/llvm/Object/ELF.h
+++ b/llvm/include/llvm/Object/ELF.h
@@ -625,10 +625,11 @@ Expected<const T *> ELFFile<ELFT>::getEntry(const 
Elf_Shdr &Section,
 
   ArrayRef<T> Arr = *EntriesOrErr;
   if (Entry >= Arr.size())
-    return createError("can't read an entry at 0x" +
-                       Twine::utohexstr(Entry * sizeof(T)) +
-                       ": it goes past the end of the section (0x" +
-                       Twine::utohexstr(Section.sh_size) + ")");
+    return createError(
+        "can't read an entry at 0x" +
+        Twine::utohexstr(Entry * static_cast<uint64_t>(sizeof(T))) +
+        ": it goes past the end of the section (0x" +
+        Twine::utohexstr(Section.sh_size) + ")");
   return &Arr[Entry];
 }
 


        
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to