bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/20308] Gold should support i386 TLS code sequences without PLT


From: ncahill_alt at yahoo dot com
Subject: [Bug gold/20308] Gold should support i386 TLS code sequences without PLT
Date: Wed, 17 Aug 2016 11:26:12 +0000

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

--- Comment #5 from ncahill_alt at yahoo dot com ---
Regarding this update, I'm getting a failure on "make testsuite/pr20308a_test":

pr20308_gd.o:function test_gd: error: missing expected TLS relocation
gcctestdir/ld: error: missing expected TLS relocation
pr20308_ld.o:function test_ld: error: missing expected TLS relocation
pr20308_ld.o:function test_ld: error: missing expected TLS relocation
gcctestdir/ld: error: missing expected TLS relocation

I see this message twice in i386.cc:

------ line 634 ----------
    ~Relocate()
    {
      if (this->skip_call_tls_get_addr_)
        {
          // FIXME: This needs to specify the location somehow.
          gold_error(_("missing expected TLS relocation"));
        }
    }

------ line 2787 -----------
  const elfcpp::Rel<32, false> rel(preloc);
  unsigned int r_type = elfcpp::elf_r_type<32>(rel.get_r_info());

  if (this->skip_call_tls_get_addr_)
    {
      if ((r_type != elfcpp::R_386_PLT32
           && r_type != elfcpp::R_386_GOT32X
           && r_type != elfcpp::R_386_PC32)
          || gsym == NULL
          || strcmp(gsym->name(), "___tls_get_addr") != 0)
        gold_error_at_location(relinfo, relnum, rel.get_r_offset(),
                               _("missing expected TLS relocation"));
      else
        {
          this->skip_call_tls_get_addr_ = false;
          return false;
        }
    }
---------------

One thing I notice is this:

00000066 R_386_GOT32       ___tls_get_addr

Hopefully that's the problem.  Also I wonder if it would be helpful to make
those two error messages slightly different so one could pick out which is
which.

Thank you.
Neil.

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]