https://sourceware.org/bugzilla/show_bug.cgi?id=16945

--- Comment #1 from Alexander Ivchenko <aivchenk at gmail dot com> ---
Here is where 32 bit $0xfffffff8 came from:

x86_64.cc:3329 for R_X86_64_GOT64:
------
  bool have_got_offset = false;
  unsigned int got_offset = 0;
  switch (r_type)
    {
    case elfcpp::R_X86_64_GOT32:
    case elfcpp::R_X86_64_GOT64:
    case elfcpp::R_X86_64_GOTPLT64:
    case elfcpp::R_X86_64_GOTPCREL:
    case elfcpp::R_X86_64_GOTPCREL64:
      if (gsym != NULL)
        {
          gold_assert(gsym->has_got_offset(GOT_TYPE_STANDARD));
          got_offset = gsym->got_offset(GOT_TYPE_STANDARD) -
target->got_size();
        }
------

Why is got_offset an unsigned int? Sometimes it is section_offset_type and
sometimes it is unsigned int..

Although, changing it to section_offset_type didn't help.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to