Hello grischka, I had to revert a small part of your da8c62 commit ("various stuff"):
tccasm.c: - keep forward asm labels static, otherwise they will endup in dynsym eventually. A symbol which stays undefined until the end is implicitely STB_GLOBAL, even without a .globl directive. I've added a testcase to that effect. Before just reverting the hunk I've tried to move it somewhere else in order not to lose the effect mentioned above. But in the end I wasn't really successful in constructing a testcase where such symbol ends up in dynsym when it shouldn't. E.g. local labels (the numeric ones) are always already constructed as VT_STATIC. And normal labels are also created VT_STATIC, except if they already were associated with a .globl directive. So I don't really see how the problem above could have happened. To recollect, give the following assembler snippet: jmp 1f local: call local call undefined call global .globl global global: 1: nop the symbols L..1 and local need to be STB_LOCAL, while undefined and global need to be STB_GLOBAL. So, if you have a testcase or remember the situation that you tried to fix, can you tell me which one it was? :) Ciao, Michael. _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel