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
