inline-unit-growth trouble

Christopher Jefferson caj@cs.york.ac.uk
Fri Apr 15 19:05:00 GMT 2005


Richard Guenther wrote:
> On 4/15/05, Andreas Krebbel <krebbel1@de.ibm.com> wrote:
> 
>>Hi,
>>
>>on S/390 we have currently a plenty of testsuite failures
>>due to inlining effects.
>>
>>ld complains about testcases which try to link two files containing the same function
>>in .gnu.linkonce sections but with different code sizes. The sizes differ due
>>to different inlining decisions. The problem is that inlining maybe
>>prevented by global limits which maybe exceeded for one file but not for
>>the other.
>>The actual problem occurred with the "inline-unit-growth" limit which
>>may prevent inlining for a function in one file and allow it for the same
>>function in another.
>>
>>I'm not sure how to fix that issue. To my mind the whole concept of per unit
>>limits influencing local inlining decisions seems a bit questionable.
> 
> 
> Why does the linker not just pick either of the functions?  The size
> difference should not matter.
> 

Is it really the job of the linker to choose between different 
implementations of a function? It seems to me that this might lead to 
very, very difficult to track down bugs....



More information about the Gcc mailing list