Le dimanche 22 février 2015, 06:13:21 Michael Matz a écrit : > Hi, >
> > And I pulled my hair out again when tracing the different paths the > linker can go through in different modes, and how the relocs and symbol > values change over the course of compilation. One of those days ... :-) I think that's the next thing I'm going to work on. And then maybe simplify the Makefile and configure machinery but that's less fun and easier to break in my experience. I already started looking at bind_exe_dynsyms and why it's needed. All I can say for now is that without it the linking fails on x86-64 because of unresolved __libc_start_main. This is unsurprisingly provided by the libc. From what I understand a symbol is considered unresolved if it cannot be found in the dynsym section of the output file and it seems only relocation handled in build_got_entries leads to a dynsym being created. However __libc_start_main has a R_X86_64_PC32 that doesn't lead to a got + plt so no entry created in dynsym. I probably won't write any code tonight and it'll take time but we'll get things cleaned up eventually. Best regards, Thomas
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
