[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] No lazy PLTGOT relocation for TinyCC generated executable
From: |
Thomas Preud'homme |
Subject: |
[Tinycc-devel] No lazy PLTGOT relocation for TinyCC generated executables |
Date: |
Mon, 18 May 2015 19:46:26 +0800 |
User-agent: |
K-9 Mail for Android |
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] No lazy PLTGOT relocation for TinyCC generated executables,
Thomas Preud'homme <=