Consider: GLOBAL(large_global_at_small_global) GLOBAL(small_global_at_large_global) STORE(REG0,REG0) NO_OP SIZE(small_global_at_large_global) NO_OP SIZE(large_global_at_small_global) it appears large_global_at_small_global is returned, but I suspect the selection is unstable given: $ nm -p -S frysk-core/frysk/pkglibdir/funit-symbols| grep -e small_global_at_large_global -e large_global_at_small_global 080483ca 00000004 T large_global_at_small_global 080483ca 00000003 T small_global_at_large_global it's choosing the first one.
You are right that it chooses the first one in the symbol table. I think choosing the smaller one is the better behavior.
Fixed upstream.
This issue should be resolved by elfutils-0.130. If there is still a problem, reopen or file a new bug report with complete test case details.
elfutils-0.130-3.fc7 has been pushed to the Fedora 7 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update elfutils'
elfutils-0.131-1.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report.