gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] clear_cache on Alpha architecture not implemented?


From: Camm Maguire
Subject: Re: [Gcl-devel] clear_cache on Alpha architecture not implemented?
Date: Fri, 04 May 2012 10:07:23 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

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 <address@hidden> 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                                        address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



reply via email to

[Prev in Thread] Current Thread [Next in Thread]