Re[4]: [Gc] Alpha issue running test_stack (Debian Bug #680100)

Ivan Maidanski ivmai at mail.ru
Fri Nov 9 02:10:37 PST 2012


Hi Michael,

I've committed the workaround (avoiding __builtin_expect in AO_stack_pop_explicit_aux_acquire for gcc-4/alpha): https://github.com/ivmai/libatomic_ops/commit/00d7cb807015b109df11b9227fbc7f35babdee16
(But, of course, it would be good if someone report/fix bug in gcc.)

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680100#15

Regards,
Ivan

Tue, 23 Oct 2012 11:37:33 +1300 Michael Cree <mcree at orcon.net.nz>:
>	
>
>
	
	
>
		
		
			
>On 22/10/2012, at 8:08 PM, Ivan Maidanski wrote:
>
> I guess you haven't got time to inspect assembly of broken code 
>
> (Alpha target).
>
>
I was busy at the time but then I totally forgot about this!
>
>
> I think it would be ok for now, just to find which use of 
>
> AO_EXPECT_FALSE results in broken code and create a workaround 
>
> avoiding AO_EXPECT_FALSE exactly at that place.
>
>
Interestingly doing any one of options 2 or 3 result in the test suite 
>
passing.
>
>
> 2. AO_stack_pop_explicit_aux_acquire:
>
>   if (AO_EXPECT_FALSE(first != AO_load(list))) {
>
> ->
>
>   if (first != AO_load(list)) {
>
>
>
> 3. AO_stack_pop_explicit_aux_acquire:
>
>   if (AO_EXPECT_FALSE(!AO_compare_and_swap_release(list, first, 
>
> next))) {
>
> ->
>
>   if (!AO_compare_and_swap_release(list, first, next)) {
>
>
They are quite close together in the code.  I wonder if there is some 
>
interaction between them.  I really must look at the generated 
>
assembly to see if the compiler is at fault but that will probably 
>
have to wait another day or two.
>
>
Cheers
>
Michael.
>
>
>
_______________________________________________
>
Gc mailing list
>Gc at linux.hpl.hp.com
>http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
>
			
		
		
	

	
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://napali.hpl.hp.com/pipermail/gc/attachments/20121109/f5c018b8/attachment-0001.htm


More information about the Gc mailing list