On 29.08.2026 04:58, Richard Wheeler wrote:
Dropped attr->plt_sym too, per your note - didn't want to repurpose an
existing internal-linker field's meaning either. The per-symbol descriptor
cache now lives entirely in struct macho (tccmacho.c-private, not shared
with tccelf.c or any other backend): a plain (orig sym_index, desc
sym_index) array, threaded through the existing check_relocs()/mo
parameter and the pre-pass.

Look, it is no progress if you drop one thing only to install
something equal just more complicated.  We must not allow AI to
waste our time with its hallucinations.

There is no need for a descriptor cache or anything similar and
there is no need to modify check_relocs().

This already has been proven finally by the first variant of the
patch from Aug, 4, which did have other kinds of unnecessary things
but not this kind of unnecessary things.

So let's move forwards and not backwards, let's drop any tentative
anti-feature additions in code_reloc(), let's not install others
elsewhere, and let's fix that "pre-pass" or whatever you name it
instead, finally.

Btw. TLS variables not necessarily need to use the GOT, for example
'static' ones don't.  Also TLS variables may be 'extern'. that is
undefined in the current module but imported from a .dylib.  The
macho linker can handle these cases with no problems but it wont
anymore if you change how it works.

/* blr below may clobber x0-x17:

... not true, btw.

_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to