https://gcc.gnu.org/g:57f1f6bc2fdf42cc6dceaa6b104dd4c9bb84e622

commit r14-12188-g57f1f6bc2fdf42cc6dceaa6b104dd4c9bb84e622
Author: Siddhesh Poyarekar <[email protected]>
Date:   Mon Nov 24 20:32:08 2025 -0500

    lto/122515: Avoid using SSIZE_MAX
    
    SSIZE_MAX may not always be available, so build it using (size_t) -1
    instead.
    
    gcc/lto/ChangeLog:
    
            PR lto/122515
            * lto-common.cc (lto_read_section_data): Avoid using SSIZE_MAX.
    
    Signed-off-by: Siddhesh Poyarekar <[email protected]>
    (cherry picked from commit fb9b614c675f66a7979a5f37ef60f32fab73abdd)

Diff:
---
 gcc/lto/lto-common.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/lto/lto-common.cc b/gcc/lto/lto-common.cc
index 21feb895a0eb..6c19961c077c 100644
--- a/gcc/lto/lto-common.cc
+++ b/gcc/lto/lto-common.cc
@@ -2420,7 +2420,7 @@ lto_read_section_data (struct lto_file_decl_data 
*file_data,
 
   computed_offset = offset & ((off_t) page_mask);
   diff = offset - computed_offset;
-  if (len > (size_t) (SSIZE_MAX - diff))
+  if (len > (((size_t) -1) >> 1) - diff)
     {
       fatal_error (input_location, "Cannot map %s: section is too long",
                   file_data->file_name);

Reply via email to