Hi Benjamin, Several people (including me) are hitting this bug on ARM: http://llvm.org/bugs/show_bug.cgi?id=15429>From my investigations it happens on Ubuntu 12.10+ but not on 12.04. FromTom Gail's, it happens with --enable-optimized and doesn't without. You seem to have a clue on what that happens, can you shed some light on the matter? I see this error when self-hosting Clang on Ubuntu 12.10 on ARM but hadn't had time to investigate with the release process running on Ubuntu 12.04. We can certainly help you debug this, or if you point me to the right place I can do some tests and send a patch as soon as possible. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130510/6750e53c/attachment.html>
I think this is two bugs in one: * In ABIs that don't use external functions for atomics (linux hard float at least), we incorrectly decide to use function calls. * In ABIs that do use external function calls (non hard float linux?), we don't have code to actually generate the calls. See the thread in http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130415/078021.html. The hard float case has been in my personal todo list for some time, but I never got to it :-( On 9 May 2013 19:14, Renato Golin <renato.golin at linaro.org> wrote:> Hi Benjamin, > > Several people (including me) are hitting this bug on ARM: > > http://llvm.org/bugs/show_bug.cgi?id=15429 > > From my investigations it happens on Ubuntu 12.10+ but not on 12.04. From > Tom Gail's, it happens with --enable-optimized and doesn't without. You seem > to have a clue on what that happens, can you shed some light on the matter? > > I see this error when self-hosting Clang on Ubuntu 12.10 on ARM but hadn't > had time to investigate with the release process running on Ubuntu 12.04. We > can certainly help you debug this, or if you point me to the right place I > can do some tests and send a patch as soon as possible. > > cheers, > --renato > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
On 10 May 2013 16:21, Rafael Espíndola <rafael.espindola at gmail.com> wrote:> * In ABIs that don't use external functions for atomics (linux hard > float at least), we incorrectly decide to use function calls. >This seems to be the problem in my box, and Benjamin's hint did solve the problem (setting MaxAtomicInlineWidth). However, I'm not sure what relation that variable has to do with choosing library calls or not. If it's just a matter of variable sizes (allowing direct atomic calls on 64-bit VFP instructions), that it's possible that the fix is correct. I have applied it and Clang compiles code that it wouldn't previously, but I'm waiting for the build to finish to self-host Clang itself, which is the ultimate test. I'll keep you posted. * In ABIs that do use external function calls (non hard float linux?),> we don't have code to actually generate the calls. >You mean in Clang? Or a library? See the thread in> > http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130415/078021.html > . >>From this discussion, seems that compiler-rt is the wrong fix. Shouldn'tthis be provided by libstdc++? cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130510/0d8aa07e/attachment.html>