[Top][All Lists]

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

Re: [Tinycc-devel] Largish mob update from me

From: Michael Matz
Subject: Re: [Tinycc-devel] Largish mob update from me
Date: Sun, 18 Dec 2016 05:31:43 +0100 (CET)
User-agent: Alpine 2.20 (LSU 67 2015-01-07)


On Sun, 18 Dec 2016, Michael Matz wrote:

Yes, the changes on that didn't really help. I'll need some more time to really digest the changes (to which I generally agree) but at the outset it looks like it contains some confusion (e.g. a R_X86_64_64 relocation does _not_ normally need a GOT slot or PLT entry (not even for UNDEF symbols) like what was introduced with 6cd23d; then 523b55d introduced the error in gawk because it mishandles UNDEF 64_64 relocs and that never was rectified)

Fixed in mob now. It wasn't really confusion but rather an unfortunate interaction with deficiencies of our linker for which we had no testcase yet. It's true that e.g. R_X86_64_64 (or R_386_32) or other normal data relocs don't need GOT or PLT slots. But when referencing an UNDEF symbol they need to be transferred into the linked file (exe or shared object). But TCC isn't doing that for exes.

So we have to resolve all incoming relocs locally, and that means copy relocs or PLT slots for undefined symbols. But the type of what we need can't be determined by the reloc, but rather if the symbol coming from a shared lib is a function or a data symbol.

gawk is fixed now.


reply via email to

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