bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/13671] gld creates i386 relocations not supported by Solaris ld.


From: hjl.tools at gmail dot com
Subject: [Bug ld/13671] gld creates i386 relocations not supported by Solaris ld.so.1
Date: Tue, 10 Jan 2023 20:38:06 +0000

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

--- Comment #26 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Rainer Orth from comment #25)
> Created attachment 14568 [details]
> Augmented patch

@@ -2853,9 +2866,18 @@ elf_i386_relocate_section (bfd *output_b
                                         relend, h, r_symndx, true))
            return false;

-         if (r_type_tls == R_386_TLS_LE_32)
+         if (r_type_tls == R_386_TLS_LE_32
+             || (r_type_tls == R_386_TLS_LE
+                 && htab->elf.target_os == is_solaris))

Please add and check "expected_tls_le".
            {
-             BFD_ASSERT (! unresolved_reloc);
+             /* NB: Solaris only supports R_386_TLS_GD->R_386_TLS_LE.  */
+             BFD_ASSERT (! unresolved_reloc
+                         && (htab->elf.target_os != is_solaris
+                             || (htab->elf.target_os == is_solaris
+                                 && (r_type == R_386_TLS_GD
+                                     || r_type == R_386_TLS_IE
+                                     || r_type == R_386_TLS_GOTIE)
+                                 && r_type_tls == R_386_TLS_LE)));

No need to check R_386_TLS_LE here with "expected_tls_le".

-- 
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]