------- Comment #12 from rainer at emrich-ebersheim dot de 2009-10-20 18:04 ------- First of all, it's nearly impossible to create a short self contained test case, at least for me. The function get_got in bfd/elf64-ia64.c shows the issue. Resolving the dependencies of this function is like opening a can of worms.
What I have: I verified that enclosing only the get_got function in #pragma GCC optimize ("ipa-sra", "no-inline") . . #pragma GCC reset_options yields the fault. In contrast enclosing the get_got function in #pragma GCC optimize ("no-ipa-sra", "no-inline") . . #pragma GCC reset_options gives a working ia64-unknown-linux-gnu-ld. I'm attaching both versions as preprocessed source. compiling these with gcc -g -O2 -S produces the correspondent assembler output, also attached. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41750