<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Fix ld -r to process i386 relocs same as ld_classic

--- src/ld/LinkEditClassic.hpp
+++ src/ld/LinkEditClassic.hpp
@@ -1363,8 +1363,8 @@ void SectionRelocationsAtom&lt;x86&gt;::encodeSectionReloc(ld::Internal::FinalSection*
 			}
 			else {
 				// regular pointer
-				if ( !external &amp;&amp; (entry.toAddend != 0) ) {
-					// use scattered reloc is target offset is non-zero
+				if ( !external &amp;&amp; (entry.toAddend != 0) &amp;&amp; (entry.toTarget-&gt;symbolTableInclusion() != ld::Atom::symbolTableNotIn) ) {
+					// use scattered reloc if target offset is non-zero into named atom (5658046)
 					sreloc1-&gt;set_r_scattered(true);
 					sreloc1-&gt;set_r_pcrel(false);
 					sreloc1-&gt;set_r_length(2);
</pre></body></html>