From: Alan Modra Date: Sat, 6 Nov 2021 08:01:38 +0000 (+1030) Subject: ubsan: undefined shift in mach-o.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e8f81980cee2d21605e60414a025f8b795147d9f;p=binutils-gdb.git ubsan: undefined shift in mach-o.c This one was logically wrong too. If file_ptr was 64 bits, then -1U is extended to 0x00000000ffffffff, probably not what was intended here. * mach-o.c (FILE_ALIGN): Correct expression. --- diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 1f0d4700811..d90ea3c28ce 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -36,7 +36,7 @@ #define bfd_mach_o_mkobject bfd_mach_o_gen_mkobject #define FILE_ALIGN(off, algn) \ - (((off) + ((file_ptr) 1 << (algn)) - 1) & ((file_ptr) -1U << (algn))) + (((off) + ((ufile_ptr) 1 << (algn)) - 1) & ((ufile_ptr) -1 << (algn))) static bool bfd_mach_o_read_dyld_content (bfd *abfd, bfd_mach_o_dyld_info_command *cmd);