Hi all, I'm currently working on distention, cleaning up and refactoring tccelf.c. The process already uncovered some bugs and one of them is that PLT0 is broken for ARM [1]. Since binaries are working, I investigated and found that the lazy relocation of PLTGOT entries is not in effect. When _start is run, PLTGOT entries already hold their final values.
I tries comparing the output of readelf -a for an hello world program but there are too many differences and I didn't spot anything obvious. So I'm turning to you dear TinyCC community[2] for some explanation. Why does ld.so behave as if RTLD_BIND_NOW was set when running TinyCC generated executables? [1] it lacks an extra 4 bytes to hold offset to GOT and code in relocate_plt to write the offset in that space. [2] Michael, I'm asking you explicitly since you are one of the author of the System V ABI for x86_64 and thus probably know a fair amount on the subject. _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel