On Thu, Jan 28, 2016 at 2:26 PM, Renato Golin renato.golin@linaro.org wrote:
We have this bug in LLVM: https://llvm.org/bugs/show_bug.cgi?id=23969 Which deals with the problems of mcount messing up the prologue, and it seems to affect both kernel and chromium.
This is an unrelated problem.
I was delaying the decision to move to __gnu_mcount_nc on ARM unconditionally, but if GCC requires the -mlong-calls option, then I think we could make it work very easily.
GCC does not require -mlong-calls.
This is a specific problem related to the kernel allyesconfig option which enables everything, resulting in a kernel so large, with ld -r combined text sections so large, that we get out-of-range calls that linker relaxation can't fix. I was suggesting -mlong-calls as a workaround, except that it turns out that -mlong-calls -pg doesn't work, because we always emit a short-call to mcount, even when -mlong-calls is specified. That is a minor bug in the gcc ARM port.
Jim