Greetings! Last followup: Nothing here should affect any kfreebsd_amd64 machine, right? My understanding is that these do not require cache flushing. Thus the failure: https://buildd.debian.org/status/fetch.php?pkg=acl2&arch=kfreebsd-amd64&ver=4.3-1&stamp=1326315213 mv *saved_acl2.gcl saved_acl2 /usr/bin/make mini-proveall make[1]: Entering directory `/build/buildd-acl2_4.3-1-kfreebsd-amd64-SScGlk/acl2-4.3' Aborted make[1]: *** [mini-proveall] Error 134 make[1]: Leaving directory `/build/buildd-acl2_4.3-1-kfreebsd-amd64-SScGlk/acl2-4.3' make: *** [debian/mini-proveall.out] Error 2 which has shown up on * Host name:fasch.debian.org * Architecture:kfreebsd-amd64 * Distribution:Debian GNU/Linux * Sponsor: + Greek Research and Technology Network (GRNET) (hosting) + Nordic Gaming (hardware) * Processor:PowerEdge 1855 and * Host name:fano.debian.org * Architecture:kfreebsd-amd64 * Distribution:Debian GNU/kFreeBSD * Sponsor: + University of British Columbia - Department of Electrical and Computer Engineering (hosting) + Hewlett-Packard (hardware) but is not reproducible on * Host name:asdfasdf.debian.net * Architecture:kfreebsd-amd64 * Distribution:Debian GNU/kFreeBSD * Sponsor: + ETH Zurich - Department of Physics (hosting+hw) * Processor:AMD Sempron 3000+ 1600 MHz is not related? Thanks so much! Richard Henderson <rth@xxxxxxxxxx> writes: > On 05/03/2012 10:51 AM, Camm Maguire wrote: >> The goal was to exercise the very helpful gcc __builtin___clear_cache >> support, and to avoid having to maintain our own assembler for all the >> different cpus in this regard. Clearly, it is easy to revert this on a >> per architecture basis if absolutely necessary. If gcc does or does not >> plan on fixing this, please let me know so gcl can adjust as needed. > > While we can probably fix this, you should know that __builtin_clear_cache > is highly tied to the implementation of trampolines for the target. Thus > there are at least 3 targets that do not handle this "properly": > > For alpha, we emit imb directly during the trampoline_init target hook. > > For powerpc32, the libgcc routine __clear_cache is unimplemented, but the > cache flushing for trampolines is inside the __trampoline_setup routine. > > For powerpc64 and ia64, the ABI for function calls allows trampolines to > be implemented without emitting any insns, and thus the icache need not be > flushed at all. And thus we never bothered implementing __builtin_clear_cache. > > So, the fact of the matter is that you can't reliably use this builtin for > arbitrary targets for any gcc version up to 4.7. Feel free to submit an > enhancement request via bugzilla so that we can remember to address this > for gcc 4.8. > > > > r~ > > > > -- Camm Maguire camm@xxxxxxxxxxxxxxxxx ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah -- To unsubscribe from this list: send the line "unsubscribe linux-alpha" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html